Bug 368969 - Crashed after changing look'n'feel
Summary: Crashed after changing look'n'feel
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: 5
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-09-17 19:03 UTC by Tony
Modified: 2016-09-26 13:10 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Comment access to invalid pointer (526 bytes, patch)
2016-09-20 15:03 UTC, Elvis Angelaccio
Details
System-settings crash on wayland 2 (8.29 KB, text/plain)
2016-09-21 07:36 UTC, Tony
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tony 2016-09-17 19:03:40 UTC
Application: dolphin (16.11.70)

Qt Version: 5.7.0
Frameworks Version: 5.27.0
Operating System: Linux 4.4.0-36-generic x86_64
Distribution: KDE neon User Edition 5.7

-- Information about the crash:
- What I was doing when the application crashed:
I had 1 instance of dolphin running, change look'n'feel from "Breeze Dark" to "Breeze", crash happen immediately after.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7efc3946b8c0 (LWP 3815))]

Thread 7 (Thread 0x7efc14bfa700 (LWP 3822)):
#0  0x00007efc38e55e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efc2deb539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007efc2deb54ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007efc33b4d23b in QEventDispatcherGlib::processEvents (this=0x7efc100008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007efc33af7cea in QEventLoop::exec (this=this@entry=0x7efc14bf9d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#5  0x00007efc3391cfb4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#6  0x00007efc33921b98 in QThreadPrivate::start (arg=0x15f7e50) at thread/qthread_unix.cpp:344
#7  0x00007efc2ffda6fa in start_thread (arg=0x7efc14bfa700) at pthread_create.c:333
#8  0x00007efc38e61b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7efc18628700 (LWP 3821)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc22261aa3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#2  0x00007efc22261907 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#3  0x00007efc2ffda6fa in start_thread (arg=0x7efc18628700) at pthread_create.c:333
#4  0x00007efc38e61b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7efc18e29700 (LWP 3820)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc22261aa3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#2  0x00007efc22261907 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#3  0x00007efc2ffda6fa in start_thread (arg=0x7efc18e29700) at pthread_create.c:333
#4  0x00007efc38e61b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7efc1962a700 (LWP 3819)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc22261aa3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#2  0x00007efc22261907 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#3  0x00007efc2ffda6fa in start_thread (arg=0x7efc1962a700) at pthread_create.c:333
#4  0x00007efc38e61b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7efc20d12700 (LWP 3818)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007efc22261aa3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#2  0x00007efc22261907 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#3  0x00007efc2ffda6fa in start_thread (arg=0x7efc20d12700) at pthread_create.c:333
#4  0x00007efc38e61b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7efc245b2700 (LWP 3817)):
#0  0x00007efc38e55e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007efc2deb539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007efc2deb54ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007efc33b4d23b in QEventDispatcherGlib::processEvents (this=0x7efc1c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007efc33af7cea in QEventLoop::exec (this=this@entry=0x7efc245b1cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#5  0x00007efc3391cfb4 in QThread::exec (this=this@entry=0x7efc395c4d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#6  0x00007efc395507a5 in QDBusConnectionManager::run (this=0x7efc395c4d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:196
#7  0x00007efc33921b98 in QThreadPrivate::start (arg=0x7efc395c4d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:344
#8  0x00007efc2ffda6fa in start_thread (arg=0x7efc245b2700) at pthread_create.c:333
#9  0x00007efc38e61b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7efc3946b8c0 (LWP 3815)):
[KCrash Handler]
#6  QWindow::parent (this=0x0) at kernel/qwindow.cpp:614
#7  0x00007efc2480731c in Breeze::ShadowHelper::uninstallWaylandShadows (this=0x1244f50, widget=0x14144e0) at /workspace/build/kstyle/breezeshadowhelper.cpp:536
#8  0x00007efc248075fc in Breeze::ShadowHelper::unregisterWidget (this=0x1244f50, widget=widget@entry=0x14144e0) at /workspace/build/kstyle/breezeshadowhelper.cpp:154
#9  0x00007efc2481b239 in Breeze::Style::unpolish (this=0x12371e0, widget=0x14144e0) at /workspace/build/kstyle/breezestyle.cpp:435
#10 0x00007efc343ea39c in QApplication::setStyle (style=0x18603e0) at kernel/qapplication.cpp:1207
#11 0x00007efc343eaff6 in QApplication::setStyle (style=...) at kernel/qapplication.cpp:1311
#12 0x00007efc25126d1d in KHintsSettings::slotNotifyChange (this=0x1212f60, type=<optimized out>, arg=<optimized out>) at /workspace/build/src/platformtheme/khintssettings.cpp:284
#13 0x00007efc25132705 in KHintsSettings::qt_metacall (this=0x1212f60, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffe4bdb2540) at /workspace/build/obj-x86_64-linux-gnu/src/platformtheme/moc_khintssettings.cpp:117
#14 0x00007efc3955cae3 in QDBusConnectionPrivate::deliverCall (this=<optimized out>, object=<optimized out>, msg=..., metaTypes=..., slotIdx=<optimized out>) at qdbusintegrator.cpp:983
#15 0x00007efc33b25a19 in QObject::event (this=0x1212f60, e=<optimized out>) at kernel/qobject.cpp:1263
#16 0x00007efc343e589c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1212f60, e=0x7efc1c011510) at kernel/qapplication.cpp:3799
#17 0x00007efc343ed296 in QApplication::notify (this=0x7ffe4bdb2c40, receiver=0x1212f60, e=0x7efc1c011510) at kernel/qapplication.cpp:3556
#18 0x00007efc33af9cf8 in QCoreApplication::notifyInternal2 (receiver=0x1212f60, event=event@entry=0x7efc1c011510) at kernel/qcoreapplication.cpp:988
#19 0x00007efc33afc3bb in QCoreApplication::sendEvent (event=0x7efc1c011510, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#20 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x11e6fa0) at kernel/qcoreapplication.cpp:1649
#21 0x00007efc33afc828 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1503
#22 0x00007efc33b4ce13 in postEventSourceDispatch (s=0x125c890) at kernel/qeventdispatcher_glib.cpp:276
#23 0x00007efc2deb51a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007efc2deb5400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007efc2deb54ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007efc33b4d21f in QEventDispatcherGlib::processEvents (this=0x12575f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#27 0x00007efc33af7cea in QEventLoop::exec (this=this@entry=0x7ffe4bdb2b00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#28 0x00007efc33b002fc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#29 0x00007efc33e42d9c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1639
#30 0x00007efc343e57f5 in QApplication::exec () at kernel/qapplication.cpp:2975
#31 0x00007efc3918b806 in kdemain (argc=1, argv=<optimized out>) at /workspace/build/src/main.cpp:150
#32 0x00007efc38d7b830 in __libc_start_main (main=0x4006b0 <main(int, char**)>, argc=1, argv=0x7ffe4bdb2dc8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe4bdb2db8) at ../csu/libc-start.c:291
#33 0x00000000004006e9 in _start ()

