Bug 374553 - Plasma crashes when docking/undocking the laptop and disabling the internal screen
Summary: Plasma crashes when docking/undocking the laptop and disabling the internal s...
Status: RESOLVED DUPLICATE of bug 373569
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.8.4
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-01-04 18:03 UTC by Martin Ueding
Modified: 2017-01-11 17:12 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 Martin Ueding 2017-01-04 18:03:14 UTC
Application: plasmashell (5.8.4)

Qt Version: 5.7.1
Frameworks Version: 5.27.0
Operating System: Linux 4.8.15-300.fc25.x86_64 x86_64
Distribution (Platform): Fedora RPMs

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

I have a ThinkPad X220 with a docking station. At home, I have two DisplayPort screens attached, at work I have one DVI and one VGA screen attached. Since the Intel Sandy Bridge iGPU can only power two screens, I disable the internal laptop screen.

Plasma crashes when I call my `thinkpad-dock off` script that uses `xrandr` to disable the external screens and enable the internal one. It can also crash when I put it back onto the docking station.

- Unusual behavior I noticed:

When docking off or docking back on, most of the time I do not have a Plasma panel at the bottom of the screen. I can fix it with an `killall plasmashell` and `plasmashell &`.

I use Fedora 25 with all updates installed.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
84	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f1a2e5564c0 (LWP 6130))]

