Bug 361513

Summary: Crash when switching windows shortly after disconnecting HDMI
Product: [Plasma] plasmashell Reporter: Jesse Talavera-Greenberg <jessetalavera>
Component: Task Manager and Icons-Only Task ManagerAssignee: Eike Hein <hein>
Status: RESOLVED FIXED    
Severity: crash CC: bhush94, notmart, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.4.2   
Target Milestone: 1.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jesse Talavera-Greenberg 2016-04-08 02:48:49 UTC
Application: plasmashell (5.4.2)

Qt Version: 5.4.2
Operating System: Linux 4.2.0-35-generic x86_64
Distribution: Ubuntu 15.10

-- Information about the crash:
- What I was doing when the application crashed:

Switching windows from Chromium to something else (I forget).  A few minutes prior I had disconnected my laptop from HDMI (nothing unusual happened while I was watching a video with it).

- Unusual behavior I noticed:

The screen momentarily turned all black.  Nothing looked strange after it lit up again.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f1064ec3800 (LWP 1944))]

Thread 8 (Thread 0x7f106281f700 (LWP 1946)):
#0  0x00007f107198688d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f10759cdbd2 in poll (__timeout=-1, __nfds=1, __fds=0x7f106281ecc0) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x2071200, cond=cond@entry=0x2071240, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:459
#3  0x00007f10759cf74f in xcb_wait_for_event (c=0x2071200) at ../../src/xcb_in.c:623
#4  0x00007f1064b69a39 in QXcbEventReader::run (this=0x207b600) at qxcbconnection.cpp:1105
#5  0x00007f10720792be in QThreadPrivate::start (arg=0x207b600) at thread/qthread_unix.cpp:337
#6  0x00007f10711686aa in start_thread (arg=0x7f106281f700) at pthread_create.c:333
#7  0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f1056011700 (LWP 1953)):
#0  0x00007f106e732884 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f106e73311b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f106e7332fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f10722b029b in QEventDispatcherGlib::processEvents (this=0x7f10500008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#4  0x00007f107225675a in QEventLoop::exec (this=this@entry=0x7f1056010da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007f10720743d4 in QThread::exec (this=this@entry=0x223f890) at thread/qthread.cpp:503
#6  0x00007f107489cf85 in QQmlThreadPrivate::run (this=0x223f890) at qml/ftw/qqmlthread.cpp:141
#7  0x00007f10720792be in QThreadPrivate::start (arg=0x223f890) at thread/qthread_unix.cpp:337
#8  0x00007f10711686aa in start_thread (arg=0x7f1056011700) at pthread_create.c:333
#9  0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f104a11e700 (LWP 2002)):
#0  0x00007f106e777869 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f106e732789 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f106e73311b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f106e7332fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f10722b029b in QEventDispatcherGlib::processEvents (this=0x7f10440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f107225675a in QEventLoop::exec (this=this@entry=0x7f104a11dda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f10720743d4 in QThread::exec (this=this@entry=0x2473000) at thread/qthread.cpp:503
#7  0x00007f107489cf85 in QQmlThreadPrivate::run (this=0x2473000) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f10720792be in QThreadPrivate::start (arg=0x2473000) at thread/qthread_unix.cpp:337
#9  0x00007f10711686aa in start_thread (arg=0x7f104a11e700) at pthread_create.c:333
#10 0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f10437fe700 (LWP 2012)):
#0  0x00007f107198244d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f106e7764e0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f106e732cd4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f106e733190 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f106e7332fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f10722b029b in QEventDispatcherGlib::processEvents (this=0x7f10340008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#6  0x00007f107225675a in QEventLoop::exec (this=this@entry=0x7f10437fdda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007f10720743d4 in QThread::exec (this=this@entry=0x2785110) at thread/qthread.cpp:503
#8  0x00007f107489cf85 in QQmlThreadPrivate::run (this=0x2785110) at qml/ftw/qqmlthread.cpp:141
#9  0x00007f10720792be in QThreadPrivate::start (arg=0x2785110) at thread/qthread_unix.cpp:337
#10 0x00007f10711686aa in start_thread (arg=0x7f10437fe700) at pthread_create.c:333
#11 0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f1041ef0700 (LWP 2100)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f1076c28114 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f1076c28159 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f10711686aa in start_thread (arg=0x7f1041ef0700) at pthread_create.c:333
#4  0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f103b443700 (LWP 2118)):
#0  0x00007f107198688d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f106e7331ec in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f106e7332fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f10722b029b in QEventDispatcherGlib::processEvents (this=0x7f0fb00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#4  0x00007f107225675a in QEventLoop::exec (this=this@entry=0x7f103b442d50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007f10720743d4 in QThread::exec (this=this@entry=0x2a23320) at thread/qthread.cpp:503
#6  0x00007f1075218ef6 in QQuickPixmapReader::run (this=0x2a23320) at util/qquickpixmapcache.cpp:797
#7  0x00007f10720792be in QThreadPrivate::start (arg=0x2a23320) at thread/qthread_unix.cpp:337
#8  0x00007f10711686aa in start_thread (arg=0x7f103b443700) at pthread_create.c:333
#9  0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f0fa545f700 (LWP 2623)):
#0  0x00007f106e777884 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f106e732770 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f106e73311b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f106e7332fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f10722b029b in QEventDispatcherGlib::processEvents (this=0x7f0fa00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f107225675a in QEventLoop::exec (this=this@entry=0x7f0fa545ed80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f10720743d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f0fa645c8f7 in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so
#8  0x00007f10720792be in QThreadPrivate::start (arg=0x4f260a0) at thread/qthread_unix.cpp:337
#9  0x00007f10711686aa in start_thread (arg=0x7f0fa545f700) at pthread_create.c:333
#10 0x00007f1071991e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f1064ec3800 (LWP 1944)):
[KCrash Handler]
#6  0x000000000000002f in ?? ()
#7  0x00007f1074808b41 in QQmlEnginePrivate::cache (obj=0x63780f0, this=0x2782fd0) at qml/qqmlengine_p.h:430
#8  QQmlData::ensurePropertyCache (engine=0x276f470, object=object@entry=0x63780f0) at qml/qqmlengine.cpp:1748
#9  0x00007f10747e272f in QV4::QObjectWrapper::create (engine=engine@entry=0x278bc50, object=object@entry=0x63780f0) at jsruntime/qv4qobjectwrapper.cpp:669
#10 0x00007f10747e33f3 in QV4::QObjectWrapper::wrap (engine=0x278bc50, object=0x63780f0) at jsruntime/qv4qobjectwrapper.cpp:603
#11 0x00007f107489ef9c in QV8Engine::fromVariant (this=this@entry=0x278bbe0, variant=...) at qml/v8/qv8engine.cpp:404
#12 0x00007f1074890347 in QV4::QmlContextWrapper::get (m=<optimized out>, name=<optimized out>, hasProperty=0x7ffe57569680) at qml/qqmlcontextwrapper.cpp:234
#13 0x00007f107477bc4a in QV4::Object::get (hasProperty=0x7ffe57569680, name=0x7f10427ceda0, this=<optimized out>) at jsruntime/qv4object_p.h:252
#14 QV4::ExecutionContext::getProperty (this=0x7ffe57569770, name=0x7f10427ceda0) at jsruntime/qv4context.cpp:379
#15 0x00007f104012292e in ?? ()
#16 0x00007f0fae7ddf80 in __bss_start () from /usr/lib/x86_64-linux-gnu/libtaskmanager.so.5
#17 0x0000000001000006 in ?? ()
#18 0x0000000001000006 in ?? ()
#19 0x00007f0fae5a05de in QHash<unsigned long long, QHashDummyValue>::contains (akey=@0x7ffe575696f8: 16777222, this=0x7f10427fe070) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:901
#20 QSet<unsigned long long>::contains (value=@0x7ffe575696f8: 16777222, this=0x7f10427fe070) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h:94
#21 TaskManager::Task::hasTransient (this=<optimized out>, w=16777222) at ../../libtaskmanager/task.cpp:330
#22 0x00007f10427cf6a0 in ?? ()
#23 0x00007f1048a35000 in ?? ()
#24 0x00007f10747a76d6 in QV4::SimpleScriptFunction::call (that=0x7f10427fe0d0, callData=<optimized out>) at jsruntime/qv4functionobject.cpp:512
#25 0x00007f1074883c98 in QV4::Object::call (d=0x7f1074883c98 <QQmlJavaScriptExpression::evaluate(QQmlContextData*, QV4::ValueRef, QV4::CallData*, bool*)+648>, this=<optimized out>) at ../../include/QtQml/5.4.2/QtQml/private/../../../../../src/qml/jsruntime/qv4object_p.h:278
#26 QQmlJavaScriptExpression::evaluate (this=this@entry=0x42ff560, context=<optimized out>, function=function@entry=..., callData=callData@entry=0x7f10427fe008, isUndefined=isUndefined@entry=0x0) at qml/qqmljavascriptexpression.cpp:158
#27 0x00007f10748287d6 in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=a@entry=0x0) at qml/qqmlboundsignal.cpp:281
#28 0x00007f107482901b in QQmlBoundSignal_callback (e=0x42ccef8, a=0x0) at qml/qqmlboundsignal.cpp:408
#29 0x00007f1074867507 in QQmlNotifier::emitNotify (endpoint=0x42ccef8, a=a@entry=0x0) at qml/qqmlnotifier.cpp:73
#30 0x00007f10748070fc in QQmlData::signalEmitted (object=0x42cdb60, index=3, a=0x0) at qml/qqmlengine.cpp:722
#31 0x00007f1072289090 in QMetaObject::activate (sender=0x42cdb60, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3603
#32 0x00007f1072289f87 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f10749e2920 <QQmlTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3582
#33 0x00007f107490b1e0 in QQmlTimer::triggered (this=<optimized out>) at .moc/moc_qqmltimer_p.cpp:250
#34 0x00007f10748fadca in QQmlTimer::event (this=0x42cdb60, e=<optimized out>) at types/qqmltimer.cpp:334
#35 0x00007f1072d36b8c in QApplicationPrivate::notify_helper (this=this@entry=0x2064810, receiver=receiver@entry=0x42cdb60, e=e@entry=0x62200c0) at kernel/qapplication.cpp:3720
#36 0x00007f1072d3c230 in QApplication::notify (this=0x7ffe5756a310, receiver=0x42cdb60, e=0x62200c0) at kernel/qapplication.cpp:3503
#37 0x00007f1072258f1b in QCoreApplication::notifyInternal (this=0x7ffe5756a310, receiver=0x42cdb60, event=event@entry=0x62200c0) at kernel/qcoreapplication.cpp:935
#38 0x00007f107225b057 in QCoreApplication::sendEvent (event=0x62200c0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#39 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x2059d70) at kernel/qcoreapplication.cpp:1552
#40 0x00007f107225b588 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1410
#41 0x00007f10722afe73 in postEventSourceDispatch (s=0x2056b60) at kernel/qeventdispatcher_glib.cpp:271
#42 0x00007f106e732ff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f106e733250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f106e7332fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f10722b027f in QEventDispatcherGlib::processEvents (this=0x210a5b0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#46 0x00007f107225675a in QEventLoop::exec (this=this@entry=0x7ffe5756a190, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#47 0x00007f107225e2cc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#48 0x00007f107257300c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#49 0x00007f1072d33025 in QApplication::exec () at kernel/qapplication.cpp:2956
#50 0x00000000004322c3 in main (argc=2, argv=<optimized out>) at ../../shell/main.cpp:176

Reported using DrKonqi
Comment 1 Marco Martin 2016-08-18 10:43:32 UTC
Git commit f1699fe543dace21563f88d2921e8645bcf89ee8 by Marco Martin.
Committed on 18/08/2016 at 10:39.
Pushed by mart into branch 'master'.

use QQuickViewSharedEngine::setTranslationDomain

setting the domain by just using kdeclarative would lead to
setting the domain on the wrong QQmlContext,
sometimes overwriting it on the global context, causing
unexpected crashes deep in qml
reviewed-by: Ivan Čukić <ivan.cukic@kde.org>

M  +1    -6    src/plasmaquick/containmentview.cpp

http://commits.kde.org/plasma-framework/f1699fe543dace21563f88d2921e8645bcf89ee8