Bug 357521

Summary: Clicking to Practice Overview leads to crash
Product: [Applications] parley Reporter: Dimitris Kardarakos <dimkard>
Component: generalAssignee: parley bug tracker <parley-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: normal CC: cordlandwehr
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Dimitris Kardarakos 2016-01-04 15:00:34 UTC
After completing practice, clicking to practice overview leads to crash.

Reproducible: Always

Steps to Reproduce:
1.Start Practice
2.Stop Practice
3.Click to "Practice > Practice Overview"

Actual Results:  
Application crash

Expected Results:  
Practice Overview to be available.

Application: Parley (parley), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f644cf7c800 (LWP 5008))]

Thread 7 (Thread 0x7f6437f41700 (LWP 5009)):
#0  0x00007f6446d8f18d in poll () from /usr/lib/libc.so.6
#1  0x00007f6440cc1ae2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f6440cc3757 in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007f643965c379 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f644798eb8e in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f64440494a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f6446d9813d in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f642d228700 (LWP 5012)):
#0  0x00007f644404f07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f6434cd7303 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#2  0x00007f6434cd7167 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#3  0x00007f64440494a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f6446d9813d in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f642ca27700 (LWP 5013)):
#0  0x00007f644404f07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f6434cd7303 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#2  0x00007f6434cd7167 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#3  0x00007f64440494a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f6446d9813d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f642c226700 (LWP 5014)):
#0  0x00007f644404f07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f6434cd7303 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#2  0x00007f6434cd7167 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#3  0x00007f64440494a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f6446d9813d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f642ba25700 (LWP 5015)):
#0  0x00007f644404f07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f6434cd7303 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#2  0x00007f6434cd7167 in ?? () from /usr/lib/xorg/modules/dri/swrast_dri.so
#3  0x00007f64440494a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f6446d9813d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f642806c700 (LWP 5017)):
#0  0x00007f644404f428 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f644798fd66 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f644798b813 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f644798eb8e in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f64440494a4 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f6446d9813d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f644cf7c800 (LWP 5008)):
[KCrash Handler]
#5  0x00007f6447a18093 in QtSharedPointer::ExternalRefCountData::getAndRef(QObject const*) () from /usr/lib/libQt5Core.so.5
#6  0x00007f6448c802a5 in ?? () from /usr/lib/libQt5Widgets.so.5
#7  0x00007f6448c824fb in ?? () from /usr/lib/libQt5Widgets.so.5
#8  0x00007f6448c229ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#9  0x00007f6448c27e86 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007f6447b6fbab in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#11 0x00007f64486705f1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#12 0x00007f64486722b5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#13 0x00007f64486576d8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#14 0x00007f643968d8c0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#15 0x00007f6442bfadc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0x00007f6442bfb020 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0x00007f6442bfb0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#18 0x00007f6447bc654f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#19 0x00007f6447b6d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#20 0x00007f6447b7553c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#21 0x0000000000436334 in main ()
Comment 1 Andreas Cord-Landwehr 2016-01-04 20:55:05 UTC
Sorry, I cannot reproduce this. Please install debug symbols for the package that contains QtWidgets and then create a new backtrace that does not contain any "??" values anymore. Otherwise it is not possible to see where the crash originates from.
On some distributions the required package is called "qtbase5-dbg".
Comment 2 Dimitris Kardarakos 2016-01-05 09:50:04 UTC
After installing debug symbols, I get the below report:

#0  QtSharedPointer::ExternalRefCountData::getAndRef (obj=obj@entry=0x17d4780) at tools/qsharedpointer.cpp:1343
        d = 0xb25070
        x = <optimized out>
#1  0x00007ffff3ae2d98 in QWeakPointer<QObject>::QWeakPointer<QObject> (ptr=0x17d4780, this=0x7fffffffcf60)
    at ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:696
No locals.
#2  QWeakPointer<QObject>::assign<QObject> (ptr=0x17d4780, this=0x7ffff3fd1b00 <qt_last_mouse_receiver>)
    at ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:692
No locals.
#3  QPointer<QWidget>::operator= (p=0x17d4780, this=0x7ffff3fd1b00 <qt_last_mouse_receiver>) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:67
No locals.
#4  QWidgetWindow::handleMouseEvent (this=this@entry=0x2587270, event=event@entry=0x7fffffffd360) at kernel/qwidgetwindow.cpp:453
        receiver = 0x17d4780
        widgetPos = <optimized out>
        alien = 0x0
        e = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff3910a58 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0x7ffff2b83440 <qt_meta_stringdata_QEvent>, data = 0x7ffff2b82ea0 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, 
                  extradata = 0x0}}, d = 0x0, t = 3, posted = 0, spont = 0, m_accept = 1, reserved = 75}, modState = {i = 0}, ts = 606500}, l = {xp = 93, yp = 42}, w = {
            xp = 93, yp = 42}, s = {xp = 141, yp = 114}, b = Qt::LeftButton, mouseState = {i = 0}, caps = 0, velocity = {xp = 0, yp = 0}}
        popupChild = 0x0
        activePopupWidget = 0x17d4780
        popup = 0x17d4780
        mapped = {xp = 93, yp = 42}
        releaseAfter = true
        oldOpenPopupCount = 1
        contextMenuTrigger = QEvent::MouseButtonPress
        widget = <optimized out>
        mapped = {xp = -11424, yp = 32767}
        receiver = <optimized out>
#5  0x00007ffff3ae521b in QWidgetWindow::event (this=0x2587270, event=0x7fffffffd360) at kernel/qwidgetwindow.cpp:210
No locals.
#6  0x00007ffff3a81f95 in QApplicationPrivate::notify_helper (this=this@entry=0x7de3c0, receiver=receiver@entry=0x2587270, e=e@entry=0x7fffffffd360)
    at kernel/qapplication.cpp:3716
        consumed = <optimized out>
#7  0x00007ffff3a870ba in QApplication::notify (this=0x7fffffffd790, receiver=0x2587270, e=0x7fffffffd360) at kernel/qapplication.cpp:3160
        res = false
#8  0x00007ffff29ae0ab in QCoreApplication::notifyInternal (this=0x7fffffffd790, receiver=receiver@entry=0x2587270, event=event@entry=0x7fffffffd360)
    at kernel/qcoreapplication.cpp:965
        result = false
        cbdata = {0x2587270, 0x7fffffffd360, 0x7fffffffd22f}
        d = <optimized out>
        threadData = 0x7d3870
        loopLevelCounter = {threadData = 0x7d3870}
#9  0x00007ffff34b83dd in QCoreApplication::sendSpontaneousEvent (event=0x7fffffffd360, receiver=0x2587270)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227
No locals.
#10 QGuiApplicationPrivate::processMouseEvent (e=0xa03ea0) at kernel/qguiapplication.cpp:1789
        type = QEvent::MouseButtonRelease
        stateChange = <optimized out>
        window = 0x2587270
        localPoint = {xp = 93, yp = 42}
        globalPoint = {xp = 141, yp = 114}
        button = Qt::LeftButton
        doubleClick = false
        frameStrut = false
        ev = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff3910a58 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0x7ffff2b83440 <qt_meta_stringdata_QEvent>, data = 0x7ffff2b82ea0 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, 
                  extradata = 0x0}}, d = 0x0, t = 3, posted = 0, spont = 1, m_accept = 1, reserved = 0}, modState = {i = 0}, ts = 606500}, l = {xp = 93, yp = 42}, w = {
            xp = 93, yp = 42}, s = {xp = 141, yp = 114}, b = Qt::LeftButton, mouseState = {i = 0}, caps = 0, velocity = {xp = 0, yp = 0}}
#11 0x00007ffff34ba125 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0xa03ea0) at kernel/qguiapplication.cpp:1581
No locals.
#12 0x00007ffff349c910 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:625
        event = 0xa03ea0
        nevents = 1
#13 0x00007fffe4294ddb in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
        userEventSource = <optimized out>
        dispatcher = <optimized out>
#14 0x00007fffed805dc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#15 0x00007fffed806020 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#16 0x00007fffed8060cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#17 0x00007ffff2a0775e in QEventDispatcherGlib::processEvents (this=0x827120, flags=...) at kernel/qeventdispatcher_glib.cpp:418
        d = 0x825bf0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#18 0x00007fffe4294fb5 in QPAEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:115
No locals.
#19 0x00007ffff29ab65a in QEventLoop::exec (this=this@entry=0x7fffffffd6f0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
        d = 0x18061f0
        locker = {val = 8206720}
        ref = {d = 0x18061f0, locker = @0x7fffffffd670, exceptionCaught = true}
#20 0x00007ffff29b3b7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
        threadData = 0x7d3870
        eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff2bfb3d8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, 
                stringdata = 0x7ffff2b25d80 <qt_meta_stringdata_QObject>, data = 0x7ffff2b25c60 <qt_meta_data_QObject>, 
                static_metacall = 0x7ffff29e6a00 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, 
            d_ptr = {d = 0x18061f0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff2b6dac0 <qt_meta_stringdata_Qt>, 
                data = 0x7ffff2b6b0c0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {
              superdata = 0x7ffff2bf2a40 <QObject::staticMetaObject>, stringdata = 0x7ffff2b82a80 <qt_meta_stringdata_QEventLoop>, 
              data = 0x7ffff2b82a20 <qt_meta_data_QEventLoop>, 
              static_metacall = 0x7ffff2a61f50 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#21 0x00007ffff34af70b in QGuiApplication::exec () at kernel/qguiapplication.cpp:1527
No locals.
#22 0x00007ffff3a7d81a in QApplication::exec () at kernel/qapplication.cpp:2976
No locals.
#23 0x0000000000436334 in main ()
No symbol table info available.
Comment 3 Dimitris Kardarakos 2016-09-09 12:33:12 UTC
Trying to reproduce it in a bunch of subsequent releases as well as development snapshots after opening this bug report, I can no longer face the issue. I consider the issue as fixed, so I think that I can close it.