Bug 346792

Summary: Executable: plasmashell PID: 2894 Signal: Aborted
Product: [Plasma] plasmashell Reporter: Petr Lautrbach <plautrba>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: crash CC: bhush94, plasma-bugs, rdieter
Priority: NOR Keywords: drkonqi
Version: 5.2.2   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: plasmashell >& plasmashell.log from konsole

Description Petr Lautrbach 2015-04-27 13:42:18 UTC
Application: plasmashell (5.2.2)

Qt Version: 5.4.1
Operating System: Linux 4.1.0-0.rc0.git10.2.fc23.x86_64 x86_64
Distribution (Platform): Fedora RPMs

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

I just try to log in, it's probably problem with qt5, gcc-5 and Fedora rawhide builds

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f8070775900 (LWP 2950))]

Thread 4 (Thread 0x7f805146b700 (LWP 2952)):
#0  0x00007f806865829d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f806ea44182 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f806ea45d07 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f8052fb15e9 in QXcbEventReader::run() () at /usr/lib64/qt5/plugins/platforms/libqxcb.so
#4  0x00007f8069267e6e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f806710561a in start_thread (arg=0x7f805146b700) at pthread_create.c:333
#6  0x00007f8068663bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f804ae57700 (LWP 2954)):
#0  0x00007f8068653e9d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8063bead90 in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f8063ba6ee4 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f8063ba7390 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f8063ba74fc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f806949e69b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f80694449ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f8069262f84 in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f806d4eb765 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#9  0x00007f8069267e6e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f806710561a in start_thread (arg=0x7f804ae57700) at pthread_create.c:333
#11 0x00007f8068663bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f804256c700 (LWP 2955)):
#0  0x00007f8068653e9d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8063bead90 in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f8063ba6ee4 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f8063ba7390 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f8063ba74fc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f806949e69b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f80694449ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f8069262f84 in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f806d4eb765 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#9  0x00007f8069267e6e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f806710561a in start_thread (arg=0x7f804256c700) at pthread_create.c:333
#11 0x00007f8068663bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f8070775900 (LWP 2950)):
[KCrash Handler]
#5  0x00007f8068592b28 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#6  0x00007f80685947ba in __GI_abort () at abort.c:89
#7  0x00007f8069255728 in  () at /lib64/libQt5Core.so.5
#8  0x00005626b7835116 in  ()
#9  0x00005626b7835afa in ShellManager::loadHandlers() ()
#10 0x00005626b78571fd in ShellManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#11 0x00007f8069478a51 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#12 0x00007f806a9db7cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#13 0x00007f806a9e0e70 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#14 0x00007f806944718b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#15 0x00007f80694492c7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#16 0x00007f806949e273 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#17 0x00007f8063ba70ba in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#18 0x00007f8063ba7450 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#19 0x00007f8063ba74fc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#20 0x00007f806949e67f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#21 0x00007f80694449ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#22 0x00007f806944c53c in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#23 0x00005626b780300c in main ()

Reported using DrKonqi
Comment 1 David Edmundson 2015-04-27 13:49:05 UTC
can you run plasmashell from a terminal and paste the output here

it probably means it can't find Qt plugins path.

can you also paste the output of
echo $QML2_IMPORT_PATH
Comment 2 Petr Lautrbach 2015-04-27 14:32:21 UTC
Created attachment 92278 [details]
plasmashell >& plasmashell.log   from konsole

So it was looking for loader.qml. I had no such file so I've installed plasma-desktop and it seems to work now. Nevertheless, plasmashell shouldn't segfault even if has not satisfied dependencies.
Comment 3 David Edmundson 2015-04-27 14:35:58 UTC
Being pedantic, it didn't segfault. It raised a fatal error, which printed a line and closed.

However, I completely agree a dialog would be better and will add that.
Comment 4 David Edmundson 2015-04-28 07:56:38 UTC
Git commit 9e5f357a89273b39c9897fa6bcbb211a746f4aca by David Edmundson.
Committed on 28/04/2015 at 07:56.
Pushed by davidedmundson into branch 'master'.

Visible error messagebox on fatal loading errors
REVIEW: 123535

M  +11   -3    shell/shellmanager.cpp

http://commits.kde.org/plasma-workspace/9e5f357a89273b39c9897fa6bcbb211a746f4aca