Bug 472524 - Crash when moving a task on the taskbar
Summary: Crash when moving a task on the taskbar
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager (show other bugs)
Version: master
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-23 07:48 UTC by Will
Modified: 2023-07-29 03:51 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.27.7


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Will 2023-07-23 07:48:02 UTC
Application: plasmashell
Build from commit cc80403daa9613c10666a3c48088ff470149d712 (HEAD -> Plasma/5.27, origin/Plasma/5.27)

Qt Version: 5.15.10
Frameworks Version: 5.109.0
Operating System: Linux 6.4.3-1-default x86_64
Windowing System: X11
Distribution: openSUSE Tumbleweed

STEPS TO REPRODUCE
I'm not sure this is reliably reproducible.

1. Quickly add, remove, launch, and move around tasks on the task tray

-- Backtrace

           PID: 14236 (plasmashell)
           UID: 1000 (will)
           GID: 1000 (will)
        Signal: 11 (SEGV)
     Timestamp: Sat 2023-07-22 23:13:30 PDT (1h 16min ago)
  Command Line: /home/will/kde/usr/bin/plasmashell --replace
    Executable: /home/will/kde/usr/bin/plasmashell
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-konsolesu-8eb80c66a91e45b3ab10c9c311272e99.scope
          Unit: user@1000.service
     User Unit: app-konsolesu-8eb80c66a91e45b3ab10c9c311272e99.scope
         Slice: user-1000.slice
     Owner UID: 1000 (will)
       Boot ID: 4e5c51538732497f942e95c7877ec471
    Machine ID: 35bbab8c5a0449aeba77a054f0d6bc69
      Hostname: localhost.localdomain
       Storage: /var/lib/systemd/coredump/core.plasmashell.1000.4e5c51538732497f942e95c7877ec471.14236.1690092810000000.zst (present)
  Size on Disk: 21.6M
       Message: Process 14236 (plasmashell) of user 1000 dumped core.

Core was generated by `/home/will/kde/usr/bin/plasmashell --replace'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7f58d9614a00 (LWP 14236))]

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f58dac92b43 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f58dac41266 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f58de3916b7 in KCrash::defaultCrashHandler(int) (sig=11) at /home/will/kde/src/kcrash/src/kcrash.cpp:611
#4  0x00007f58dac41330 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007f58cc31552a in QScopedPointer<TaskManager::ActivityInfo::Private, QScopedPointerDeleter<TaskManager::ActivityInfo::Private> >::operator->() const (this=0x10)
    at /usr/include/qt5/QtCore/qscopedpointer.h:118
#6  0x00007f58cc31503c in TaskManager::ActivityInfo::currentActivity() const (this=0x0) at /home/will/kde/src/plasma-workspace/libtaskmanager/activityinfo.cpp:84
#7  0x00007f58cc339bca in TaskManager::TasksModel::move(int, int, QModelIndex const&) (this=0x2d7f7b0, row=4, newPos=3, parent=...)
    at /home/will/kde/src/plasma-workspace/libtaskmanager/tasksmodel.cpp:1657
#8  0x00007f58cc30d4c6 in TaskManager::TasksModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
    (_o=0x2d7f7b0, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0x7ffded51b420)
    at /home/will/kde/build/plasma-workspace/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_tasksmodel.cpp:467
#9  0x00007f58cc30ea3b in TaskManager::TasksModel::qt_metacall(QMetaObject::Call, int, void**) (this=0x2d7f7b0, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0x7ffded51b420)
    at /home/will/kde/build/plasma-workspace/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_tasksmodel.cpp:763
#10 0x00007f58dd4e1353 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const
    (this=this@entry=0x7ffded51b6b0, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, index@entry=147, argv=<optimized out>)
    at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmlobjectorgadget.cpp:51
#11 0x00007f58dd3bda99 in CallMethod
    (callType=<optimized out>, callArgs=0x78, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...) at /usr/include/qt5/QtCore/qvarlengtharray.h:189
#12 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call)
    (object=..., data=<optimized out>, engine=engine@entry=0x14b2f80, callArgs=callArgs@entry=0x7f58cc3be6c8, callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:1553
#13 0x00007f58dd3bf73b in CallOverloaded
    (callType=<optimized out>, propertyCache=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, data=<optimized out>, object=<optimized out>)
    at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:1629
#14 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:2117
#15 0x00007f58dd3ee9da in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const (argc=2, argv=0x7f58cc3be660, thisObject=0x7f58cc3be648, this=0x7ffded51b7d8)
    at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4functionobject_p.h:202
#16 QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int)
    (engine=0x14b2f80, base=..., index=<optimized out>, argv=0x7f58cc3be660, argc=2)
    at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4runtime.cpp:1460
#17 0x00007f588a81b649 in  ()
#18 0x0000000000000000 in  ()
Comment 1 Bug Janitor Service 2023-07-24 03:41:49 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3098
Comment 2 Will 2023-07-24 04:24:38 UTC
Git commit ea4724ce000a8740a499f4677e8f7e5cc09f4c8f by Will Horne.
Committed on 24/07/2023 at 05:13.
Pushed by fusionfuture into branch 'Plasma/5.27'.

Fix crash in TasksModel::move

Add nullptr check on d->activityInfo
Add test case for this bug to tasksmodeltest.cpp

M  +43   -0    libtaskmanager/autotests/tasksmodeltest.cpp
M  +1    -1    libtaskmanager/tasksmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/ea4724ce000a8740a499f4677e8f7e5cc09f4c8f
Comment 3 Fushan Wen 2023-07-24 04:43:12 UTC
Git commit 097e896ccb960a33e4bc60721344e3529ccedf4b by Fushan Wen, on behalf of Will Horne.
Committed on 24/07/2023 at 06:25.
Pushed by fusionfuture into branch 'master'.

Fix crash in TasksModel::move

Add nullptr check on d->activityInfo
Add test case for this bug to tasksmodeltest.cpp


(cherry picked from commit ea4724ce000a8740a499f4677e8f7e5cc09f4c8f)

M  +43   -0    libtaskmanager/autotests/tasksmodeltest.cpp
M  +1    -1    libtaskmanager/tasksmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/097e896ccb960a33e4bc60721344e3529ccedf4b