Bug 385342 - Segmentation fault when switching between look and feel themes
Summary: Segmentation fault when switching between look and feel themes
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Global Theme packages (show other bugs)
Version: 5.10.5
Platform: Neon Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-03 21:36 UTC by Lucas
Modified: 2018-09-14 19:47 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lucas 2017-10-03 21:36:26 UTC
When I switch between look and feel themes I get a dr konqi notification saying that plasma has crashed, while generating backtrace all I get is some info about segmentation fault.

How to reproduce
1.Download United theme from kde store, apply it with (use desktop layout from theme checked), 
2.switch to breeze, 
3.dr konqi notification saying that plasma has crashed.

Debug symbols for plasma are installed. I can reproduce it every time

I attached gdb to running plasma process and here is what I got

KDE Neon stable
Plasma 5.10.5
Qt 5.9.1
KDE frameworks 5.38

lucas@lucas-T520:~$ sudo gdb plasmashell 4705
[sudo] password for lucas: 
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from plasmashell...Reading symbols from /usr/lib/debug/.build-id/23/d5be4ab26d5779be7874c9a0e9f5cb576871d3.debug...done.
done.
Attaching to program: /usr/bin/plasmashell, process 4705
[New LWP 4706]
[New LWP 4707]
[New LWP 4708]
[New LWP 4710]
[New LWP 4717]
[New LWP 4720]
[New LWP 4779]
[New LWP 4786]
[New LWP 4788]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fab6d10130d in nanosleep () at ../sysdeps/unix/syscall-template.S:84
84      ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) bt full
#0  0x00007fab6d10130d in nanosleep () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fab6d10125a in __sleep (seconds=0) at ../sysdeps/posix/sleep.c:55
        save_errno = 9
        ts = {tv_sec = 0, tv_nsec = 9239987}
#2  0x00007fab7269faba in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Crash.so.5
No symbol table info available.
#3  0x00007fab726a0239 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Crash.so.5
No symbol table info available.
#4  0x00007fab726a0725 in KCrash::defaultCrashHandler(int) () from /usr/lib/x86_64-linux-gnu/libKF5Crash.so.5
No symbol table info available.
#5  <signal handler called>
No locals.
#6  0x00007fab6de1eee4 in QScreen::name() const () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#7  0x000000000043af23 in ShellCorona::screenForContainment (this=0x1ce0690, containment=0x1e55720)
    at /workspace/build/shell/shellcorona.cpp:1902
No locals.
#8  0x000000000043ac7f in ShellCorona::screenForContainment (this=0x1ce0690, containment=0x506d340)
    at /workspace/build/shell/shellcorona.cpp:1886
        cont = <optimized out>
#9  0x00007faaac2e1540 in NotificationsApplet::onScreenChanges (this=0x4983170)
    at /workspace/build/applets/notifications/lib/notificationsapplet.cpp:70
No locals.
#10 0x00007fab6da2ff46 in QtPrivate::QSlotObjectBase::call (a=0x7ffdf61eb5a0, r=0x4983170, this=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
No locals.
#11 QMetaObject::activate (sender=0x1ce0690, signalOffset=<optimized out>, local_signal_index=<optimized out>, 
    argv=<optimized out>) at kernel/qobject.cpp:3749
        obj = {d = 0x48914f0}
        receiver = 0x4983170
        receiverInSameThread = <optimized out>
        sw = {receiver = 0x4983170, previousSender = 0x0, currentSender = {sender = 0x1ce0690, signal = 8, ref = 1}, 
          switched = true}
        c = 0x4891520
---Type <return> to continue, or q <return> to quit---return
        last = 0x476d240
        locker = {val = 140374258225840}
        connectionLists = {connectionLists = 0x1d17d70}
        list = <optimized out>
        currentThreadId = 0x7fab728ea8c0
        signal_index = 8
        empty_argv = {0x0}
#12 0x00007fab6da2ff46 in QtPrivate::QSlotObjectBase::call (a=0x7ffdf61eb710, r=0x1ce0690, this=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
No locals.
#13 QMetaObject::activate (sender=0x434a280, signalOffset=<optimized out>, local_signal_index=<optimized out>, 
    argv=<optimized out>) at kernel/qobject.cpp:3749
        obj = {d = 0x43497f0}
        receiver = 0x1ce0690
        receiverInSameThread = <optimized out>
        sw = {receiver = 0x1ce0690, previousSender = 0x7ffdf61ebd90, currentSender = {sender = 0x434a280, signal = 15, 
            ref = 1}, switched = true}
        c = 0x4345b70
        last = 0x4345b70
        locker = {val = 140374258226032}
        connectionLists = {connectionLists = 0x4705c90}
        list = <optimized out>
        currentThreadId = 0x7fab728ea8c0
        signal_index = 15
        empty_argv = {0x0}
