Package: plasma-workspace
Version: 4:5.3.2-2
Severity: grave
Tags: patch
Justification: renders package unusable

Dear Maintainer,

since yesterday's upgrade of plasma-workspace, it's not possible for me to 
start a plasma-session.
plasmashell crashes immediately (see attached krash output [1]) with a segfault.

There seems to be a problem with creating a new PlasmoidTask:

>> snippet of [1]
> #6  0x00007fa2da93d2f0 in QObject::setParent(QObject*) () from 
> /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #7  0x00007fa1e8fd2073 in SystemTray::PlasmoidTask::PlasmoidTask 
> (this=0x5ce6e00, packageName=..., appletId=<optimized out>, cont=0x557be10, 
> parent=<optimized out>) at 
> ../../../../applets/systemtray/plugin/protocols/plasmoid/plasmoidtask.cpp:57
> #8  0x00007fa1e8fd4fe1 in SystemTray::PlasmoidProtocol::newTask 
> (this=this@entry=0x57e4a20, service=...) at 
> ../../../../applets/systemtray/plugin/protocols/plasmoid/plasmoidprotocol.cpp:206

Since my /var/log partition resides on an tmpfs, I can't provide any 
information of other package
updates on the same day.

After having a look to the PlasmoidTask ctor in plasmoidtask.cpp, I saw that 
the m_applet reference,
which is retrieved from the PluginLoader with loadApplet, was dereferenced in 
line 57. But a few
lines later the reference is checked for not null.

I created a patch [2] which moved the not null check right after the assignemnt 
of m_applet,
this allows me to start my plasma session again.

This patch makes plasmashell more robust, but it seems not to be the root cause 
of the loadApplet
not working correctly.

hth, regards
Michael


[1] plasmashell-20150719-142814.kcrash.txt
[2] plasmoid_creation_fix_null_check.patch



-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (900, 'testing'), (600, 'mike'), (503, 'unstable'), (502, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.0.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages plasma-workspace depends on:
ii  dbus-x11                            1.8.18-1
ii  frameworkintegration                5.12.0-1
ii  gdb                                 7.7.1+dfsg-5
ii  kactivities                         5.12.0-1
ii  kde-cli-tools                       4:5.3.2-2
ii  kded5                               5.12.0-1
ii  kinit                               5.12.0-1
ii  kio                                 5.12.0-1
ii  kio-extras                          4:5.3.2-2
ii  libc6                               2.19-18
ii  libcln6                             1.3.4-1
ii  libdbusmenu-qt5-2                   0.9.3+15.10.20150604-1
ii  libgcc1                             1:5.1.1-14
ii  libgps21                            3.11-3
ii  libice6                             2:1.0.9-1+b1
ii  libkf5activities5                   5.12.0-1
ii  libkf5auth5                         5.12.0-1
ii  libkf5baloo1                        5.9.2-3
ii  libkf5bookmarks5                    5.12.0-1
ii  libkf5completion5                   5.12.0-1
ii  libkf5configcore5                   5.12.0-1
ii  libkf5configgui5                    5.12.0-1
ii  libkf5configwidgets5                5.12.0-1
ii  libkf5coreaddons5                   5.12.0-1
ii  libkf5crash5                        5.12.0-1
ii  libkf5dbusaddons5                   5.12.0-1
ii  libkf5declarative5                  5.12.0-2
ii  libkf5globalaccel-bin               5.12.0-1
ii  libkf5globalaccel5                  5.12.0-1
ii  libkf5guiaddons5                    5.12.0-1
ii  libkf5i18n5                         5.12.0-1
ii  libkf5iconthemes5                   5.12.0-1
ii  libkf5idletime5                     5.12.0-1
ii  libkf5itemviews5                    5.12.0-1
ii  libkf5jobwidgets5                   5.12.0-1
ii  libkf5js5                           5.12.0-1
ii  libkf5jsembed5                      5.12.0-1
ii  libkf5kdelibs4support5              5.12.0-2
ii  libkf5kiocore5                      5.12.0-1
ii  libkf5kiofilewidgets5               5.12.0-1
ii  libkf5kiowidgets5                   5.12.0-1
ii  libkf5networkmanagerqt6             5.12.0-1
ii  libkf5newstuff5                     5.12.0-1
ii  libkf5notifications5                5.12.0-1
ii  libkf5notifyconfig5                 5.12.0-1
ii  libkf5package5                      5.12.0-1
ii  libkf5plasma5                       5.11.0-1
ii  libkf5plasmaquick5                  5.11.0-1
ii  libkf5runner5                       5.12.0-1
ii  libkf5screen6                       4:5.3.2-1
ii  libkf5service-bin                   5.12.0-1
ii  libkf5service5                      5.12.0-1
ii  libkf5solid5                        5.12.0-1
ii  libkf5su5                           5.12.0-1
ii  libkf5texteditor5                   5.12.0-1
ii  libkf5textwidgets5                  5.12.0-1
ii  libkf5wallet5                       5.12.0-1
ii  libkf5waylandclient5                4:5.3.2-1
ii  libkf5waylandserver5                4:5.3.2-1
ii  libkf5webkit5                       5.12.0-1
ii  libkf5widgetsaddons5                5.12.0-1
ii  libkf5windowsystem5                 5.12.0-1
ii  libkf5xmlgui5                       5.12.0-1
ii  libkf5xmlrpcclient5                 5.12.0-1
ii  libksgrd7                           4:5.3.2-2
ii  libkworkspace5-5                    4:5.3.2-2
ii  libpam0g                            1.1.8-3.1
ii  libphonon4qt5-4                     4:4.8.0-5
ii  libplasma-geolocation-interface5    4:5.3.2-2
ii  libprocesscore7                     4:5.3.2-2
ii  libprocessui7                       4:5.3.2-2
ii  libqalculate5                       0.9.7-9
ii  libqt5core5a                        5.4.2+dfsg-4
ii  libqt5dbus5                         5.4.2+dfsg-4
ii  libqt5gui5                          5.4.2+dfsg-4
ii  libqt5network5                      5.4.2+dfsg-4
ii  libqt5qml5                          5.4.2-3
ii  libqt5quick5                        5.4.2-3
ii  libqt5script5                       5.4.2+dfsg-2
ii  libqt5sql5                          5.4.2+dfsg-4
ii  libqt5webkit5                       5.4.2+dfsg-2
ii  libqt5widgets5                      5.4.2+dfsg-4
ii  libqt5x11extras5                    5.4.2-2
ii  libqt5xml5                          5.4.2+dfsg-4
ii  libsm6                              2:1.2.2-1+b1
ii  libstdc++6                          5.1.1-14
ii  libtaskmanager5                     4:5.3.2-2
ii  libwayland-client0                  1.8.1-1
ii  libwayland-server0                  1.8.1-1
ii  libweather-ion7                     4:5.3.2-2
ii  libx11-6                            2:1.6.3-1
ii  libxcb-keysyms1                     0.4.0-1
ii  libxcb1                             1.10-3+b1
ii  libxfixes3                          1:5.0.1-2+b2
ii  libxi6                              2:1.7.4-1+b2
ii  libxrender1                         1:0.9.8-1+b1
ii  milou                               4:5.3.2-1
ii  plasma-framework                    5.11.0-1
ii  qdbus-qt5                           5.4.2-2
ii  qml-module-org-kde-extensionplugin  5.12.0-1
ii  qml-module-org-kde-kwindowsystem    5.11.0-1
ii  qml-module-qtgraphicaleffects       5.4.2-2
ii  qml-module-qtquick-controls         5.4.2-2
ii  qml-module-qtquick-dialogs          5.4.2-2
ii  qml-module-qtquick-layouts          5.4.2-2
ii  qml-module-qtquick-window2          5.4.2-3
ii  qml-module-qtquick2                 5.4.2-3
ii  qtdeclarative5-kf5declarative       5.11.0-1
ii  qtdeclarative5-kf5solid             5.12.0-1
ii  qttools5-dev-tools                  5.4.2-2
ii  udisks2                             2.1.6-1
ii  x11-utils                           7.7+3
ii  x11-xserver-utils                   7.7+4
ii  zlib1g                              1:1.2.8.dfsg-2+b1

plasma-workspace recommends no packages.

plasma-workspace suggests no packages.

-- no debconf information
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa2df4b3940 (LWP 10023))]

Thread 23 (Thread 0x7fa2cac4a700 (LWP 10025)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2de101252 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fa2de102ddf in xcb_wait_for_event () from 
/usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fa2cc764aa9 in ?? () from 
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
#4  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2d96950a4 in start_thread (arg=0x7fa2cac4a700) at 
pthread_create.c:309
#6  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 22 (Thread 0x7fa2c9ee3700 (LWP 10031)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa2c9ee3700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 21 (Thread 0x7fa2c1142700 (LWP 10035)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa2c1142700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 20 (Thread 0x7fa2b6fae700 (LWP 10040)):
#0  0x00007fa2da95a227 in QTimerInfoList::repairTimersIfNeeded() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fa2da95a2a3 in QTimerInfoList::timerWait(timespec&) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fa2da95b72e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fa2d6c283fd in g_main_context_prepare () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2d6c28de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fa2d96950a4 in start_thread (arg=0x7fa2b6fae700) at 
pthread_create.c:309
#12 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 19 (Thread 0x7fa2b5f1d700 (LWP 10041)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa2b5f1d700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 18 (Thread 0x7fa2b4e1c700 (LWP 10042)):
#0  0x00007fa2d6c6d734 in g_mutex_unlock () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c28490 in g_main_context_prepare () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa2d96950a4 in start_thread (arg=0x7fa2b4e1c700) at 
pthread_create.c:309
#10 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 17 (Thread 0x7fa2a77ff700 (LWP 10043)):
#0  0x00007fa2da0945dd in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c6c280 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c2896c in g_main_context_check () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28e60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fa2d96950a4 in start_thread (arg=0x7fa2a77ff700) at 
pthread_create.c:309
#11 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 16 (Thread 0x7fa2a67fe700 (LWP 10044)):
#0  0x00007fa2da70bb7f in QMutex::unlock() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fa2da95bca5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fa2d6c288c1 in g_main_context_check () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28e60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fa2d96950a4 in start_thread (arg=0x7fa2a67fe700) at 
pthread_create.c:309
#11 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 15 (Thread 0x7fa2a57fd700 (LWP 10045)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa2a57fd700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 14 (Thread 0x7fa293fff700 (LWP 10046)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa293fff700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 13 (Thread 0x7fa292ffe700 (LWP 10047)):
#0  0x00007fa2da0945dd in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c6c280 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c2896c in g_main_context_check () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28e60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fa2d96950a4 in start_thread (arg=0x7fa292ffe700) at 
pthread_create.c:309
#11 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 12 (Thread 0x7fa291df5700 (LWP 10048)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa291df5700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 11 (Thread 0x7fa290df4700 (LWP 10049)):
#0  0x00007fa2d6c6d719 in g_mutex_lock () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c288cc in g_main_context_check () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28e60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa2d96950a4 in start_thread (arg=0x7fa290df4700) at 
pthread_create.c:309
#10 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 10 (Thread 0x7fa2837ff700 (LWP 10050)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at 
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fa2def07644 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007fa2def07689 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007fa2d96950a4 in start_thread (arg=0x7fa2837ff700) at 
pthread_create.c:309
#4  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 9 (Thread 0x7fa282ffe700 (LWP 10051)):
#0  0x00007fa2d6c283a8 in g_main_context_prepare () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c28de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa282ffe700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fa280a80700 (LWP 10052)):
#0  0x00007fa2d6c6d734 in g_mutex_unlock () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c28e76 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa280a80700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fa1f6f22700 (LWP 10053)):
#0  0x00007fa2da0945dd in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c6c280 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c2896c in g_main_context_check () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28e60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2dd41aa86 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fa2d96950a4 in start_thread (arg=0x7fa1f6f22700) at 
pthread_create.c:309
#11 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fa1f5a21700 (LWP 10054)):
#0  0x00007fa2d6c6d719 in g_mutex_lock () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c28409 in g_main_context_prepare () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa2d96950a4 in start_thread (arg=0x7fa1f5a21700) at 
pthread_create.c:309
#10 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fa1e8c7a700 (LWP 10055)):
#0  0x00007fa2d6c25f02 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c2839b in g_main_context_prepare () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa2d96950a4 in start_thread (arg=0x7fa1e8c7a700) at 
pthread_create.c:309
#10 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fa1df7ff700 (LWP 10056)):
#0  0x00007fa2d6c6d719 in g_mutex_lock () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c28ea2 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa1df7ff700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fa1de7fe700 (LWP 10057)):
#0  0x00007fa2d6c6d734 in g_mutex_unlock () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa2d6c288b9 in g_main_context_check () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28e60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa2d96950a4 in start_thread (arg=0x7fa1de7fe700) at 
pthread_create.c:309
#10 0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fa1dd7fd700 (LWP 10058)):
#0  0x00007fa2da09850d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa2d6c28ebc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa2da95c35c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa2da70e8b4 in QThread::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa2dcf9cf05 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fa2da71387e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa2d96950a4 in start_thread (arg=0x7fa1dd7fd700) at 
pthread_create.c:309
#9  0x00007fa2da0a104d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fa2df4b3940 (LWP 10023)):
[KCrash Handler]
#6  0x00007fa2da93d2f0 in QObject::setParent(QObject*) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa1e8fd2073 in SystemTray::PlasmoidTask::PlasmoidTask 
(this=0x5ce6e00, packageName=..., appletId=<optimized out>, cont=0x557be10, 
parent=<optimized out>) at 
../../../../applets/systemtray/plugin/protocols/plasmoid/plasmoidtask.cpp:57
#8  0x00007fa1e8fd4fe1 in SystemTray::PlasmoidProtocol::newTask 
(this=this@entry=0x57e4a20, service=...) at 
../../../../applets/systemtray/plugin/protocols/plasmoid/plasmoidprotocol.cpp:206
#9  0x00007fa1e8fd7cc8 in SystemTray::PlasmoidProtocol::restorePlasmoids 
(this=this@entry=0x57e4a20) at 
../../../../applets/systemtray/plugin/protocols/plasmoid/plasmoidprotocol.cpp:177
#10 0x00007fa1e8fd8467 in SystemTray::PlasmoidProtocol::init (this=0x57e4a20) 
at 
../../../../applets/systemtray/plugin/protocols/plasmoid/plasmoidprotocol.cpp:99
#11 0x00007fa1e8fc6e96 in SystemTray::HostPrivate::setupProtocol 
(this=<optimized out>, protocol=0x57e4a20) at 
../../../../applets/systemtray/plugin/host.cpp:353
#12 0x00007fa1e8fc7dba in SystemTray::Host::init (this=0x57e5c20) at 
../../../../applets/systemtray/plugin/host.cpp:114
#13 0x00007fa1e8fdb475 in SystemTray::Host::qt_static_metacall (_o=<optimized 
out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at 
moc_host.cpp:183
#14 0x00007fa2da934e8a in QObject::event(QEvent*) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007fa2db401adc in QApplicationPrivate::notify_helper(QObject*, QEvent*) 
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007fa2db406fb0 in QApplication::notify(QObject*, QEvent*) () from 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007fa2da9033ab in QCoreApplication::notifyInternal(QObject*, QEvent*) 
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fa2da90541b in QCoreApplicationPrivate::sendPostedEvents(QObject*, 
int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007fa2da95bf33 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fa2d6c28c3d in g_main_context_dispatch () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fa2d6c28f20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fa2d6c28fcc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fa2da95c347 in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007fa2da900b62 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fa2da9087ac in QCoreApplication::exec() () from 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x0000000000430a43 in main (argc=3, argv=<optimized out>) at 
../../shell/main.cpp:154
Description: Fix: dereference-before-null-check
 The instance m_applet was dereferenced (which can be NULL if loadApplet fails)
 a few lines before a NULL check to m_applet is done. Moving the NULL check before
 the dereference to avoid crashing plasmashell.
 .
 plasma-workspace (4:5.3.2-2mike1) unstable; urgency=medium
 .
   * Fix dereference-before-null-check for m_applet on creating plasmoid
Author: Michael Musenbrock <redea...@gmx.net>

--- plasma-workspace-5.3.2.orig/applets/systemtray/plugin/protocols/plasmoid/plasmoidtask.cpp
+++ plasma-workspace-5.3.2/applets/systemtray/plugin/protocols/plasmoid/plasmoidtask.cpp
@@ -52,6 +52,13 @@ PlasmoidTask::PlasmoidTask(const QString
     qCDebug(SYSTEMTRAY) << "Loading applet: " << packageName << appletId;
 
     m_applet = Plasma::PluginLoader::self()->loadApplet(packageName, appletId);
+
+    if (!m_applet) {
+        qCDebug(SYSTEMTRAY) << "Invalid applet taskitem";
+        m_valid = false;
+        return;
+    }
+
     cont->setImmutability(Plasma::Types::Mutable);
     cont->addApplet(m_applet);
     m_applet->setParent(cont);
@@ -81,12 +88,6 @@ PlasmoidTask::PlasmoidTask(const QString
     }
 
 
-
-    if (!m_applet) {
-        qCDebug(SYSTEMTRAY) << "Invalid applet taskitem";
-        m_valid = false;
-        return;
-    }
     connect(m_applet, &Plasma::Applet::statusChanged, this, &PlasmoidTask::updateStatus);
 
     if (pluginInfo().isValid()) {

Reply via email to