Bug 337200

Summary: plasmashell crash when widgets are locked
Product: [Plasma] plasmashell Reporter: Antonio Rojas <arojas>
Component: generalAssignee: Sebastian Kügler <sebas>
Status: RESOLVED FIXED    
Severity: crash CC: aleixpol, bhush94, kde, notmart
Priority: HI    
Version: master   
Target Milestone: 1.0   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Antonio Rojas 2014-07-07 18:42:29 UTC
plasmashell crashes at startup when widgets are locked. Can only be fixed by removing "immutability=2" under [General] in config

Using plasma-workspace bb60c00, plasma-framework 0dba904

Backtrace:
Application: plasmashell (plasmashell), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3acb733800 (LWP 14158))]

Thread 30 (Thread 0x7f3ab50fd700 (LWP 14161)):
#0  0x00007f3ac468181d in poll () from /usr/lib/libc.so.6
#1  0x00007f3ac7c3f992 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f3ac7c4147f in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007f3ab704fb19 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#4  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 29 (Thread 0x7f3aae645700 (LWP 14162)):
#0  0x00007f3ac468181d in poll () from /usr/lib/libc.so.6
#1  0x00007f3abf926d64 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 28 (Thread 0x7f3aa560f700 (LWP 14163)):
#0  0x00007f3ac3ac39d1 in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968721 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926419 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c83 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 27 (Thread 0x7f3a9fdcf700 (LWP 14164)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9265fb in g_main_context_query () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cd2 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 26 (Thread 0x7f3a9edce700 (LWP 14165)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968749 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9267d9 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 25 (Thread 0x7f3a9cc64700 (LWP 14167)):
#0  0x00007f3ac3ac39d1 in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968721 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926e58 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f3acb11f556 in ?? () from /usr/lib/libQt5Quick.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 24 (Thread 0x7f3a8fbda700 (LWP 14168)):
#0  0x00007f3ac3ac4f33 in __pthread_mutex_unlock_usercnt () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968751 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf925e70 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c25 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 23 (Thread 0x7f3a8eb49700 (LWP 14169)):
#0  0x00007f3ac3ac4f33 in __pthread_mutex_unlock_usercnt () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968751 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926c1d in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 22 (Thread 0x7f3a8d247700 (LWP 14172)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9267ec in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3acb11f556 in ?? () from /usr/lib/libQt5Quick.so.5
#9  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#10 0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 21 (Thread 0x7f3a8ca36700 (LWP 14173)):
#0  0x00007f3abf9683bd in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926d19 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 20 (Thread 0x7f3a7b7ff700 (LWP 14174)):
#0  0x00007f3abf9683bd in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9266ae in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 19 (Thread 0x7f3a9d465700 (LWP 14176)):
#0  0x00007f3abf92418b in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf92673b in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3acb11f556 in ?? () from /usr/lib/libQt5Quick.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 18 (Thread 0x7f3a7a7fe700 (LWP 14177)):
#0  0x00007f3ac468181d in poll () from /usr/lib/libc.so.6
#1  0x00007f3abf926d64 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 17 (Thread 0x7f3a7971d700 (LWP 14178)):
#0  0x00007f3abf924193 in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf92673b in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 16 (Thread 0x7f3a8da48700 (LWP 14179)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968749 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926679 in g_main_context_query () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cd2 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3acb11f556 in ?? () from /usr/lib/libQt5Quick.so.5
#9  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#10 0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 15 (Thread 0x7f3a67fff700 (LWP 14180)):
#0  0x00007f3ac3ac39d1 in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968721 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9267ec in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 14 (Thread 0x7f3a66ffe700 (LWP 14181)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9267ec in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 13 (Thread 0x7f3a65ffd700 (LWP 14182)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926419 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c83 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3acb11f556 in ?? () from /usr/lib/libQt5Quick.so.5
#9  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#10 0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 12 (Thread 0x7f3a64ffb700 (LWP 14184)):
#0  0x00007f3ac3ac38b0 in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968721 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926419 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c83 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 11 (Thread 0x7f3a4f7ff700 (LWP 14185)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968749 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf925e70 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c25 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 10 (Thread 0x7f3a657fc700 (LWP 14186)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968749 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf9267d9 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 9 (Thread 0x7f3a4dffe700 (LWP 14187)):
#0  0x00007f3ac3ac39d1 in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968721 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926946 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926dc8 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f3a4cffd700 (LWP 14188)):
#0  0x00007f3abf9683b0 in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968749 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926400 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c83 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f3a3b7ff700 (LWP 14189)):
#0  0x00007f3ac3ac4f33 in __pthread_mutex_unlock_usercnt () from /usr/lib/libpthread.so.0
#1  0x00007f3abf968751 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926d11 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f3a3a7fe700 (LWP 14190)):
#0  0x00007f3abf9683bd in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968749 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926498 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926c83 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f3a397fd700 (LWP 14191)):
#0  0x00007f3ac4f3e2a0 in ?? () from /usr/lib/libQt5Core.so.5
#1  0x00007f3abf92640d in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926c83 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f3a2bfff700 (LWP 14192)):
#0  0x00007f3abf9683ba in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007f3abf968719 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926c55 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f3a2affe700 (LWP 14193)):
#0  0x00007f3ac3ac5b2f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f3ac9dac9e4 in ?? () from /usr/lib/libQt5Script.so.5
#2  0x00007f3ac9daca29 in ?? () from /usr/lib/libQt5Script.so.5
#3  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f3a2a7fd700 (LWP 14194)):
#0  0x00007f3ac467d7bd in read () from /usr/lib/libc.so.6
#1  0x00007f3abf9679b0 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f3abf926894 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0x00007f3abf926cfb in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f3ac4f3eedc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f3ac4cf6504 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4cfb4fe in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007f3ac3ac1124 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f3ac468a4bd in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f3acb733800 (LWP 14158)):
[KCrash Handler]
#5  0x00007f3ac45d4d67 in raise () from /usr/lib/libc.so.6
#6  0x00007f3ac45d6118 in abort () from /usr/lib/libc.so.6
#7  0x00007f3ac4ce9b88 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5
#8  0x00007f3ac4ce4884 in qt_assert(char const*, char const*, int) () from /usr/lib/libQt5Core.so.5
#9  0x000000000044fba0 in ShellCorona::addOutput (this=this@entry=0x1e23610, output=0x22043b0) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/plasma-workspace/shell/shellcorona.cpp:681
#10 0x000000000045261f in ShellCorona::load (this=0x1e23610) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/plasma-workspace/shell/shellcorona.cpp:321
#11 0x0000000000452b66 in ShellCorona::setShell (this=0x1e23610, shell=...) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/plasma-workspace/shell/shellcorona.cpp:258
#12 0x00007f3ac4f15d6e in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#13 0x0000000000479032 in ShellManager::shellChanged (this=this@entry=0x1dc7d10, _t1=...) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/build/shell/moc_shellmanager.cpp:155
#14 0x0000000000458e1a in ShellManager::updateShell (this=this@entry=0x1dc7d10) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/plasma-workspace/shell/shellmanager.cpp:231
#15 0x0000000000459fbe in ShellManager::loadHandlers (this=0x1dc7d10) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/plasma-workspace/shell/shellmanager.cpp:129
#16 0x00000000004794bd in ShellManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/build/shell/moc_shellmanager.cpp:99
#17 0x00007f3ac4f1713a in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#18 0x00007f3ac5b9c15c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007f3ac5ba16ee in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007f3ac4ee7aeb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#21 0x00007f3ac4ee9ab3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#22 0x00007f3ac4f3ead3 in ?? () from /usr/lib/libQt5Core.so.5
#23 0x00007f3abf926b84 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00007f3abf926dc8 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x00007f3abf926e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x00007f3ac4f3eec7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#27 0x00007f3ac4ee5512 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#28 0x00007f3ac4eececc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#29 0x0000000000430b80 in main (argc=3, argv=<optimized out>) at /tmp/pacaurtmp-antonio/plasma-workspace-git/src/plasma-workspace/shell/main.cpp:109


