This forum has been archived. All content is frozen. Please use KDE Discuss instead.

How to debug plugin compatability problems

Tags: None
(comma "," separated)
dev_nll
Registered Member
Posts
3
Karma
0
OS
Hi All,

I've got a reliable plasma crash on startup. I've just upgraded my kubuntu desktop, and I'm getting a lot of messages in .xsession-errors like:

plasma-desktop(3053)/libplasma Plasma::isPluginVersionCompatible: unversioned plugin detected, may result in instability

...and those two things are making me guess that I've probably got some old plugins that aren't compatable with the latest version, which is breaking plasma. Can anyone please point me at where to look to determine which plugin(s) might be failing? I don't really want to start from a completely fresh config, so I'd prefer to just disable whats broke and leave the rest.

I'm running kubuntu 13.04.
Code: Select all
$ plasma-desktop --version
Qt: 4.8.4
KDE Development Platform: 4.10.3
Plasma Desktop Shell: 4.10.3


I've tried following advice from other posts which suggested clearing .xsession-errors, then enabling anything plasma-related in kdebugdialog. This results in (no surprise) lots of data, but its not clear to me what might be causing the plasma crash. (I could post the whole output here - and will, if anyone thinks its useful - but I'm really looking to learn how to figure this out myself, rather than have someone fix it for me...)
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Do you have a backtrace (Developer Information) from your Plasma Desktop crash?
Also, have you tried moving the Plasma Desktop configuration files elsewhere temporarily, to see if a default configuration starts successfully?

If it does not, it may be worth checking to see if all packages were fully updated in the upgrade (sometimes they get missed for various reasons - which can include the repository not yet being 100% up to date).


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
dev_nll
Registered Member
Posts
3
Karma
0
OS
Thanks for the reply.

I did have a stack trace from the KDE crash handler... but for some reason it is no longer running every time I restart, and I don't appear to have kept a copy. I'll see if I can get it to trigger again, but it didn't identify a specific plugin / element in any way that I could recognise.

Plasma does start fine if I move the plasma config aside (sorry, should have mentioned that) which is part of why I'm convinced it must be some add-on or plugin I installed in previous versions causing the crash. My problem is that I'd rather not build my config back up from scratch, and I'm hoping there is some more efficient method of identifying the broken element than trial-and-error replacing bits of my old config until it starts successfully. I thought perhaps there might be a log file somewhere that showed individual UI elements starting up, but if its there, its in some file or some form that I'm not recognising.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Plasma Desktop might be starting up with the "--nocrashhandler" argument - designed to prevent repeated spawns of the crash assistant.
If it is, try restarting plasma-desktop by running the following in Konsole:
Code: Select all
kquitapp plasma-desktop
sleep 20s
plasma-desktop &


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
dev_nll
Registered Member
Posts
3
Karma
0
OS
Here's a backtrace.

If I start to try to report the crash, it flags it as a duplicate of an existing bug. And in any case, the fact that a clean config makes it run fine seemed to indicate that the problem is not with plasma itself, but with one or more of my plugins.

Code: Select all
Application: Plasma Desktop Shell (plasma-desktop), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8c37c987c0 (LWP 31171))]

