Bug 431633

Summary: Sometimes plasma-browser-integration crashes when I close Opera browser
Product: [Plasma] plasma-browser-integration Reporter: Patrick Silva <bugseforuns>
Component: OperaAssignee: Kai Uwe Broulik <kde>
Status: RESOLVED FIXED    
Severity: crash CC: bizyaev, sashalib31
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Patrick Silva 2021-01-15 10:42:56 UTC
SUMMARY
Plasma Integration addon is installed on my Opera browser, sometimes Plasma
shows a crash notification when I close Opera.

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.79.0
Qt Version: 5.15.2

Application: plasma-browser-integration-host (plasma-browser-integration-host), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7fc43673b840 (LWP 28686))]
[New LWP 28688]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fc43a65eaff in __GI___poll (fds=fds@entry=0x7ffcdfccff68, nfds=nfds@entry=1, timeout=timeout@entry=1000) at ../sysdeps/unix/sysv/linux/poll.c:29

Thread 2 (Thread 0x7fc435089700 (LWP 28688)):
#0  __GI___libc_read (nbytes=16, buf=0x7fc435088b20, fd=5) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=5, buf=buf@entry=0x7fc435088b20, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fc438aa489f in read (__nbytes=16, __buf=0x7fc435088b20, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#3  g_wakeup_acknowledge (wakeup=0x559de10838c0) at ../../../glib/gwakeup.c:210
#4  0x00007fc438a5bcfe in g_main_context_check (context=context@entry=0x7fc430000c20, max_priority=2147483647, fds=fds@entry=0x7fc430005240, n_fds=n_fds@entry=1) at ../../../glib/gmain.c:3825
#5  0x00007fc438a5c152 in g_main_context_iterate (context=context@entry=0x7fc430000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4044
#6  0x00007fc438a5c2e3 in g_main_context_iteration (context=0x7fc430000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#7  0x00007fc43ac29fbb in QEventDispatcherGlib::processEvents (this=0x7fc430000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#8  0x00007fc43abce1ab in QEventLoop::exec (this=this@entry=0x7fc435088d30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#9  0x00007fc43a9e8a12 in QThread::exec (this=this@entry=0x7fc43bc86d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#10 0x00007fc43bc02f4b in QDBusConnectionManager::run (this=0x7fc43bc86d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#11 0x00007fc43a9e9bac in QThreadPrivate::start (arg=0x7fc43bc86d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#12 0x00007fc4393d0609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#13 0x00007fc43a66b293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fc43673b840 (LWP 28686)):
[KCrash Handler]
#6  0x00007fc43890efe1 in wl_map_insert_at (map=<optimized out>, flags=flags@entry=1, i=26, data=data@entry=0x0) at ../src/wayland-util.c:247
#7  0x00007fc43890ae85 in proxy_destroy (proxy=0x559de1058890) at ../src/wayland-client.c:503
#8  wl_proxy_destroy (proxy=0x559de1058890) at ../src/wayland-client.c:534
#9  0x00007fc4398645dd in org_kde_plasma_virtual_desktop_destroy (org_kde_plasma_virtual_desktop=<optimized out>) at ./obj-x86_64-linux-gnu/src/client/wayland-plasma-virtual-desktop-client-protocol.h:337
#10 KWayland::Client::WaylandPointer<org_kde_plasma_virtual_desktop, org_kde_plasma_virtual_desktop_destroy>::release (this=0x559de1074140, this=0x559de1074140) at ./src/client/wayland_pointer_p.h:39
#11 KWayland::Client::PlasmaVirtualDesktop::release (this=this@entry=0x559de1116160) at ./src/client/plasmavirtualdesktop.cpp:345
#12 0x00007fc439864601 in KWayland::Client::PlasmaVirtualDesktop::~PlasmaVirtualDesktop (this=0x559de1116160, __in_chrg=<optimized out>) at ./src/client/plasmavirtualdesktop.cpp:335
#13 0x00007fc4398646bd in KWayland::Client::PlasmaVirtualDesktop::~PlasmaVirtualDesktop (this=0x559de1116160, __in_chrg=<optimized out>) at ./src/client/plasmavirtualdesktop.cpp:333
#14 0x00007fc43abf9cbe in QObjectPrivate::deleteChildren (this=0x559de10d01c0) at kernel/qobject.cpp:2104
#15 0x00007fc43ac046e6 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#16 0x00007fc4398642dd in KWayland::Client::PlasmaVirtualDesktopManagement::~PlasmaVirtualDesktopManagement (this=0x559de1118320, __in_chrg=<optimized out>) at ./src/client/plasmavirtualdesktop.cpp:164
#17 0x00007fc43abf9cbe in QObjectPrivate::deleteChildren (this=0x559de109f9a0) at kernel/qobject.cpp:2104
#18 0x00007fc43ac046e6 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#19 0x00007fc43c157448 in TaskManager::VirtualDesktopInfo::Private::~Private (this=0x559de10e6c30, __in_chrg=<optimized out>) at ./libtaskmanager/virtualdesktopinfo.cpp:46
#20 TaskManager::VirtualDesktopInfo::WaylandPrivate::~WaylandPrivate (this=0x559de10e6c30, __in_chrg=<optimized out>) at ./libtaskmanager/virtualdesktopinfo.cpp:200
#21 TaskManager::VirtualDesktopInfo::WaylandPrivate::~WaylandPrivate (this=0x559de10e6c30, __in_chrg=<optimized out>) at ./libtaskmanager/virtualdesktopinfo.cpp:200
#22 0x00007fc43c156531 in TaskManager::VirtualDesktopInfo::~VirtualDesktopInfo (this=0x559de10b8610, __in_chrg=<optimized out>) at ./libtaskmanager/virtualdesktopinfo.cpp:435
#23 0x00007fc43c15655d in TaskManager::VirtualDesktopInfo::~VirtualDesktopInfo (this=0x559de10b8610, __in_chrg=<optimized out>) at ./libtaskmanager/virtualdesktopinfo.cpp:430
#24 0x00007fc43abf9cbe in QObjectPrivate::deleteChildren (this=0x559de10b6310) at kernel/qobject.cpp:2104
#25 0x00007fc43ac046e6 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#26 0x00007fc43c158dfd in TaskManager::WaylandTasksModel::~WaylandTasksModel (this=0x559de108a9f0, __in_chrg=<optimized out>) at ./libtaskmanager/waylandtasksmodel.h:53
#27 0x00007fc43c15cc26 in TaskManager::WindowTasksModel::Private::~Private (this=0x559de10e2f40, __in_chrg=<optimized out>) at ./libtaskmanager/windowtasksmodel.cpp:64
#28 0x00007fc43c15cddd in TaskManager::WindowTasksModel::Private::~Private (this=0x559de10e2f40, __in_chrg=<optimized out>) at ./libtaskmanager/abstracttasksmodeliface.h:44
#29 QScopedPointerDeleter<TaskManager::WindowTasksModel::Private>::cleanup (pointer=0x559de10e2f40) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:60
#30 QScopedPointer<TaskManager::WindowTasksModel::Private, QScopedPointerDeleter<TaskManager::WindowTasksModel::Private> >::~QScopedPointer (this=0x559de10923d8, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:107
#31 TaskManager::WindowTasksModel::~WindowTasksModel (this=0x559de10923c0, __in_chrg=<optimized out>) at ./libtaskmanager/windowtasksmodel.cpp:91
#32 0x00007fc43c15cdfd in TaskManager::WindowTasksModel::~WindowTasksModel (this=0x559de10923c0, __in_chrg=<optimized out>) at ./libtaskmanager/windowtasksmodel.cpp:91
#33 0x00007fc43abf9cbe in QObjectPrivate::deleteChildren (this=0x559de10a8ec0) at kernel/qobject.cpp:2104
#34 0x00007fc43ac046e6 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#35 0x00007fc43a592a27 in __run_exit_handlers (status=0, listp=0x7fc43a734718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#36 0x00007fc43a592be0 in __GI_exit (status=<optimized out>) at exit.c:139
#37 0x00007fc43a5700ba in __libc_start_main (main=0x559de0d08000, argc=2, argv=0x7ffcdfcd0d68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcdfcd0d58) at ../csu/libc-start.c:342
#38 0x0000559de0d08a1e in _start ()
[Inferior 1 (process 28686) detached]
Comment 1 Kai Uwe Broulik 2021-01-15 12:11:48 UTC
Not really a fix but still an optimization, does this help (or make things even worse?) https://invent.kde.org/plasma/plasma-browser-integration/-/merge_requests/36
Comment 2 Patrick Silva 2021-01-16 19:09:19 UTC
I have applied your patch to neon unstable, but the crash persists.
Comment 3 Kai Uwe Broulik 2021-01-25 20:36:39 UTC
*** Bug 432117 has been marked as a duplicate of this bug. ***
Comment 5 Kai Uwe Broulik 2021-01-26 15:03:21 UTC
*** Bug 432163 has been marked as a duplicate of this bug. ***