client crashes when monitor unplugged

Bug #1454010 reported by Michael Hudson-Doyle
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
quassel (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Happens 100% of the time for me: put quasselclient (0.12.2-0ubuntu0.1) on external monitor, unplug it (or disable monitor in control panel), boom client crashes. I'll attach a traceback from gdb.

This sounds very similar to bug 1406288 and bug 1438931 so maybe it's a general Qt problem? I'm using the default vivid desktop i.e. unity.

Tags: vivid xenial
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in quassel (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel Holbach (dholbach) wrote :

Backtrace as caught by Quassel itself:

Quassel IRC: 0.12.2 9c5e6c666d5faa976eec2e0ac8bf8e1dd6c0332c
# 0 quassel 0x000055e708a2b60c Quassel::logBacktrace(QString const&)
# 1 quassel 0x000055e7089fa44e Quassel::handleSignal(int)
# 2 libc.so.6 0x00007f8c5d5742b0 0x0000000000000000
# 3 libQt5XcbQpa.so.5 0x00007f8c4d55b5bf QXcbWindow::handleClientMessageEvent(xcb_client_message_event_t const*)
# 4 libQt5XcbQpa.so.5 0x00007f8c4d54679b QXcbConnection::handleXcbEvent(xcb_generic_event_t*)
# 5 libQt5XcbQpa.so.5 0x00007f8c4d546cc3 QXcbConnection::processXcbEvents()
# 6 libQt5Core.so.5 0x00007f8c632c8581 QObject::event(QEvent*)
# 7 libQt5Widgets.so.5 0x00007f8c5ee3dffc QApplicationPrivate::notify_helper(QObject*, QEvent*)
# 8 libQt5Widgets.so.5 0x00007f8c5ee434c6 QApplication::notify(QObject*, QEvent*)
# 9 libQt5Core.so.5 0x00007f8c63298b6b QCoreApplication::notifyInternal(QObject*, QEvent*)
# 10 libQt5Core.so.5 0x00007f8c6329af66 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
# 11 libQt5Core.so.5 0x00007f8c632eeec3 0x0000000000000000
# 12 libglib-2.0.so.0 0x00007f8c5c5fe147 g_main_context_dispatch
# 13 libglib-2.0.so.0 0x00007f8c5c5fe3a0 0x0000000000000000
# 14 libglib-2.0.so.0 0x00007f8c5c5fe44c g_main_context_iteration
# 15 libQt5Core.so.5 0x00007f8c632ef2cf QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
# 16 libQt5Core.so.5 0x00007f8c632962fa QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
# 17 libQt5Core.so.5 0x00007f8c6329e3cc QCoreApplication::exec()
# 18 quassel 0x000055e70877185d main
# 19 libc.so.6 0x00007f8c5d55fa00 __libc_start_main
# 20 quassel 0x000055e708773469 _start
.config/quassel-irc.org/Quassel-Crash-20160203-1312.log (END)

Revision history for this message
Daniel Holbach (dholbach) wrote :

Can we maybe turn off quassel's crash handler and just use the one that comes with Ubuntu?

Revision history for this message
Daniel Holbach (dholbach) wrote :

I'm using unity on xenial.

Revision history for this message
Daniel Albers (al) wrote :

Quassel should really save any signal handler that is in place before installing a new one. After handling the signal, the original one should be restored and the signal be re-raised. I thought we were already doing that, but looking at https://github.com/quassel/quassel/blob/17311326016f3654fd33a656b2a0c4ac95776db6/src/common/quassel.cpp#L104 that's not the case. Will try to look into that.

As for this bug, the trace points to Qt and there seems to be a series of bug reports about xcb event handling that seem relevant, e. g.:
https://bugreports.qt.io/browse/QTBUG-44158
https://bugreports.qt.io/browse/QTBUG-44766

tags: added: xenial
tags: added: vivid
Changed in quassel (Ubuntu):
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.