#14 0x00007fab6ddf9102 in QWindow::visibleChanged(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#15 0x00007fab6ddfe970 in QWindow::setVisible(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#16 0x00007fab6de00209 in QWindowPrivate::destroy() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#17 0x00007fab6de00402 in QWindow::~QWindow() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#18 0x00007fab709669b4 in QQuickWindow::~QQuickWindow() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
No symbol table info available.
---Type <return> to continue, or q <return> to quit---return
#19 0x000000000042cd79 in PanelView::~PanelView (this=0x434a280, __in_chrg=<optimized out>)
    at /workspace/build/shell/panelview.cpp:115
No locals.
#20 0x000000000043f117 in qDeleteAll<QHash<Plasma::Containment const*, PanelView*>::const_iterator> (end=..., begin=...)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:320
No locals.
#21 qDeleteAll<QHash<Plasma::Containment const*, PanelView*> > (c=...)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:328
No locals.
#22 ShellCorona::unload (this=this@entry=0x1ce0690) at /workspace/build/shell/shellcorona.cpp:869
No locals.
#23 0x00000000004481f8 in ShellCorona::unload (this=0x1ce0690) at /workspace/build/shell/shellcorona.cpp:619
No locals.
#24 ShellCorona::loadLookAndFeelDefaultLayout (this=0x1ce0690, packageName=...) at /workspace/build/shell/shellcorona.cpp:631
        newPack = <incomplete type>
        conf = {d = 0x1c9e7c0}
#25 0x0000000000473481 in PlasmaShellAdaptor::loadLookAndFeelDefaultLayout (layout=..., this=0x1d1b710)
    at /workspace/build/obj-x86_64-linux-gnu/shell/plasmashelladaptor.cpp:63
No locals.
#26 PlasmaShellAdaptor::qt_static_metacall (_o=_o@entry=0x1d1b710, _id=_id@entry=4, _a=_a@entry=0x7ffdf61ebb00, 
    _c=QMetaObject::InvokeMetaMethod) at /workspace/build/obj-x86_64-linux-gnu/shell/plasmashelladaptor.moc:146
        _t = 0x1d1b710
#27 0x0000000000473703 in PlasmaShellAdaptor::qt_static_metacall (_a=0x7ffdf61ebb00, _id=4, 
    _c=QMetaObject::InvokeMetaMethod, _o=0x1d1b710) at /workspace/build/obj-x86_64-linux-gnu/shell/plasmashelladaptor.moc:184
No locals.
#28 PlasmaShellAdaptor::qt_metacall (this=0x1d1b710, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7ffdf61ebb00)
    at /workspace/build/obj-x86_64-linux-gnu/shell/plasmashelladaptor.moc:185
No locals.
#29 0x00007fab72a35ee3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
No symbol table info available.
#30 0x00007fab72a3a958 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
No symbol table info available.
#31 0x00007fab72a3b0ab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
No symbol table info available.
#32 0x00007fab72a3d96e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
---Type <return> to continue, or q <return> to quit---return
No symbol table info available.
#33 0x00007fab6da30c59 in QObject::event (this=0x1ce0690, e=<optimized out>) at kernel/qobject.cpp:1246
        mce = <optimized out>
        sw = {receiver = 0x1ce0690, previousSender = 0x0, currentSender = {sender = 0x7fab500030f0, signal = -1, ref = 1}, 
          switched = true}
#34 0x00007fab6e36b3fc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1ce0690, e=0x7fab500447b0)
    at kernel/qapplication.cpp:3717
        consumed = <optimized out>
        this = <optimized out>
        e = 0x7fab500447b0
        receiver = 0x1ce0690
#35 0x00007fab6e372e07 in QApplication::notify (this=0x7ffdf61ec400, receiver=0x1ce0690, e=0x7fab500447b0)
    at kernel/qapplication.cpp:3476
        w = 0x1ce0690
        extra = <optimized out>
        isProxyWidget = <optimized out>
        res = false
#36 0x00007fab6da03798 in QCoreApplication::notifyInternal2 (receiver=0x1ce0690, event=event@entry=0x7fab500447b0)
    at kernel/qcoreapplication.cpp:1018
        selfRequired = true
        result = false
        cbdata = {0x1ce0690, 0x7fab500447b0, 0x7ffdf61ebf8f}
        d = <optimized out>
        threadData = 0x1c50b90
        scopeLevelCounter = {threadData = 0x1c50b90}
