[PyQt] Problems with QThreads and python threads

Phil Thompson phil at riverbankcomputing.co.uk
Wed Aug 1 23:08:01 BST 2007


On Wednesday 01 August 2007 9:30 pm, Andrea Cimino wrote:
> Hi There!
> I have a questions and some problems related to PyQt4.
> I am developing a PyQt4 application and i have some problems mixing PyQt4
> threads and python threads that's the situation:
> from QThread class i start some python methods that launch other threads
> (some connections via urllib2). The point is that my program, when the
> QThread is running some time crashes (C++ side), and that's reaaaly
> annoing.
> I got messages like:
>
> ** glibc detected *** python: double free or corruption (out):
> 0x00002b7d3fcd5a10 **
>
> So i said.. "maybe my python code has some bugs".. maybe... in Windows and
> MacOSX the same problems...
> Then i tried to launch my program in a Ubuntu 7.04 environment and... no
> more crashes! i decided to investigate.. seems that the combination that
> works is sip 4.5 + PyQt 4.1. Any other compilation (also with PyQt4.3 and
> sip 4.7) crashes.  Looking at the Sip and PyQt code i have noticed that  a
> lot of changes has been made to threads modules  (sip 4.5 -> sip 4.6)
> (specially sip side)..
> Also i have noticed that, when i close my program, with sip 4.5 and PyQt4.1
> i get messages like (that ovbiously if i run the threads)
>
> QThread: Destroyed while thread is still running
> QThread: Destroyed while thread is still running
>
> Instead, in the new versions, i have no messages... that sounds me a bit
> strange. I can also give you privately the sources of my program to have a
> proof of what i say.

I would need a small, complete example that demonstrates the problem.

Phil



More information about the PyQt mailing list