tox log fills with 'Unexpected error occurred while processing Exception'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.utils |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
In the Trove py27 tests, with oslo.utils 2.6.0 the following error fills the log and causes the process to seem to hang (it'll run for hours).
015-10-14 20:04:30.153 21155 ERROR root [-] Unexpected error occurred while processing Exception
015-10-14 20:04:30.153 21155 ERROR root Traceback (most recent call last):
015-10-14 20:04:30.153 21155 ERROR root File "/opt/trove/
015-10-14 20:04:30.153 21155 ERROR root time.sleep(1)
015-10-14 20:04:30.153 21155 ERROR root File "/opt/trove/
015-10-14 20:04:30.153 21155 ERROR root raise RuntimeError(
015-10-14 20:04:30.153 21155 ERROR root RuntimeError: Sleeping for no reason.
from /opt/trove/
def forever_
def inner_func(*args, **kwargs):
exc_count = 0
while True:
try:
except Exception as exc:
if this_exc_message == last_exc_message:
# Do not log any more frequently than once a minute unless
# the exception message changes
if (cur_time - last_log_time > 60 or
# This should be a very rare event. In case it isn't, do
# a sleep.
return inner_func
from /opt/trove/
def fake_sleep(
"""Simulates sleep.
Puts the coroutine which calls it to sleep. If a coroutine object is not
associated with the caller this will fail.
"""
global sleep_allowance
sleep_allowance -= 1
if not other_threads_
if sleep_allowance < -1:
raise RuntimeError(
else:
return # Forgive the thread for calling this for one time.
sleep_allowance = allowable_
cr = Coroutine.
for ft in fake_threads:
if ft['greenlet'].id == cr.id:
cr.sleep()
This seems to have been caused by: https:/
It may be fixed already by : https:/
If that is the case, we (in Trove) may need a something like the following in global-
oslo.utils>
Thx!
Changed in oslo.utils: | |
status: | New → Fix Committed |
Changed in oslo.utils: | |
milestone: | none → 2.7.0 |
status: | Fix Committed → Fix Released |