Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception when leaving the app in debug mode #37

Closed
Insoleet opened this issue Jul 23, 2015 · 23 comments
Closed

Exception when leaving the app in debug mode #37

Insoleet opened this issue Jul 23, 2015 · 23 comments
Labels
Milestone

Comments

@Insoleet
Copy link
Contributor

Hello,

When exiting our app in debug mode quamash crashes with the following exception :

ERROR:__init__:Exception in default exception handler
Traceback (most recent call last):
  File "/usr/lib/python3.4/site-packages/quamash/__init__.py", line 543, in call_exception_handler
    self.default_exception_handler(context)
  File "/usr/lib/python3.4/site-packages/quamash/__init__.py", line 522, in default_exception_handler
    self._logger.debug('Default exception handler executing')
  File "/usr/lib/python3.4/logging/__init__.py", line 1262, in debug
    self._log(DEBUG, msg, args, **kwargs)
  File "/usr/lib/python3.4/logging/__init__.py", line 1409, in _log
    self.handle(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 1419, in handle
    self.callHandlers(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 1481, in callHandlers
    hdlr.handle(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 853, in handle
    self.emit(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 1040, in emit
    self.stream = self._open()
  File "/usr/lib/python3.4/logging/__init__.py", line 1030, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding)
NameError: name 'open' is not defined
('Exception in default exception handler',), {'exc_info': True}
@harvimt
Copy link
Owner

harvimt commented Jul 23, 2015

something weird is happening according to that traceback, I'll need more context.

The default logger handler just sends the data to stderr, but it looks like you have a logger set to log to a file, and then somehow that's triggering an error inside the logging module ("NameError: name 'open' is not defined).

It's... super bizarre.

So things to isolate:

  1. Are you using the newest version of python 3.4?
  2. If you set the log to go to stderr instead of to a file do you still get the error?
  3. Does it trigger if you turn off logging, but leave debug mode on? (logging.basicConfig(level=logging.CRITICAL), loop.set_debug(True))
  4. Does it trigger on other versions of python? (3.3. I haven't tested quamash at all on 3.5)

@horazont
Copy link
Contributor

Just shooting into the dark here, is it possible that the logger is only triggered that far in the shutdown phase that some builtins are not available anymore already? I don’t know whether the logging module opens the file for each message or opens it once for all. In the latter case, the theory should be dismissable by emitting a log at the start of the application.

@Insoleet
Copy link
Contributor Author

I'm using latest python (3.4) on archlinux.

If I disable logging to a file, here are the logs that seems to create the crash :

DEBUG:__init__:Qt event loop ended with result 0
DEBUG:__init__:Already stopped
DEBUG:__init__:Closing event loop...
DEBUG:__init__:Removing reader callback for file descriptor 11
DEBUG:_unix:Closing
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<discover_network() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/network.py:203> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future pending cb=[Task._wakeup()]>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future pending cb=[Task._wakeup()]>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future pending cb=[Task._wakeup()]>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future pending cb=[Task._wakeup()]>>
DEBUG:__init__:Default exception handler executing
ERROR:__init__:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future pending cb=[Task._wakeup()]>>

Process finished with exit code 0

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

That... doesn't look like a crash though, so if you don't log to a file it
doesn't crash?

(see "process finished with exit code 0")

On Fri, Jul 24, 2015 at 9:04 AM, Insoleet [email protected] wrote:

I'm using latest python (3.4) on archlinux.

If I disable logging to a file, here are the logs that seems to create the
crash :

DEBUG:init:Qt event loop ended with result 0
DEBUG:init:Already stopped
DEBUG:init:Closing event loop...
DEBUG:init:Removing reader callback for file descriptor 11
DEBUG:_unix:Closing
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<discover_network() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/network.py:203> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>
DEBUG:init:Default exception handler executing
ERROR:init:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/init.py:17> wait_for=>

Process finished with exit code 0


Reply to this email directly or view it on GitHub
#37 (comment).

@Insoleet
Copy link
Contributor Author

Yes, exactly.

ERROR:__init__:Task was destroyed but it is pending!" 

never logs if I enable logging to a file. Instead, I get a crash. It seems that these logs are the cause of the crash when I enable logging to a file.
Also, I forgot to mention it, but when I run our app in debug mode, pydev debugger is running and monitoring the app.

@horazont
Copy link
Contributor

@Insoleet Can you try logging an error during application start up? Does this make the crash go away?

@Insoleet
Copy link
Contributor Author

Sure I can try it !

Where should I put it in the following lines ?

if __name__ == '__main__':
    # activate ctrl-c interrupt
    signal.signal(signal.SIGINT, signal.SIG_DFL)

    cutecoin = QApplication(sys.argv)
    loop = QEventLoop(cutecoin)
    asyncio.set_event_loop(loop)

    with loop:
        app = Application.startup(sys.argv, cutecoin, loop)
        window = MainWindow(app)
        window.startup()
        loop.run_forever()
    sys.exit()

And to be clear on one point that I think I was not clear enough :

  • When I talk about debug mode, it's running the app with pydev debugger
  • When I run the app without pydev debugger but still with debug logging enabled, I don't get a crash.

@horazont
Copy link
Contributor

@Insoleet Before the with loop: would probably be fine.

@Insoleet
Copy link
Contributor Author

Ok the behaviour is really weird with logging in these lines.

If I add logging.debug("smth") before the with loop, I don't have any application log going out. The app doesn't crash anymore and here are the only logs that I can get.

Connected to pydev debugger (build 141.1899)
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}
ERROR:quamash.QEventLoop:Task was destroyed but it is pending!
task: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>
('Task was destroyed but it is pending!\ntask: <Task pending coro=<timeout() running at /home/inso/code/ucoin/cutecoin/src/cutecoin/core/net/api/bma/__init__.py:17> wait_for=<Future finished result=None>>',), {'exc_info': False}

Process finished with exit code 0

@Insoleet
Copy link
Contributor Author

Could this be linked to this bug : #34 ?

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

Are you talking about the "Task was destroyed but it is pending!" errors? those could be related, but the crash is a bug in the python logging module, or expected behaviour depending on how you look at it.

Looks like you can work around the logging by sending data through the logger to make sure it gets initialized, then if it encounters any error messages during shutdown, it can handle them.

Also #34 is just generally out of my league in terms of debugging it, it's kind of a heisenbug though since it involves the garbage collector.

@Insoleet
Copy link
Contributor Author

The problem is that if I initialize the logger before the with loop by sending data to it... I don't have any application log going out. Only the ones emitted by quamash after the loop !

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

That sounds like a bad logging configuration, are you just using logging.basicConfig or something more complicated?

@Insoleet
Copy link
Contributor Author

Here is my code to initialize logging :

    if options.debug:
        logging.basicConfig(format='%(levelname)s:%(module)s:%(message)s',
            level=logging.DEBUG)
    elif options.verbose:
        logging.basicConfig(format='%(levelname)s:%(message)s',
            level=logging.INFO)
    else:
        logging.getLogger().propagate = False

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

And this is all running with options.debug right? 😦 😢 😭 💩 👎

@Insoleet
Copy link
Contributor Author

Yes !

def parse_arguments(argv):
    parser = OptionParser()

    parser.add_option("-v", "--verbose",
                      action="store_true", dest="verbose", default=False,
                      help="Print INFO messages to stdout")

    parser.add_option("-d", "--debug",
                      action="store_true", dest="debug", default=False,
                      help="Print DEBUG messages to stdout")

    (options, args) = parser.parse_args(argv)

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

I guess you need to start stepping through with a debugger to figure out what's eating the logging messages when logging is initialized vs not. I wish I had more info to narrow down some the search space some, but I do not.

@Insoleet
Copy link
Contributor Author

To sum it up :

  • This bug occurs with pydev debugger
  • The application "freezes" for seconds before closing
  • It causes a crash when using a logfile, but don't crash without logfile
  • If I enable the logfile, it is created and filled before the app is closed
  • If I add logging before the with loop:, the log is never printed out but I get quamash logs after the loop closes. My application logs are not printed out.

I'll try to get more info. To be continued...

@Insoleet
Copy link
Contributor Author

The logging is not printed because I didn't run logging.basicConfig before doing logging.debug.

After initializing logging and the FileHandler before with loop: and before doing the first logging outside of the with loop, I still get a crash. So, the problem is not with the file being opened inside the with loop.

Here is something interesting. If I add a breakpoint in the default_exception_handler of quamash method, I don't get a crash anymore. I don't even have the errors ERROR:quamash.QEventLoop:Task was destroyed but it is pending! ! There is definitely something going on with the debugger.

EDIT : In fact, it does not crash but the processes never close. The last logs :

DEBUG:quamash.QEventLoop:Adding callback <Handle Task._wakeup(<Future finished result=None>)> with delay 0
DEBUG:quamash.QEventLoop:Qt event loop ended with result 0
DEBUG:quamash.QEventLoop:Already stopped
DEBUG:quamash.QEventLoop:Closing event loop...
DEBUG:quamash.QEventLoop:Removing reader callback for file descriptor 11
DEBUG:quamash._unix._Selector:Closing

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

That lends more credence to the relation to #34 theory, but I need help from someone who really understands python's garbage collector to fix that one.

@Insoleet
Copy link
Contributor Author

Do you know anyone which could be of some help ? Maybe you should ask on the python mailing list ?

@harvimt
Copy link
Owner

harvimt commented Jul 24, 2015

@harvimt harvimt added the bug label Aug 20, 2015
@harvimt harvimt added this to the v.6 milestone Aug 20, 2015
@Insoleet
Copy link
Contributor Author

Insoleet commented Dec 1, 2015

This one is fixed.

@Insoleet Insoleet closed this as completed Dec 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants