Bug 362907 - kwin_x11 crashes in QtCurve::Style::disconnectDBus()
Summary: kwin_x11 crashes in QtCurve::Style::disconnectDBus()
Status: RESOLVED DUPLICATE of bug 363753
Alias: None
Product: QtCurve
Classification: Frameworks and Libraries
Component: qt5 (show other bugs)
Version: git
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Yichao Yu
URL: https://bugs.debian.org/823674
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-10 21:18 UTC by Boris Pek
Modified: 2016-08-16 08:58 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Pek 2016-05-10 21:18:21 UTC
After updating QtCurve from 1.8.18+git20160112-0cd6aae (1.8.18-247-gd126bd5) to 1.8.18+git20160320-3d8622c (1.8.18-251-g3d8622c) users report about multiple kwin_x11 crashes at KDE startup.

Typical backtrace looks like this:
Program received signal SIGSEGV, Segmentation fault.
0xb52fdb78 in QDBusConnection::QDBusConnection(QDBusConnection const&) ()
   from /usr/lib/i386-linux-gnu/libQt5DBus.so.5
(gdb) bt full
#0  0xb52fdb78 in QDBusConnection::QDBusConnection(QDBusConnection const&) ()
   from /usr/lib/i386-linux-gnu/libQt5DBus.so.5
No symbol table info available.
#1  0xb53008f4 in QDBusConnection::sessionBus() ()
   from /usr/lib/i386-linux-gnu/libQt5DBus.so.5
No symbol table info available.
#2  0xb0a9d11a in QtCurve::Style::disconnectDBus (this=0x809f690)
    at ../../../qt5/style/qtcurve.cpp:694
        cb = <optimized out>
        bus = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0xb5356e20, 
              data = 0xb5356ce0, static_metacall = 0x0, relatedMetaObjects = 0x0, 
              extradata = 0x0}}, d = 0x8062238}
#3  0xb0a9d429 in QtCurve::Style::<lambda(void*)>::operator()(void *) (data=<optimized out>, 
    __closure=<optimized out>) at ../../../qt5/style/qtcurve.cpp:663
No locals.
#4  0xb0ae2678 in QtCurve::runAllCleanups () at ../../../qt5/style/qtcurve_plugin.cpp:86
        func = <optimized out>
        data = <optimized out>
#5  0xb0ae2884 in QtCurve::StylePlugin::~StylePlugin (this=0x809c310, 
    __in_chrg=<optimized out>) at ../../../qt5/style/qtcurve_plugin.cpp:167
No locals.
#6  0xb0ae28ca in QtCurve::StylePlugin::~StylePlugin (this=0x809c310, 
    __in_chrg=<optimized out>) at ../../../qt5/style/qtcurve_plugin.cpp:170
No locals.
#7  0xb6b198b5 in ?? () from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#8  0xb6b11c54 in ?? () from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#9  0xb6b11e5a in ?? () from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#10 0xb6b5cf3c in QObject::~QObject() () from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#11 0xb6b10e33 in QFactoryLoader::~QFactoryLoader() ()
   from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#12 0xb747beb8 in ?? () from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#13 0xb7dfa933 in __run_exit_handlers (status=1, listp=0xb7f803dc <__exit_funcs>, 
    run_list_atexit=true) at exit.c:82
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
#14 0xb7dfa98f in __GI_exit (status=1) at exit.c:104
No locals.
#15 0xb7f86e39 in ?? () from /usr/lib/i386-linux-gnu/libkdeinit5_kwin_x11.so
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#16 0xb6b551d0 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#17 0xb6b55aad in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
No symbol table info available.
#18 0xb7a8e3e2 in KSelectionOwner::failedToClaimOwnership() ()
   from /usr/lib/i386-linux-gnu/libKF5WindowSystem.so.5
No symbol table info available.
#19 0xb7a79319 in KSelectionOwner::claim(bool, bool) ()
   from /usr/lib/i386-linux-gnu/libKF5WindowSystem.so.5
No symbol table info available.
#20 0xb7f87aab in ?? () from /usr/lib/i386-linux-gnu/libkdeinit5_kwin_x11.so
No symbol table info available.
#21 0xb7b91ff4 in KWin::Application::start() () from /usr/lib/i386-linux-gnu/libkwin.so.5
No symbol table info available.
#22 0xb7f885ac in kdemain () from /usr/lib/i386-linux-gnu/libkdeinit5_kwin_x11.so
No symbol table info available.
#23 0x08048607 in main ()
No symbol table info available.

Another example:
https://bugs.debian.org/823674

Reproducible: Always

Steps to Reproduce:
1. Login to KDE Plasma 5.
2. kwin_x11 crashes.
3. Close crash dialog window.
4. kwin_x11 crashes again.
5. Close crash dialog window.
6. kwin_x11 crashes again.
7. ...

Actual Results:  
Despite this annoying crash dialog all programs works like expected. Or I have missed something...

Expected Results:  
QtCurve should work as earlier after this code refactoring.

System: up to date Debian testing or unstable
Libraries: Qt -- 5.5.1, KF5 -- 5.16.0, kwin-x11 -- 5.4.3
Comment 1 Yichao Yu 2016-05-10 22:07:19 UTC
The commit fixes segfault on a Qt upgrade. I do have to workaround a number of bugs so maybe it's fine to disable it on 5.5 ....
Comment 2 beojan 2016-05-22 13:32:40 UTC
I'm using KF5.22 and Qt 5.6.0. KWin doesn't crash but other programs (e.g. kactivitymanagerd) do crash at startup, in disconnectDBus as in this bug.
Comment 3 Kott 2016-05-23 08:51:34 UTC
I confirm next crashes:
korgac, kactivitymanagerd - at startup
dolphin - at logoff
ktorrent5 - starting with argument (actually, didn't kill app, but crash-reports started)
pasmashell - occasional
Qt 5.6.0 OpenSuse Tumbleweed
Comment 4 Yichao Yu 2016-08-16 08:58:38 UTC
See more detail at https://bugs.kde.org/show_bug.cgi?id=363753 AFAICT it's a Qt5 bug.

*** This bug has been marked as a duplicate of bug 363753 ***