Thread 8 (Thread 0x7f197918f700 (LWP 6159)):
#0  0x00007f1a35323ac4 in g_main_context_check (context=context@entry=0x7f1974000990, max_priority=2147483647, fds=fds@entry=0x7f19740044c0, n_fds=n_fds@entry=1) at gmain.c:3742
#1  0x00007f1a353240f4 in g_main_context_iterate (context=context@entry=0x7f1974000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3926
#2  0x00007f1a3532426c in g_main_context_iteration (context=0x7f1974000990, may_block=may_block@entry=1) at gmain.c:3990
#3  0x00007f1a3d39173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f19740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f1a3d34273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f197918ec40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f1a3d19f5f3 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:507
#6  0x00007f197ae972c7 in KCupsConnection::run() () at /lib64/libkcupslib.so
#7  0x00007f1a3d1a39da in QThreadPrivate::start(void*) (arg=0x5581c364cac0) at thread/qthread_unix.cpp:368
#8  0x00007f1a3b8df6ca in start_thread (arg=0x7f197918f700) at pthread_create.c:333
#9  0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 7 (Thread 0x7f1987328700 (LWP 6154)):
#0  0x00007f1a3c58b01d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f1a35324156 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f19800013c0, timeout=<optimized out>, context=0x7f1980000990) at gmain.c:4228
#2  0x00007f1a35324156 in g_main_context_iterate (context=context@entry=0x7f1980000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3924
#3  0x00007f1a3532426c in g_main_context_iteration (context=0x7f1980000990, may_block=may_block@entry=1) at gmain.c:3990
#4  0x00007f1a3d39173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f19800008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f1a3d34273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f1987327c10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f1a3d19f5f3 in QThread::exec() (this=this@entry=0x5581c0a5e3f0) at thread/qthread.cpp:507
#7  0x00007f1a40d958b6 in QQuickPixmapReader::run() (this=0x5581c0a5e3f0) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/quick/util/qquickpixmapcache.cpp:822
#8  0x00007f1a3d1a39da in QThreadPrivate::start(void*) (arg=0x5581c0a5e3f0) at thread/qthread_unix.cpp:368
#9  0x00007f1a3b8df6ca in start_thread (arg=0x7f1987328700) at pthread_create.c:333
#10 0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 6 (Thread 0x7f1a118e1700 (LWP 6153)):
#0  0x00007f1a3b8e5460 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f1a42c2e2f4 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x7f1a42d1a380 <QTWTF::pageheap_memory>) at /usr/src/debug/qtscript-opensource-src-5.7.1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f1a42c2e339 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at /usr/src/debug/qtscript-opensource-src-5.7.1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f1a3b8df6ca in start_thread (arg=0x7f1a118e1700) at pthread_create.c:333
#4  0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 5 (Thread 0x7f1a135d5700 (LWP 6152)):
#0  0x00007f1a3c586bed in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f1a35368450 in read (__nbytes=16, __buf=0x7f1a135d4a40, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  0x00007f1a35368450 in g_wakeup_acknowledge (wakeup=0x7f1a18002390) at gwakeup.c:210
#3  0x00007f1a35323c60 in g_main_context_check (context=context@entry=0x7f1a0c000990, max_priority=2147483647, fds=fds@entry=0x7f1a0c003070, n_fds=n_fds@entry=1) at gmain.c:3707
#4  0x00007f1a353240f4 in g_main_context_iterate (context=context@entry=0x7f1a0c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3926
#5  0x00007f1a3532426c in g_main_context_iteration (context=0x7f1a0c000990, may_block=may_block@entry=1) at gmain.c:3990
#6  0x00007f1a3d39173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f1a0c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f1a3d34273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f1a135d4c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#8  0x00007f1a3d19f5f3 in QThread::exec() (this=this@entry=0x5581c0305f70) at thread/qthread.cpp:507
#9  0x00007f1a4040d4e5 in QQmlThreadPrivate::run() (this=0x5581c0305f70) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/qml/ftw/qqmlthread.cpp:147
#10 0x00007f1a3d1a39da in QThreadPrivate::start(void*) (arg=0x5581c0305f70) at thread/qthread_unix.cpp:368
#11 0x00007f1a3b8df6ca in start_thread (arg=0x7f1a135d5700) at pthread_create.c:333
#12 0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4 (Thread 0x7f1a21094700 (LWP 6151)):
#0  0x00007f1a3c58b01d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f1a35324156 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f1a18002e70, timeout=<optimized out>, context=0x7f1a18000990) at gmain.c:4228
#2  0x00007f1a35324156 in g_main_context_iterate (context=context@entry=0x7f1a18000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3924
#3  0x00007f1a3532426c in g_main_context_iteration (context=0x7f1a18000990, may_block=may_block@entry=1) at gmain.c:3990
#4  0x00007f1a3d39173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f1a180008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f1a3d34273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f1a21093c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f1a3d19f5f3 in QThread::exec() (this=this@entry=0x5581c02b07d0) at thread/qthread.cpp:507
#7  0x00007f1a4040d4e5 in QQmlThreadPrivate::run() (this=0x5581c02b07d0) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/qml/ftw/qqmlthread.cpp:147
#8  0x00007f1a3d1a39da in QThreadPrivate::start(void*) (arg=0x5581c02b07d0) at thread/qthread_unix.cpp:368
#9  0x00007f1a3b8df6ca in start_thread (arg=0x7f1a21094700) at pthread_create.c:333
#10 0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7f1a22ad9700 (LWP 6150)):
#0  0x00007f1a35369814 in g_mutex_unlock (mutex=0x7f1a14000990) at gthread-posix.c:1348
#1  0x00007f1a3532368c in g_main_context_prepare (context=context@entry=0x7f1a14000990, priority=priority@entry=0x7f1a22ad8b00) at gmain.c:3499
#2  0x00007f1a3532407b in g_main_context_iterate (context=context@entry=0x7f1a14000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3909
#3  0x00007f1a3532426c in g_main_context_iteration (context=0x7f1a14000990, may_block=may_block@entry=1) at gmain.c:3990
#4  0x00007f1a3d39173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f1a140008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f1a3d34273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f1a22ad8c40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f1a3d19f5f3 in QThread::exec() (this=this@entry=0x7f1a3dab5060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#7  0x00007f1a3da3f739 in QDBusConnectionManager::run() (this=0x7f1a3dab5060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f1a3d1a39da in QThreadPrivate::start(void*) (arg=0x7f1a3dab5060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:368
#9  0x00007f1a3b8df6ca in start_thread (arg=0x7f1a22ad9700) at pthread_create.c:333
#10 0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7f1a2412d700 (LWP 6149)):
#0  0x00007f1a3c58b01d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f1a41551d10 in poll (__timeout=-1, __nfds=1, __fds=0x7f1a2412cb80) at /usr/include/bits/poll2.h:46
#2  0x00007f1a41551d10 in _xcb_conn_wait (c=c@entry=0x5581c01e52a0, cond=cond@entry=0x5581c01e52e0, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479
#3  0x00007f1a41553aa9 in xcb_wait_for_event (c=0x5581c01e52a0) at xcb_in.c:693
#4  0x00007f1a27981d69 in QXcbEventReader::run() (this=0x5581c01ef700) at qxcbconnection.cpp:1343
#5  0x00007f1a3d1a39da in QThreadPrivate::start(void*) (arg=0x5581c01ef700) at thread/qthread_unix.cpp:368
#6  0x00007f1a3b8df6ca in start_thread (arg=0x7f1a2412d700) at pthread_create.c:333
#7  0x00007f1a3c596f7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7f1a2e5564c0 (LWP 6130)):
[KCrash Handler]
#6  0x00007f1a3d34c49b in QMetaObject::cast(QObject const*) const (this=this@entry=0x7f1a415412e0 <Plasma::Corona::staticMetaObject>, obj=0x4864286f8b481857) at kernel/qmetaobject.cpp:366
#7  0x00007f1a3d34c4e5 in QMetaObject::cast(QObject*) const (this=this@entry=0x7f1a415412e0 <Plasma::Corona::staticMetaObject>, obj=<optimized out>) at kernel/qmetaobject.cpp:355
#8  0x00007f1a412c4d48 in qobject_cast<Plasma::Corona*>(QObject*) (object=<optimized out>) at /usr/include/qt5/QtCore/qobject.h:516
#9  0x00007f1a412c4d48 in Plasma::Containment::corona() const (this=this@entry=0x5581c0407490) at /usr/src/debug/plasma-framework-5.27.0/src/plasma/containment.cpp:315
#10 0x00007f1a412c4dc9 in Plasma::Containment::screen() const (this=0x5581c0407490) at /usr/src/debug/plasma-framework-5.27.0/src/plasma/containment.cpp:479
#11 0x00005581bec1f06c in ShellCorona::createContainmentForActivity(QString const&, int) (this=this@entry=0x5581c027c330, activity=..., screenNum=screenNum@entry=1) at /usr/src/debug/plasma-workspace-5.8.4/shell/shellcorona.cpp:1191
#12 0x00005581bec1f357 in ShellCorona::addOutput(QScreen*) (this=0x5581c027c330, screen=<optimized out>) at /usr/src/debug/plasma-workspace-5.8.4/shell/shellcorona.cpp:1154
#13 0x00007f1a3d36aae6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe799158c0, r=0x5581c027c330, this=<optimized out>) at ../../src/corelib/kernel/qobject_impl.h:101
#14 0x00007f1a3d36aae6 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x7ffe799161e0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe799158c0) at kernel/qobject.cpp:3723
#15 0x00007f1a3d36b057 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f1a3da14540 <QGuiApplication::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe799158c0) at kernel/qobject.cpp:3602
#16 0x00007f1a3d670672 in QGuiApplication::screenAdded(QScreen*) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qguiapplication.cpp:359
#17 0x00007f1a3d663fbd in QPlatformIntegration::screenAdded(QPlatformScreen*, bool) (this=<optimized out>, ps=<optimized out>, isPrimary=<optimized out>) at kernel/qplatformintegration.cpp:463
#18 0x00007f1a2798199d in QXcbConnection::createScreen(QXcbVirtualDesktop*, xcb_randr_output_change_t const&, xcb_randr_get_output_info_reply_t*) (this=this@entry=0x5581c01c4170, virtualDesktop=virtualDesktop@entry=0x5581c01f0060, outputChange=..., outputInfo=outputInfo@entry=0x7f1a1c005a10) at qxcbconnection.cpp:356
#19 0x00007f1a27983447 in QXcbConnection::updateScreens(xcb_randr_notify_event_t const*) (this=this@entry=0x5581c01c4170, event=event@entry=0x7f1a1c005c90) at qxcbconnection.cpp:267
#20 0x00007f1a27983da3 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x5581c01c4170, event=event@entry=0x7f1a1c005c90) at qxcbconnection.cpp:1250
#21 0x00007f1a27984225 in QXcbConnection::processXcbEvents() (this=0x5581c01c4170) at qxcbconnection.cpp:1741
#22 0x00007f1a3d36b879 in QObject::event(QEvent*) (this=0x5581c01c4170, e=<optimized out>) at kernel/qobject.cpp:1263
#23 0x00007f1a3dc0fecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5581c01c4170, e=0x7f1a1c003660) at kernel/qapplication.cpp:3799
#24 0x00007f1a3dc17671 in QApplication::notify(QObject*, QEvent*) (this=0x7ffe799161e0, receiver=0x5581c01c4170, e=0x7f1a1c003660) at kernel/qapplication.cpp:3556
#25 0x00007f1a3d3437aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5581c01c4170, event=event@entry=0x7f1a1c003660) at kernel/qcoreapplication.cpp:988
#26 0x00007f1a3d345e90 in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7f1a1c003660, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#27 0x00007f1a3d345e90 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x5581c01c4ca0) at kernel/qcoreapplication.cpp:1649
#28 0x00007f1a3d346368 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1503
#29 0x00007f1a3d3916a3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5581c0221450) at kernel/qeventdispatcher_glib.cpp:276
#30 0x00007f1a35323e42 in g_main_dispatch (context=0x7f1a1c0016f0) at gmain.c:3203
#31 0x00007f1a35323e42 in g_main_context_dispatch (context=context@entry=0x7f1a1c0016f0) at gmain.c:3856
#32 0x00007f1a353241c0 in g_main_context_iterate (context=context@entry=0x7f1a1c0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3929
#33 0x00007f1a3532426c in g_main_context_iteration (context=0x7f1a1c0016f0, may_block=may_block@entry=1) at gmain.c:3990
#34 0x00007f1a3d39171f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5581c02313d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#35 0x00007f1a3d34273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe79916070, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#36 0x00007f1a3d34a23c in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1261
#37 0x00005581bebfd442 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.8.4/shell/main.cpp:166

Possible duplicates by query: bug 373569.

Reported using DrKonqi
Comment 1 Marco Martin 2017-01-11 17:12:46 UTC

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