[PyQt] QMutex deadlock during QObject destructor
merlin66b at gmail.com
Sat Apr 16 13:10:59 BST 2011
On Sat, Apr 16, 2011 at 5:45 AM, Luke Campagnola <lcampagn at email.unc.edu> wrote:
> I have a multi-threaded application that locks up periodically while drawing
> graphics. The application is quite large and due to the randomness of the
> lockup (usually takes between 10 minutes and 10 hours), I have not been able
> to work out the exact cause. I do believe that all GUI calls are being
> correctly restricted to the main thread. Below is a partial stack trace
> collected while locked. Notably, the lockup occurs in the destructor for
> some QObject following a QTimer single-shot signal.
> The application displays live video from a camera, and as far as I can tell,
> the only objects being deleted would be related to 1) signals being sent as
> new camera frames arrive, 2) QTimer signals that drive the video display,
> and 3) QImage/QPixmap pairs that are used to update a QGraphicsPixmapItem.
> If anyone can offer clues as to what might cause this, I would be most
This is a long shot, I just thought I should mention it: a deadlock
 in QMutex was fixed in qt-4.7.2 . If you are using and older Qt
version, the new one may be worth a try.
Hope this helps,
More information about the PyQt