Thread 5 (Thread 0x7f8c12e8e700 (LWP 31172)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8c309cae77 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f8c309caea9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f8c2815f764 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#4  0x00007f8c2b0c5f8e in start_thread (arg=0x7f8c12e8e700) at pthread_create.c:311
#5  0x00007f8c37587e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f8c119cf700 (LWP 31173)):
#0  0x00007f8c3757b3cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8c2a9c31dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8c2a9c3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8c34167036 in QEventDispatcherGlib::processEvents (this=0x7f8c0c0008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f8c3413738f in QEventLoop::processEvents (this=this@entry=0x7f8c119cecd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f8c34137618 in QEventLoop::exec (this=this@entry=0x7f8c119cecd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f8c34039410 in QThread::exec (this=this@entry=0x1257090) at thread/qthread.cpp:542
#7  0x00007f8c34118edf in QInotifyFileSystemWatcherEngine::run (this=0x1257090) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f8c3403bbec in QThreadPrivate::start (arg=0x1257090) at thread/qthread_unix.cpp:338
#9  0x00007f8c2815f764 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#10 0x00007f8c2b0c5f8e in start_thread (arg=0x7f8c119cf700) at pthread_create.c:311
#11 0x00007f8c37587e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f8c01ee4700 (LWP 31175)):
#0  0x00007f8c2aa025f1 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f8c2a9c2c61 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8c2a9c3175 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8c2a9c3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8c34167036 in QEventDispatcherGlib::processEvents (this=0x7f8bfc0008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f8c3413738f in QEventLoop::processEvents (this=this@entry=0x7f8c01ee3cd0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f8c34137618 in QEventLoop::exec (this=this@entry=0x7f8c01ee3cd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f8c34039410 in QThread::exec (this=this@entry=0x2f89a60) at thread/qthread.cpp:542
#8  0x00007f8c34118edf in QInotifyFileSystemWatcherEngine::run (this=0x2f89a60) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007f8c3403bbec in QThreadPrivate::start (arg=0x2f89a60) at thread/qthread_unix.cpp:338
#10 0x00007f8c2815f764 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#11 0x00007f8c2b0c5f8e in start_thread (arg=0x7f8c01ee4700) at pthread_create.c:311
#12 0x00007f8c37587e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f8bf8115700 (LWP 31180)):
#0  __libc_enable_asynccancel () at ../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:57
#1  0x00007f8c3757b3c2 in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0x00007f8c2a9c31dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8c2a9c3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8c34167036 in QEventDispatcherGlib::processEvents (this=0x7f8bf00008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f8c3413738f in QEventLoop::processEvents (this=this@entry=0x7f8bf8114cc0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f8c34137618 in QEventLoop::exec (this=this@entry=0x7f8bf8114cc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f8c34039410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#8  0x00007f8bfa0526e5 in KCupsConnection::run() () from /usr/lib/libkcupslib.so
#9  0x00007f8c3403bbec in QThreadPrivate::start (arg=0x44c9580) at thread/qthread_unix.cpp:338
#10 0x00007f8c2815f764 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#11 0x00007f8c2b0c5f8e in start_thread (arg=0x7f8bf8115700) at pthread_create.c:311
#12 0x00007f8c37587e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f8c37c987c0 (LWP 31171)):
[KCrash Handler]
#6  0x00007f8c35d33944 in QDeclarativeItem::~QDeclarativeItem (this=0x4939600, __in_chrg=<optimized out>) at graphicsitems/qdeclarativeitem.cpp:1668
#7  0x00007f8c35cf810e in ~QDeclarativeElement (this=0x4939600, __in_chrg=<optimized out>) at ../../include/QtDeclarative/../../src/declarative/qml/qdeclarativeprivate.h:87
#8  QDeclarativePrivate::QDeclarativeElement<QDeclarativeItem>::~QDeclarativeElement (this=0x4939600, __in_chrg=<optimized out>) at ../../include/QtDeclarative/../../src/declarative/qml/qdeclarativeprivate.h:87
#9  0x00007f8c341525e8 in QObject::event (this=0x4939600, e=<optimized out>) at kernel/qobject.cpp:1175
#10 0x00007f8c334de8ec in QApplicationPrivate::notify_helper (this=this@entry=0x123fb10, receiver=receiver@entry=0x4939600, e=e@entry=0x3934690) at kernel/qapplication.cpp:4567
#11 0x00007f8c334e125b in QApplication::notify (this=this@entry=0x11e9580, receiver=receiver@entry=0x4939600, e=e@entry=0x3934690) at kernel/qapplication.cpp:4428
#12 0x00007f8c34dfcaf6 in KApplication::notify (this=0x11e9580, receiver=0x4939600, event=0x3934690) at ../../kdeui/kernel/kapplication.cpp:311
#13 0x00007f8c3413863e in QCoreApplication::notifyInternal (this=0x11e9580, receiver=receiver@entry=0x4939600, event=event@entry=0x3934690) at kernel/qcoreapplication.cpp:946
#14 0x00007f8c3413c171 in sendEvent (event=0x3934690, receiver=0x4939600) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#15 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=52, data=0x112d1f0) at kernel/qcoreapplication.cpp:1570
#16 0x00007f8c3413c4a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=52) at kernel/qcoreapplication.cpp:1463
#17 0x00007f8c3413cd2d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#18 0x00007f8c3789346b in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_plasma-desktop.so
#19 0x00007f8c374afea5 in __libc_start_main (main=0x4006e0, argc=1, ubp_av=0x7fff246b8758, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff246b8748) at libc-start.c:260
#20 0x0000000000400711 in _start ()
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Hm, unfortunately that trace does not indicate which applet is at fault. Do you have a link to the bug report which it is duplicated against?
The only hints I can offer is that it is written in QML - and is not part of the default set of applets.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]