Bug 9248 - crash on closing a python-qt application with xcb enabled xlib
Summary: crash on closing a python-qt application with xcb enabled xlib
Status: RESOLVED DUPLICATE of bug 8947
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/Xlib (show other bugs)
Version: 7.2 (2007.02)
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Josh Triplett
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-04 17:21 UTC by Michael Biebl
Modified: 2006-12-04 21:26 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
python-qt based tracker frontend (3.55 KB, application/x-gzip)
2006-12-04 17:22 UTC, Michael Biebl
no flags Details
backtrace (1.56 KB, application/stream)
2006-12-04 17:23 UTC, Michael Biebl
no flags Details

Description Michael Biebl 2006-12-04 17:21:11 UTC
I'm running Debian unstable with libX11-6 from experimental
libX11-6: 1.1-6
libxcb1: 0.9.92-1
libxcb-xlib0: 0.9.92-1

I have a small python-qt application (frontend for tracker) which crashes
whenever I close the app. The app receives a SIG 11 (SIGSEGV) reproducibely. 
To test the app, you need to have python-kde installed.
Comment 1 Michael Biebl 2006-12-04 17:22:40 UTC
Created attachment 7963 [details]
python-qt based tracker frontend
Comment 2 Michael Biebl 2006-12-04 17:23:48 UTC
Created attachment 7964 [details]
backtrace
Comment 3 Jamey Sharp 2006-12-04 20:51:41 UTC
Thanks for the CC, Josh. Michael, please let your Xlib bug reports go to
xorg-team so I see them. :-)

I'm not entirely sure, but I think this is a duplicate of bug 8947. I suspect
that, like that case, Qt is calling XFreeCursor on an invalid Display. If so,
that's an error in Qt, and it's surprising that it ever worked.

Somebody should file a bug with Trolltech that they should be more careful in
the QCursorData destructor. When the connection is closing down there's no need
to call XFreeCursor, and if it closed due to an I/O error there's no opportunity
to free the cursor anyway.

*** This bug has been marked as a duplicate of 8947 ***
Comment 4 Jamey Sharp 2006-12-04 20:56:35 UTC
Sorry, Bugzilla didn't make it obvious that you *did* let this get assigned to
xorg-team. Chalk that up to "Bugzilla sucks".
Comment 5 Josh Triplett 2006-12-04 21:12:33 UTC
If it got closed due to an I/O error, I'd expect to see _XIOError in the
backtrace, though.
Comment 6 Josh Triplett 2006-12-04 21:13:01 UTC
(unless Python or SIP has done some unspeakable things to the stack, of course.)
Comment 7 Jamey Sharp 2006-12-04 21:26:38 UTC
I wasn't trying to say that the proximate cause was the same, only the root
cause. The QCursorData destructor can't safely call XFreeCursor, whether the
destructor was triggered by _XIOError's exit() call or by a normal shutdown.

But if XCloseDisplay hasn't actually been called before XFreeCursor segfaults,
then I'd take that as a sign that this isn't even the same root cause.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.