improve debugging

This commit is contained in:
holger krekel
2020-07-16 00:24:49 +02:00
parent 90be708791
commit e07869ae95
5 changed files with 16 additions and 7 deletions

View File

@@ -615,8 +615,14 @@ class Account(object):
# the following wait is left out for now because it can fail if
# a) python code holds an extra self._dc_context reference
# b) the core does not manage to send a NULL through get_next_event()
# self.log("wait for event thread to finish")
# self._event_thread.wait()
self.log("wait for event thread to finish")
try:
self._event_thread.wait(timeout=2)
except RuntimeError as e:
self.log("Could not wait for thread: {}".format(e))
if self._event_thread.is_alive():
self.log("WARN: event thread did not terminate")
self._shutdown_event.set()

View File

@@ -151,12 +151,12 @@ class EventThread(threading.Thread):
def mark_shutdown(self):
self._marked_for_shutdown = True
def wait(self):
def wait(self, timeout=None):
if self == threading.current_thread():
# we are in the callback thread and thus cannot
# wait for the thread-loop to finish.
return
self.join()
self.join(timeout=timeout)
def run(self):
""" get and run events until shutdown. """

View File

@@ -234,7 +234,9 @@ def acfactory(pytestconfig, tmpdir, request, session_liveconfig, data):
ac.addr = ac.get_self_contact().addr
ac.set_config("displayname", logid)
if not quiet:
ac.add_account_plugin(FFIEventLogger(ac))
logger = FFIEventLogger(ac)
logger.init_time = self.init_time
ac.add_account_plugin(logger)
self._accounts.append(ac)
return ac
@@ -245,7 +247,6 @@ def acfactory(pytestconfig, tmpdir, request, session_liveconfig, data):
self.offline_count += 1
tmpdb = tmpdir.join("offlinedb%d" % self.offline_count)
ac = self.make_account(tmpdb.strpath, logid="ac{}".format(self.offline_count))
ac._evtracker.init_time = self.init_time
ac._evtracker.set_timeout(2)
return ac