[PyQt] PyQt5 thread problems
Erik Botö
erik.boto at pelagicore.com
Mon Nov 18 14:31:14 GMT 2013
Hi,
I'm having issues with a thread getting stuck in PyThread_acquire_lock
() when using it from a Qt Plugin that allows you to load a python
module that uses PyQt. If I use the same class from python directly it
works, but I can't see anything wrong in the Qt Plugin code.
I've attached a tarball with files and instruction for reproducing
this. Any input would be really appreciated. I'm currently using a
recent snapshot of PyQt.
Some GDB output:
(gdb) info thread
Id Target Id Frame
7 Thread 0x7fffd4969700 (LWP 20911) "QSGRenderThread"
pthread_cond_wait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
6 Thread 0x7fffd539d700 (LWP 20910) "qmlscene"
pthread_cond_wait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
5 Thread 0x7fffd7fff700 (LWP 20909) "mythreadclass" sem_wait ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
4 Thread 0x7ffff7e6c700 (LWP 20908) "SignalSender" sem_wait ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
3 Thread 0x7fffdecdd700 (LWP 20907) "QThread" 0x00007ffff517ff7d in poll ()
at ../sysdeps/unix/syscall-template.S:81
2 Thread 0x7fffec6ea700 (LWP 20906) "QXcbEventReader"
0x00007ffff517ff7d in poll ()
at ../sysdeps/unix/syscall-template.S:81
* 1 Thread 0x7ffff7fca780 (LWP 20905) "qmlscene" 0x00007ffff517ff7d
in poll ()
at ../sysdeps/unix/syscall-template.S:81
(gdb) thread 5
[Switching to thread 5 (Thread 0x7fffd7fff700 (LWP 20909))]
#0 sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
85 ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S: No such file or directory.
(gdb) bt
#0 sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1 0x00007ffff7a06598 in PyThread_acquire_lock () from
/usr/lib/x86_64-linux-gnu/libpython2.7.so
#2 0x00007ffff7a20616 in PyEval_RestoreThread () from
/usr/lib/x86_64-linux-gnu/libpython2.7.so
#3 0x00007ffff7a20a58 in PyGILState_Ensure () from
/usr/lib/x86_64-linux-gnu/libpython2.7.so
#4 0x00007fffdda055a7 in ?? () from /usr/lib/python2.7/dist-packages/sip.so
#5 0x00007fffddda0a27 in sipQThread::run() () from
/usr/local/lib/python2.7/dist-packages/PyQt5/QtCore.so
#6 0x00007ffff5aef44f in ?? () from /opt/qt5-5.1.0/lib/libQt5Core.so.5
#7 0x00007ffff4e7cf6e in start_thread (arg=0x7fffd7fff700) at
pthread_create.c:311
#8 0x00007ffff518c9cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb)
Best Regards,
Erik Botö
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testcase.tar.bz2
Type: application/x-bzip2
Size: 15069 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20131118/4e229b00/attachment.bin>
More information about the PyQt
mailing list