#37 0x00007fab6da05f7b in QCoreApplication::sendEvent (event=0x7fab500447b0, receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
No locals.
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1c50b90)
    at kernel/qcoreapplication.cpp:1678
        e = 0x7fab500447b0
        pe = <optimized out>
        r = <optimized out>
        unlocker = {m = <synthetic pointer>}
        event_deleter = {d = 0x7fab500447b0}
---Type <return> to continue, or q <return> to quit---return
        locker = {val = 29690816}
        startOffset = 0
        i = @0x1c50bb4: 1
        cleanup = {receiver = 0x0, event_type = 0, data = 0x1c50b90, exceptionCaught = true}
#39 0x00007fab6da063e8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1532
        data = <optimized out>
#40 0x00007fab6da59323 in postEventSourceDispatch (s=0x1c92860) at kernel/qeventdispatcher_glib.cpp:276
        source = 0x1c92860
#41 0x00007fab68acd197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#42 0x00007fab68acd3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#43 0x00007fab68acd49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#44 0x00007fab6da5892f in QEventDispatcherGlib::processEvents (this=0x1ca0f50, flags=...)
    at kernel/qeventdispatcher_glib.cpp:423
        d = 0x1c97fd0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#45 0x00007fab6da017ca in QEventLoop::exec (this=this@entry=0x7ffdf61ec290, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:212
        d = 0x1cf4340
        locker = {val = 29691040}
        ref = {d = 0x1cf4340, locker = @0x7ffdf61ec210, exceptionCaught = true}
#46 0x00007fab6da0a704 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1291
        threadData = 0x1c50b90
        eventLoop = {<QObject> = {_vptr.QObject = 0x7fab6dcba428 <vtable for QEventLoop+16>, static staticMetaObject = {d = {
                superdata = 0x0, stringdata = 0x7fab6dbbe260 <qt_meta_stringdata_QObject>, 
                data = 0x7fab6dbbe140 <qt_meta_data_QObject>, 
                static_metacall = 0x7fab6da37ac0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
                relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x1cf4340}, static staticQtMetaObject = {d = {
                superdata = 0x0, stringdata = 0x7fab6dbc0ee0 <qt_meta_stringdata_Qt>, 
                data = 0x7fab6dbbe380 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, 
---Type <return> to continue, or q <return> to quit---return
                extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7fab6dcb2920 <QObject::staticMetaObject>, 
              stringdata = 0x7fab6dbba5e0 <qt_meta_stringdata_QEventLoop>, data = 0x7fab6dbba580 <qt_meta_data_QEventLoop>, 
              static_metacall = 0x7fab6da01500 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
              relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#47 0x000000000041cd68 in main (argc=1, argv=<optimized out>) at /workspace/build/shell/main.cpp:166
        app = {<QGuiApplication> = {<No data fields>}, static staticMetaObject = {d = {
              superdata = 0x7fab6e1fc180 <QGuiApplication::staticMetaObject>, 
              stringdata = 0x7fab6e6f5080 <qt_meta_stringdata_QApplication>, 
              data = 0x7fab6e6f4f00 <qt_meta_data_QApplication>, 
              static_metacall = 0x7fab6e3708b0 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
              relatedMetaObjects = 0x0, extradata = 0x0}}}
        aboutData = {d = 0x1cb5680}
        service = <incomplete type>

Video showing the issue
https://streamable.com/iyptv
Comment 1 David Edmundson 2017-10-03 21:44:09 UTC

>#9  0x00007faaac2e1540 in NotificationsApplet::onScreenChanges (this=0x4983170)

I've seen a bunch of these that I've been marking as dupes for ages. 

But you're pretty up to date:

KDE Neon stable
Plasma 5.10.5
Qt 5.9.1
KDE frameworks 5.38

this is clearly not the same issue and still not fixed :/
Comment 2 Lucas 2017-10-03 21:57:00 UTC
BTW I can also reproduce it on Kubuntu 17.10 beta 2, will try on neon dev unstable
Comment 3 Marco Martin 2018-03-19 17:32:40 UTC
*** Bug 390092 has been marked as a duplicate of this bug. ***
Comment 4 Lucas 2018-03-26 19:37:12 UTC
I can't reproduce it anymore, so closing for now
Comment 5 Andrius Štikonas 2018-09-14 19:47:36 UTC
(In reply to Lucas from comment #4)
> I can't reproduce it anymore, so closing for now

I can still reproduce my issue #390092. Should I reopen that bug (which was marked as duplicate of this?