deadlock in image provider when application quits

Sander van Grieken sander at outrightsolutions.nl
Tue Aug 23 11:46:02 BST 2022


Hi,


I'm running into what looks like a deadlock situation when using asynchronous: 
true on an QtQuick Image component when the application quits.


Strangely this only happens when the image is 'big' (e.g. >256x256 png), not 
when the image was small (128x128 png)


It doesn't matter if the Image is destroyed or still alive, once it is used 
asynchronously once, the deadlock on exit happens


Using PyQt5-5.15.7 with Qt5 from Debian testing.



[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007faef9d690fa in __futex_abstimed_wait_common64 
(futex_word=futex_word at entry=0x5592902730b0, 
expected=expected at entry=0, clockid=clockid at entry=0, 
abstime=abstime at entry=0x0, private=private at entry=0, 
cancel=cancel at entry=true) at ../sysdeps/nptl/futex-internal.c:74
74      ../sysdeps/nptl/futex-internal.c: No such file or directory.
(gdb) bt
#0  0x00007faef9d690fa in __futex_abstimed_wait_common64 
(futex_word=futex_word at entry=0x5592902730b0, 
expected=expected at entry=0, clockid=clockid at entry=0, 
abstime=abstime at entry=0x0, 
    private=private at entry=0, cancel=cancel at entry=true) at ../sysdeps/nptl/futex-
internal.c:74
#1  0x00007faef9d6915b in __GI___futex_abstimed_wait_cancelable64 
(futex_word=futex_word at entry=0x5592902730b0, 
expected=expected at entry=0, clockid=clockid at entry=0, 
    abstime=abstime at entry=0x0, private=private at entry=0) at ../sysdeps/nptl/
futex-internal.c:123
#2  0x00007faef9d62c30 in __pthread_cond_wait_common (abstime=0x0, 
clockid=0, mutex=0x559290273060, cond=0x559290273088) at 
pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x559290273088, mutex=0x559290273060) 
at pthread_cond_wait.c:619
#4  0x00007faef48d195b in QWaitCondition::wait(QMutex*, QDeadlineTimer) () 
from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007faef48cb9a1 in QThread::wait(QDeadlineTimer) () from /lib/x86_64-
linux-gnu/libQt5Core.so.5
#6  0x00007faee694faea in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007faee694fd79 in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007faef4adae6e in QObjectPrivate::deleteChildren() () from /lib/
x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007faef4ae6a40 in QObject::~QObject() () from /lib/x86_64-linux-gnu/
libQt5Core.so.5
#10 0x00007faef5ca7469 in ?? () from /usr/lib/python3/dist-packages/PyQt5/
QtQml.abi3.so
#11 0x00007faef4adae6e in QObjectPrivate::deleteChildren() () from /lib/
x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007faef4ae6a40 in QObject::~QObject() () from /lib/x86_64-linux-gnu/
libQt5Core.so.5
#13 0x00007faee7dd8ca9 in ?? () from /usr/lib/python3/dist-packages/PyQt5/
QtGui.abi3.so
#14 0x00007faeed81c5b9 in ?? () from /usr/lib/python3/dist-packages/PyQt5/
QtCore.abi3.so
#15 0x000055928df6390e in ?? ()
#16 0x000055928e05a7f4 in ?? ()
#17 0x000055928e059cba in Py_FinalizeEx ()
#18 0x000055928e06bc08 in Py_Exit ()
#19 0x000055928e05bcfb in ?? ()
#20 0x000055928e05bc29 in PyErr_PrintEx ()
#21 0x000055928e058e62 in _PyRun_SimpleFileObject ()
#22 0x000055928e058b93 in _PyRun_AnyFileObject ()
#23 0x000055928e04c80a in Py_RunMain ()
#24 0x000055928e027319 in Py_BytesMain ()
#25 0x00007faef9b9d81d in __libc_start_main (main=0x55928e0272e0, 
argc=10, argv=0x7ffdc00db078, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, 
    stack_end=0x7ffdc00db068) at ../csu/libc-start.c:332
#26 0x000055928e02721a in _start ()


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20220823/caadca97/attachment.htm>


More information about the PyQt mailing list