<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Hi,</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><br /></p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">I'm running into what looks like a deadlock situation when using asynchronous: true on an QtQuick Image component when the application quits.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><br /></p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Strangely this only happens when the image is 'big' (e.g. >256x256 png), not when the image was small (128x128 png)</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><br /></p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">It doesn't matter if the Image is destroyed or still alive, once it is used asynchronously once, the deadlock on exit happens</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><br /></p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Using PyQt5-5.15.7 with Qt5 from Debian testing.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><br /><br /></p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">[Thread debugging using libthread_db enabled]</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">0x00007faef9d690fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x5592902730b0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">74      ../sysdeps/nptl/futex-internal.c: No such file or directory.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">(gdb) bt</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#0  0x00007faef9d690fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x5592902730b0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">    private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#1  0x00007faef9d6915b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5592902730b0, expected=expected@entry=0, clockid=clockid@entry=0, </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">    abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#2  0x00007faef9d62c30 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x559290273060, cond=0x559290273088) at pthread_cond_wait.c:504</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#3  __pthread_cond_wait (cond=0x559290273088, mutex=0x559290273060) at pthread_cond_wait.c:619</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#4  0x00007faef48d195b in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /lib/x86_64-linux-gnu/libQt5Core.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#5  0x00007faef48cb9a1 in QThread::wait(QDeadlineTimer) () from /lib/x86_64-linux-gnu/libQt5Core.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#6  0x00007faee694faea in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#7  0x00007faee694fd79 in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#8  0x00007faef4adae6e in QObjectPrivate::deleteChildren() () from /lib/x86_64-linux-gnu/libQt5Core.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#9  0x00007faef4ae6a40 in QObject::~QObject() () from /lib/x86_64-linux-gnu/libQt5Core.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#10 0x00007faef5ca7469 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtQml.abi3.so</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#11 0x00007faef4adae6e in QObjectPrivate::deleteChildren() () from /lib/x86_64-linux-gnu/libQt5Core.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#12 0x00007faef4ae6a40 in QObject::~QObject() () from /lib/x86_64-linux-gnu/libQt5Core.so.5</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#13 0x00007faee7dd8ca9 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#14 0x00007faeed81c5b9 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#15 0x000055928df6390e in ?? ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#16 0x000055928e05a7f4 in ?? ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#17 0x000055928e059cba in Py_FinalizeEx ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#18 0x000055928e06bc08 in Py_Exit ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#19 0x000055928e05bcfb in ?? ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#20 0x000055928e05bc29 in PyErr_PrintEx ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#21 0x000055928e058e62 in _PyRun_SimpleFileObject ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#22 0x000055928e058b93 in _PyRun_AnyFileObject ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#23 0x000055928e04c80a in Py_RunMain ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#24 0x000055928e027319 in Py_BytesMain ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#25 0x00007faef9b9d81d in __libc_start_main (main=0x55928e0272e0, argc=10, argv=0x7ffdc00db078, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">    stack_end=0x7ffdc00db068) at ../csu/libc-start.c:332</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">#26 0x000055928e02721a in _start ()</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><br /></p>
</body>
</html>