[PyQt] core dump in pyqt application

Iván García capiscuas at gmail.com
Sun Jul 6 13:34:05 BST 2008

Currently the app uses python threads, not pyqt threads, could this be 
the reason?

The only thread I'm having now is a logging function:

        self.setTitleBarText("Trying to login...")
            if self.OSDBServer._login(username, password) :
                if not username: username = 'Anonymous'
                self.setTitleBarText("Logged as: %s" % username)
            elif username: #We try anonymous login in case the normal 
user login has failed
                self.setTitleBarText("Error logging as: %s. Logging 
anonymously..." % username)
                if self.OSDBServer._login("", "") :
                    self.setTitleBarText("Logged as: Anonymous")
                    self.setTitleBarText("Login: Cannot login.")
            self.setTitleBarText("Login: ERROR")

The only interaction of the thread with the pyqt GUI is the 
setTitleBarText where it changes the title of the Main App Window.

Andreas Pakulat wrote:
> On 06.07.08 13:16:09, Iván García wrote:
>> One of my users just reported this bug:
>> ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread f74470. Receiver 'MainWindow' (of type 'QMainWindow') was created in thread 9a7fc0", file kernel/qcoreapplication.cpp, line 269
>> Cancelado (core dumped)
>> How to avoid this problem? Is there a way to fix the problem within the  
>> application code?
> Yes, don't use sendEvent across threads, use postEvent. This is not 100%
> clear in the documentation, except that sendEvent is explained to use
> notify() directly. And obviously notify shouldn't be called from a
> different thread.
> Andreas

More information about the PyQt mailing list