Errores #39

Crash when sending an INVITE

Added by Iñaki Baz Castillo over 2 years ago. Updated over 2 years ago.

Status:Resuelta Start:03/18/2009
Priority:Urgente Due date:
Assigned to:Saúl Ibarra Corretgé % Done:

0%

Category:YASS - GUI
Target version:0.5.0

Description

Cuando YASS llama y recibe cualquier respeusta final al INVITE o envía CANCEL entonces casca por un probema con Qt4:

ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 8438278. Receiver 'toolBar' (of type 'QToolBar') was created in thread 8177a78", file kernel/qcoreapplication.cpp, line 274
Cancelado

Versiones instaladas:

~# cat /etc/issue
Ubuntu 7.10 \n \l

~# dpkg -l | grep qt4
ii  libqt4-core         4.3.4-0ubuntu3                     Qt 4 core non-GUI functionality runtime libr
ii  libqt4-gui          4.3.4-0ubuntu3                     Qt 4 core GUI functionality runtime library
ii  libqt4-qt3support   4.3.4-0ubuntu3                     Qt 3 compatibility library for Qt 4
ii  libqt4-sql          4.3.4-0ubuntu3                     Qt 4 SQL database module
ii  python-qt4          4.3.3-2ubuntu4.1                   Python bindings for Qt4
ii  python-qt4-common   4.3.3-2ubuntu4.1                   Shared files for PyQt4
ii  python-qt4-dbus     4.3.3-2ubuntu4.1                   DBus Support for PyQt4

History

Updated by Iñaki Baz Castillo over 2 years ago

Y otro mucho más documentado (de la lista de Trolltech), aunque del 2005: http://lists.trolltech.com/qt4-preview-feedback/2005-01/msg00450.html

Updated by Saúl Ibarra Corretgé over 2 years ago

You are currently using Qt 4.3. I'm not having this issue with Debian Lenny nor Kubuntu Intrepid (8.10) and Qt version is 4.4.

Can you please test YASS on a system with Qt 4.4? Thanks for the feedback!

Updated by Iñaki Baz Castillo over 2 years ago

Please, read the links I suggested, it's clearly explained that the bug is caused by a wrong coding "somewhere". Maybe it works OK in Qt4.4, but I hope the aim is not creating a softphone which just runs over Debian Lenny/Sid and Ubuntu SuperIntrepid.

However, I've realized that there are a backport repositories for Hardy containing Qt4.4 so I'm testing it now and yes, it doesn't crash over Qt4.4

Updated by Saúl Ibarra Corretgé over 2 years ago

The problem appears when changing the statusbar text or when updating the toolbar. Thios is caused because of the Qt threading model. When I coded that part, I found the same issue you are pointing out, but after a lot of reading I came across this solution: I send en event to the main thread and HE is the one that changes the stuff.

AFAIK that's right and easy way to do it, instead of using mutexes. It may be a bug in the event handling stuff of Qt or PyQt, but it seems working with Qt >= 4.4 so what do you think of forcing this version as a dependency?

We really don't know why it fails with Qt 4.3, but it really looks like a bug...

Updated by Iñaki Baz Castillo over 2 years ago

Well, note that the current approach just would work on:
  • Debian Lenny
  • Debian Sid
  • Ubuntu Hardy-backports
  • Ubuntu Intrepid
    (previous versions use Qt4.3 or less)

As a suggestion, wouldn't you ask for it in Qt devel maillist or PyQt devel maillist (if it exists...).

BTW, if there is no a better solution (perhaps you are right and it's a but in PyQt) then requiring Qt>=4.4 is a nice way.

Updated by Saúl Ibarra Corretgé over 2 years ago

Iñaki Baz Castillo wrote:

Well, note that the current approach just would work on:
  • Debian Lenny
  • Debian Sid
  • Ubuntu Hardy-backports
  • Ubuntu Intrepid (previous versions use Qt4.3 or less)

As a suggestion, wouldn't you ask for it in Qt devel maillist or PyQt devel maillist (if it exists...).

BTW, if there is no a better solution (perhaps you are right and it's a but in PyQt) then requiring Qt>=4.4 is a nice way.

Sure! I'll try to track down the issue :)

Updated by Saúl Ibarra Corretgé over 2 years ago

  • Category set to YASS - GUI
  • Status changed from Nueva to Resuelta

Dependencies updated, YASS now depends on python-qt4 >= 4.4.

Also available in: Atom PDF