Reproducible: Always
Comment 1 Bhushan Shah 2014-07-08 03:43:43 UTC
I can reproduce this crash, yes..
Comment 2 Bhushan Shah 2014-07-08 07:06:23 UTC
Information apol asked me on IRC yesterday..

Breakpoint 1, ShellCorona::addOutput (this=0x819e038, output=0x819bd78)
    at /home/bshah/kdesrc/kde/workspace/plasma-workspace/shell/shellcorona.cpp88
688         Q_ASSERT(containment);

(gdb) list
683         QScreen* newScreen = insertScreen(screen, insertPosition);
684
685         DesktopView *view = new DesktopView(this);
686
687         Plasma::Containment *containment = createContainmentForActivity(d-ctivityController->currentActivity(), d->views.count()-1);
688         Q_ASSERT(containment);
689
690         QAction *removeAction = containment->actions()->action("remove");
691         if (removeAction) {
692             removeAction->deleteLater();

(gdb) print d->activityController->currentActivity()
$1 = {static null = {<No data fields>}, d = 0x825c980}

(gdb) print d->views.count()                        
$2 = 0

(gdb) continue
Continuing.

ASSERT: "containment" in file /home/bshah/kdesrc/kde/workspace/plasma-workspacshell/shellcorona.cpp, line 688

Program received signal SIGABRT, Aborted.
0xb7fdbb2c in __kernel_vsyscall ()
Comment 3 Marco Martin 2014-07-08 11:01:33 UTC
Git commit 04f4eaa51559b6af092351f6939143cf1ea7d71a by Marco Martin.
Committed on 08/07/2014 at 10:56.
Pushed by mart into branch 'master'.

append views as the first thing

it may still be a crash on screen added with the corona locked

M  +1    -1    shell/shellcorona.cpp

http://commits.kde.org/plasma-workspace/04f4eaa51559b6af092351f6939143cf1ea7d71a
Comment 4 Marco Martin 2014-07-08 11:06:14 UTC
a proper fix needs modifications in plasma-framework,  that is already released, that means, 5.1

it needs to temporarly unlock the corona when a containment is added for reasons like a screen has been added
Comment 5 Bhushan Shah 2014-07-11 06:43:34 UTC
*** Bug 337345 has been marked as a duplicate of this bug. ***
Comment 6 David Edmundson 2014-07-15 01:42:23 UTC
Do we need the check for immutability in
Corona::createContainment ?

removing the    " if (d->immutability == Types::Mutable) "  seems massively simpler than temporarily unlocking and locking again.
Comment 7 Marco Martin 2014-07-28 11:46:02 UTC
Git commit 546ffbc79141f1224b54ce619ebb127b9427ddb2 by Marco Martin.
Committed on 28/07/2014 at 11:41.
Pushed by mart into branch 'master'.

reintroduce containmentForScreen with defaultPlugin

reintroduces an api call from plasma1:
its the only way to solve
https://bugs.kde.org/show_bug.cgi?id=337200
basically to avoid a crash when plasma starts with missing containments in the appletsrc and a locked corona, or a screen added with locked widgets.

it's the only entry point that allows a creation of a containment when widgets are locked
REVIEW:119513

M  +20   -0    src/plasma/corona.cpp
M  +13   -0    src/plasma/corona.h

http://commits.kde.org/plasma-framework/546ffbc79141f1224b54ce619ebb127b9427ddb2
Comment 8 Marco Martin 2014-07-28 11:51:52 UTC
Git commit 66f166ff0398668d6cc569d6868fc800c552c72d by Marco Martin.
Committed on 28/07/2014 at 11:48.
Pushed by mart into branch 'mart/lookAndFeelAccess'.

when a containment for screen is needed, create it

if there isn't a containment existing for the screen, create it.
even if the whole corona is locked.
needed for instance if a new screen is conencted and we're locked
or a locked sessin starts with a malformed appletsrc

M  +2    -2    shell/shellcorona.cpp

http://commits.kde.org/plasma-workspace/66f166ff0398668d6cc569d6868fc800c552c72d
Comment 9 Marco Martin 2014-07-28 11:52:46 UTC
Git commit b8d5cae9b5bdca6bf05f9e5f6f1928c62819167e by Marco Martin.
Committed on 28/07/2014 at 11:48.
Pushed by mart into branch 'master'.

when a containment for screen is needed, create it

if there isn't a containment existing for the screen, create it.
even if the whole corona is locked.
needed for instance if a new screen is conencted and we're locked
or a locked sessin starts with a malformed appletsrc

M  +2    -2    shell/shellcorona.cpp

http://commits.kde.org/plasma-workspace/b8d5cae9b5bdca6bf05f9e5f6f1928c62819167e