Reported using DrKonqi
Comment 1 Tony 2016-09-17 19:07:36 UTC
Forgot to mention, this happens on virtualbox vm + wayland session.
Comment 2 Elvis Angelaccio 2016-09-19 18:10:49 UTC
Stacktrace points to the breeze style, moving the report there.
Comment 3 Hugo Pereira Da Costa 2016-09-19 19:43:48 UTC
Adding kwin people for they added the wayland shadows
Comment 4 Elvis Angelaccio 2016-09-20 15:03:37 UTC
Created attachment 101202 [details]
Comment access to invalid pointer

I can reproduce the crash with plasma 5.7.5 and frameworks 5.26. Btw dolphin is not the only application that crashes, same happens to systemsettings and even qtcreator.

The attached patch (not intended as bugfix) shows where the crash is triggered (i.e. when parent() is called).
Comment 5 Hugo Pereira Da Costa 2016-09-20 15:08:32 UTC
Assigning to kwin. I'm no expert on wayland, don't have a wayland setup to test, and don't know why this line of code is there. Maybe Martin does.
Comment 6 Tony 2016-09-21 07:36:47 UTC
Created attachment 101205 [details]
System-settings crash on wayland 2
Comment 7 Tony 2016-09-21 07:37:02 UTC
Had another crashed today, on my main Neon install (not a vm), as soon as i clicked "Gnome application style". System setting does not have a reporting link added....

I attached the backtrace of this one, hope it helps clear things out.
Comment 8 Hugo Pereira Da Costa 2016-09-21 07:43:28 UTC
(In reply to Tony from comment #7)
> Had another crashed today, on my main Neon install (not a vm), as soon as i
> clicked "Gnome application style". System setting does not have a reporting
> link added....
> 
> I attached the backtrace of this one, hope it helps clear things out.

This crash is unrelated (deletion of kstyle). 
It is due to deletion of the style with unloading the plugin.
Should be fixed after committing https://git.reviewboard.kde.org/r/128761/ (or https://git.reviewboard.kde.org/r/128760)
Comment 9 Hugo Pereira Da Costa 2016-09-26 13:09:21 UTC
Git commit 614b5cbf3711dc43b8f76057ab7cf6c9c99fd3f7 by Hugo Pereira Da Costa.
Committed on 26/09/2016 at 13:08.
Pushed by hpereiradacosta into branch 'Plasma/5.8'.

Check widget->windowHandle() before accessing its parent

M  +1    -1    kstyle/breezeshadowhelper.cpp

http://commits.kde.org/breeze/614b5cbf3711dc43b8f76057ab7cf6c9c99fd3f7
Comment 10 Hugo Pereira Da Costa 2016-09-26 13:10:53 UTC
Git commit 7717a77457d65210577dba55e468accae3ff33f1 by Hugo Pereira Da Costa.
Committed on 26/09/2016 at 13:10.
Pushed by hpereiradacosta into branch 'Plasma/5.8'.

Check widget->windowHandle() before accessing its parent

M  +1    -1    kstyle/oxygenshadowhelper.cpp

http://commits.kde.org/oxygen/7717a77457d65210577dba55e468accae3ff33f1