https://bugs.kde.org/show_bug.cgi?id=374553

            Bug ID: 374553
           Summary: Plasma crashes when docking/undocking the laptop and
                    disabling the internal screen
           Product: plasmashell
           Version: 5.8.4
          Platform: Fedora RPMs
                OS: Linux
            Status: UNCONFIRMED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: k...@davidedmundson.co.uk
          Reporter: von.kde....@martin-ueding.de
                CC: bhus...@gmail.com, plasma-b...@kde.org
  Target Milestone: 1.0

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

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to