Comments (23)
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:
- Are you using the newest version of python 3.4?
- If you set the log to go to stderr instead of to a file do you still get the error?
- Does it trigger if you turn off logging, but leave debug mode on? (
logging.basicConfig(level=logging.CRITICAL), loop.set_debug(True)
) - Does it trigger on other versions of python? (3.3. I haven't tested quamash at all on 3.5)
from quamash.
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.
from quamash.
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
from quamash.
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).
from quamash.
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.
from quamash.
@Insoleet Can you try logging an error during application start up? Does this make the crash go away?
from quamash.
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.
from quamash.
@Insoleet Before the with loop:
would probably be fine.
from quamash.
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
from quamash.
Could this be linked to this bug : #34 ?
from quamash.
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.
from quamash.
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 !
from quamash.
That sounds like a bad logging configuration, are you just using logging.basicConfig
or something more complicated?
from quamash.
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
from quamash.
And this is all running with options.debug
right?
from quamash.
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)
from quamash.
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.
from quamash.
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...
from quamash.
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
from quamash.
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.
from quamash.
Do you know anyone which could be of some help ? Maybe you should ask on the python mailing list ?
from quamash.
I went ahead and asked here: https://groups.google.com/d/topic/python-tulip/7S4RX_XVOr4/discussion
from quamash.
This one is fixed.
from quamash.
Related Issues (20)
- Interest in creating a conda-forge package
- asyncio.async is deprecated since python 3.4.4, use asyncio.ensure_future instead HOT 4
- exceptions not set on pending futures
- unnecessary warnings HOT 6
- Release tagging HOT 1
- PipeServer closure race
- asyncio.create_task is not working
- Intalling quamash using PIP forces install of both pyside2 and pyqt5 HOT 9
- [Bug or Feature Requests] aioredis connect raise 'Event callback failed'
- Problem with Anaconda HOT 1
- the anaconda navigator dose not open HOT 1
- call asyncio.sleep(0.1) RuntimeError: no running event loop
- AttributeError: module 'collections' has no attribute 'Mapping' HOT 1
- [python3.10] implicit float to int conversion
- Update package on PyPI?
- Release 0.6.2 HOT 5
- RuntimeError: no running event loop HOT 1
- Module 'collections' has no attribute 'Mapping' HOT 1
- collections.Mapping has been removed HOT 1
- SyntaxError: Non-ASCII character in quamash/__init__.py
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quamash.