Bug 353429

Summary: plasma crash on login because of switching to terminal
Product: [Plasma] plasmashell Reporter: Andreas Roth <aroth>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED DUPLICATE    
Severity: crash CC: bhush94, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.4.1   
Target Milestone: 1.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Andreas Roth 2015-10-02 04:40:55 UTC
Application: plasmashell (5.4.1)

Qt Version: 5.4.2
Operating System: Linux 4.2.0-12-generic x86_64
Distribution: Ubuntu Wily Werewolf (development branch)

-- Information about the crash:
- What I was doing when the application crashed:
i use sddm as login manager
i press login for my user account and plasma session was started
i switched to my running console session to check on progress
i switched back to my plasma session which was still loading when i returned
after plasma finished loading the plasma crash dialog was open

from the stack dump i would assume the OpenGL context was "shomehow" broken and caused the crash.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f7a5e62d800 (LWP 16715))]

Thread 8 (Thread 0x7f7a48d0a700 (LWP 16856)):
#0  0x00007f7a58d9e8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f7a5ce1cbd2 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f7a5ce1e74f in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f7a4b9339e9 in QXcbEventReader::run() (this=0x14f8740) at qxcbconnection.cpp:1105
#4  0x00007f7a5949d2be in QThreadPrivate::start(void*) (arg=0x14f8740) at thread/qthread_unix.cpp:337
#5  0x00007f7a5857a6aa in start_thread (arg=0x7f7a48d0a700) at pthread_create.c:333
#6  0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f7a42402700 (LWP 19199)):
#0  0x00007f7a55b498b4 in g_mutex_unlock (mutex=0x7f7a3c0009b0) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gthread-posix.c:1350
#1  0x00007f7a55b04770 in g_main_context_prepare (context=context@entry=0x7f7a3c0009b0, priority=priority@entry=0x7f7a42401c70) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3440
#2  0x00007f7a55b0511b in g_main_context_iterate (context=context@entry=0x7f7a3c0009b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3820
#3  0x00007f7a55b052fc in g_main_context_iteration (context=0x7f7a3c0009b0, may_block=may_block@entry=1) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3901
#4  0x00007f7a596d429b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f7a3c0008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f7a5967a75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f7a42401da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f7a594983d4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f7a5bcc7f85 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f7a5949d2be in QThreadPrivate::start(void*) (arg=0x1628950) at thread/qthread_unix.cpp:337
#9  0x00007f7a5857a6aa in start_thread (arg=0x7f7a42402700) at pthread_create.c:333
#10 0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f7a37b02700 (LWP 19625)):
#0  0x00007f7a55b49899 in g_mutex_lock (mutex=mutex@entry=0x7f7a30000990) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gthread-posix.c:1338
#1  0x00007f7a55b050f0 in g_main_context_iterate (context=context@entry=0x7f7a30000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3807
#2  0x00007f7a55b052fc in g_main_context_iteration (context=0x7f7a30000990, may_block=may_block@entry=1) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3901
#3  0x00007f7a596d429b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f7a300008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#4  0x00007f7a5967a75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f7a37b01da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007f7a594983d4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#6  0x00007f7a5bcc7f85 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f7a5949d2be in QThreadPrivate::start(void*) (arg=0x19523f0) at thread/qthread_unix.cpp:337
#8  0x00007f7a5857a6aa in start_thread (arg=0x7f7a37b02700) at pthread_create.c:333
#9  0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f7a358b2700 (LWP 19839)):
#0  0x00007f7a58d9a49d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f7a51b0d073 in  () at /usr/lib/nvidia-355/tls/libnvidia-tls.so.355.11
#2  0x00007f7a55b48510 in g_wakeup_acknowledge (__nbytes=16, __buf=0x7f7a358b1ba0, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#3  0x00007f7a55b48510 in g_wakeup_acknowledge (wakeup=0x7f7a28002780) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gwakeup.c:210
#4  0x00007f7a55b04cd4 in g_main_context_check (context=context@entry=0x7f7a2c000990, max_priority=2147483647, fds=fds@entry=0x7f7a2c003070, n_fds=n_fds@entry=1) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3632
#5  0x00007f7a55b05190 in g_main_context_iterate (context=context@entry=0x7f7a2c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3837
#6  0x00007f7a55b052fc in g_main_context_iteration (context=0x7f7a2c000990, may_block=may_block@entry=1) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3901
#7  0x00007f7a596d429b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f7a2c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#8  0x00007f7a5967a75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f7a358b1da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#9  0x00007f7a594983d4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#10 0x00007f7a5bcc7f85 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007f7a5949d2be in QThreadPrivate::start(void*) (arg=0x1b653c0) at thread/qthread_unix.cpp:337
#12 0x00007f7a5857a6aa in start_thread (arg=0x7f7a358b2700) at pthread_create.c:333
#13 0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f7a27fff700 (LWP 20357)):
#0  0x00007f7a5857fda0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a5e091114 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x7f7a5e179ee0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f7a5e091159 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f7a5857a6aa in start_thread (arg=0x7f7a27fff700) at pthread_create.c:333
#4  0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f79a56ea700 (LWP 20978)):
#0  0x00007f7a58d9e8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f7a55b051ec in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7f79a0004b30, timeout=<optimized out>, context=0x7f79a0007480) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:4135
#2  0x00007f7a55b051ec in g_main_context_iterate (context=context@entry=0x7f79a0007480, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3835
#3  0x00007f7a55b052fc in g_main_context_iteration (context=0x7f79a0007480, may_block=may_block@entry=1) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3901
#4  0x00007f7a596d429b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f79a00013d0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f7a5967a75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f79a56e9d50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f7a594983d4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f7a5c654ef6 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007f7a5949d2be in QThreadPrivate::start(void*) (arg=0x1f44810) at thread/qthread_unix.cpp:337
#9  0x00007f7a5857a6aa in start_thread (arg=0x7f79a56ea700) at pthread_create.c:333
#10 0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f79a4be8700 (LWP 21041)):
[KCrash Handler]
#6  0x00007f7a58d3101e in __strstr_sse2 (haystack_start=0x0, needle_start=0x7f7a5c840d0e "nouveau") at ../string/strstr.c:63
#7  0x00007f7a5c6a580a in QSGRenderContext::initialize(QOpenGLContext*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007f7a5c6c8619 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007f7a5949d2be in QThreadPrivate::start(void*) (arg=0x1f29d60) at thread/qthread_unix.cpp:337
#10 0x00007f7a5857a6aa in start_thread (arg=0x7f79a4be8700) at pthread_create.c:333
#11 0x00007f7a58da9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f7a5e62d800 (LWP 16715)):
#0  0x00007f7a5857fda0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a5949e55b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x1f52b10) at thread/qwaitcondition_unix.cpp:136
#2  0x00007f7a5949e55b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x1f29da0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007f7a5c6c483b in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#4  0x00007f7a5c6c732f in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007f7a5c6c793b in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f7a599ab855 in QWindow::event(QEvent*) (this=0x1d8e7d0, ev=<optimized out>) at kernel/qwindow.cpp:2058
#7  0x00007f7a5c6f7fd3 in QQuickWindow::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x000000000043e906 in DesktopView::event(QEvent*) ()
#9  0x00007f7a5a164b8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x14caea0, receiver=receiver@entry=0x1d8e7d0, e=e@entry=0x7ffcae61f4e0) at kernel/qapplication.cpp:3720
#10 0x00007f7a5a16a230 in QApplication::notify(QObject*, QEvent*) (this=0x7ffcae61f920, receiver=0x1d8e7d0, e=0x7ffcae61f4e0) at kernel/qapplication.cpp:3503
#11 0x00007f7a5967cf1b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7ffcae61f920, receiver=receiver@entry=0x1d8e7d0, event=event@entry=0x7ffcae61f4e0) at kernel/qcoreapplication.cpp:935
#12 0x00007f7a599a43c6 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (event=0x7ffcae61f4e0, receiver=0x1d8e7d0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#13 0x00007f7a599a43c6 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x1f2d1b0) at kernel/qguiapplication.cpp:2616
#14 0x00007f7a599a510d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=e@entry=0x1f2d1b0) at kernel/qguiapplication.cpp:1638
#15 0x00007f7a5998a648 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:572
#16 0x00007f7a4b9601e0 in userEventSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#17 0x00007f7a55b04ff7 in g_main_context_dispatch (context=0x7f7a44001710) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3154
#18 0x00007f7a55b04ff7 in g_main_context_dispatch (context=context@entry=0x7f7a44001710) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3769
#19 0x00007f7a55b05250 in g_main_context_iterate (context=context@entry=0x7f7a44001710, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3840
#20 0x00007f7a55b052fc in g_main_context_iteration (context=0x7f7a44001710, may_block=may_block@entry=1) at /build/glib2.0-pRoDo9/glib2.0-2.46.0/./glib/gmain.c:3901
#21 0x00007f7a596d427f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x1523be0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#22 0x00007f7a5967a75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcae61f7a0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#23 0x00007f7a596822cc in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1188
#24 0x00000000004322c3 in main ()

Reported using DrKonqi
Comment 1 David Edmundson 2015-10-03 22:33:54 UTC

*** This bug has been marked as a duplicate of bug 348812 ***
Comment 2 David Edmundson 2015-10-03 22:34:44 UTC
So it normally works, this was a once off because of the VT switching?

Can you reproduce it?

What graphic card do you have?
Comment 3 Andreas Roth 2015-10-04 07:00:24 UTC
I just tried again and the crash occurred again.

Here are the details about my graphics card:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 740/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 355.11
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile