Bug 446119 - plasma-browser-integration-host crashes after closing Firefox
Summary: plasma-browser-integration-host crashes after closing Firefox
Status: CONFIRMED
Alias: None
Product: plasma-browser-integration
Classification: Plasma
Component: Firefox (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Kai Uwe Broulik
URL:
Keywords:
: 457449 490659 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-11-26 14:30 UTC by Patrick Silva
Modified: 2024-08-01 22:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2021-11-26 14:30:23 UTC
STEPS TO REPRODUCE
1. run Firefox
2. try to use 'Share...' feature from the context menu with any webpage (nothing happens)
3. close Firefox

OBSERVED RESULT
plasma notifies plasma-browser-integration-host crash

EXPECTED RESULT
'Share...' feature should work, no crash

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.23.80
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.3
Graphics Platform: X11

Application: plasma-browser-integration-host (plasma-browser-integration-host), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[New LWP 12665]
[New LWP 12837]
[New LWP 12838]
[New LWP 12839]
[New LWP 12668]
[New LWP 12836]
[New LWP 12667]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/plasma-browser-integration-host /usr/lib/mozilla/native-messaging-host'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI_raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x7f98ba8eb940 (LWP 12665))]
__preamble__

[Current thread is 1 (Thread 0x7f98ba8eb940 (LWP 12665))]

Thread 7 (Thread 0x7f98b9a32700 (LWP 12667)):
#0  0x00007f98beb17aff in __GI___poll (fds=fds@entry=0x7f98b9a31b68, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f98bcaf9c1a in poll (__timeout=-1, __nfds=1, __fds=0x7f98b9a31b68) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x55fbd13553d0, cond=cond@entry=0x55fbd1355410, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:480
#3  0x00007f98bcafb90a in xcb_wait_for_event (c=c@entry=0x55fbd13553d0) at ../../src/xcb_in.c:697
#4  0x00007f98ba228e88 in QXcbEventQueue::run (this=0x55fbd13454b0) at qxcbeventqueue.cpp:228
#5  0x00007f98beea445c in QThreadPrivate::start (arg=0x55fbd13454b0) at thread/qthread_unix.cpp:329
#6  0x00007f98bd692609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f98beb24293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f98b1e2c700 (LWP 12836)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55fbd142a988) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55fbd142a938, cond=0x55fbd142a960) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55fbd142a960, mutex=0x55fbd142a938) at pthread_cond_wait.c:647
#3  0x00007f98b213bb1b in cnd_wait (mtx=0x55fbd142a938, cond=0x55fbd142a960) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55fbd1518240) at ../src/util/u_queue.c:294
#5  0x00007f98b213b71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f98bd692609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f98beb24293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f98b3fff700 (LWP 12668)):
#0  0x00007f98beb17aff in __GI___poll (fds=0x7f98ac004e60, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f98bcc7136e in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7f98ac004e60, timeout=<optimized out>, context=0x7f98ac000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f98ac000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f98bcc714a3 in g_main_context_iteration (context=0x7f98ac000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f98bf0e5602 in QEventDispatcherGlib::processEvents (this=0x7f98ac000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f98bf0898ab in QEventLoop::exec (this=this@entry=0x7f98b3ffec30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f98beea32c2 in QThread::exec (this=this@entry=0x7f98c0142d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f98c00bef4b in QDBusConnectionManager::run (this=0x7f98c0142d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f98beea445c in QThreadPrivate::start (arg=0x7f98c0142d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f98bd692609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f98beb24293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f98abfff700 (LWP 12839)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55fbd142a988) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55fbd142a938, cond=0x55fbd142a960) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55fbd142a960, mutex=0x55fbd142a938) at pthread_cond_wait.c:647
#3  0x00007f98b213bb1b in cnd_wait (mtx=0x55fbd142a938, cond=0x55fbd142a960) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55fbd1647720) at ../src/util/u_queue.c:294
#5  0x00007f98b213b71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f98bd692609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f98beb24293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f98b0e2a700 (LWP 12838)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55fbd142a988) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55fbd142a938, cond=0x55fbd142a960) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55fbd142a960, mutex=0x55fbd142a938) at pthread_cond_wait.c:647
#3  0x00007f98b213bb1b in cnd_wait (mtx=0x55fbd142a938, cond=0x55fbd142a960) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55fbd164ac80) at ../src/util/u_queue.c:294
#5  0x00007f98b213b71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f98bd692609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f98beb24293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f98b162b700 (LWP 12837)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55fbd142a988) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55fbd142a938, cond=0x55fbd142a960) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55fbd142a960, mutex=0x55fbd142a938) at pthread_cond_wait.c:647
#3  0x00007f98b213bb1b in cnd_wait (mtx=0x55fbd142a938, cond=0x55fbd142a960) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55fbd1519290) at ../src/util/u_queue.c:294
#5  0x00007f98b213b71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f98bd692609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f98beb24293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f98ba8eb940 (LWP 12665)):
[KCrash Handler]
#3  0x00007f98bfba3767 in QWidget::~QWidget (this=0x55fbd140ad90, __in_chrg=<optimized out>) at ../../include/QtWidgets/../../src/widgets/kernel/qapplication.h:217
#4  0x00007f98c06e4c15 in Purpose::Menu::~Menu (this=0x55fbd140ad90, __in_chrg=<optimized out>) at ./src/widgets/menu.h:20
#5  Purpose::Menu::~Menu (this=0x55fbd140ad90, __in_chrg=<optimized out>) at ./src/widgets/menu.h:20
#6  0x000055fbd076b27d in QScopedPointerDeleter<Purpose::Menu>::cleanup (pointer=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:52
#7  QScopedPointer<Purpose::Menu, QScopedPointerDeleter<Purpose::Menu> >::reset (this=0x55fbd1453f60, other=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:159
#8  PurposePlugin::onUnload (this=0x55fbd1453f40) at ./host/purposeplugin.cpp:31
#9  PurposePlugin::~PurposePlugin (this=0x55fbd1453f40, __in_chrg=<optimized out>) at ./host/purposeplugin.cpp:26
#10 0x000055fbd076b2ed in PurposePlugin::~PurposePlugin (this=0x55fbd1453f40, __in_chrg=<optimized out>) at ./host/purposeplugin.cpp:24
#11 0x00007f98bf0b53ce in QObjectPrivate::deleteChildren (this=0x55fbd1342030) at kernel/qobject.cpp:2104
#12 0x00007f98bf0bfdf6 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#13 0x00007f98bf08d02c in QCoreApplication::~QCoreApplication (this=0x7fff28a25e10, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/text/qstringlist.h:111
#14 0x00007f98bfb65784 in QApplication::~QApplication() () at kernel/qapplication.cpp:769
#15 0x000055fbd07311f7 in main (argc=<optimized out>, argv=<optimized out>) at ./host/main.cpp:115
Comment 1 Patrick Silva 2023-11-19 13:41:55 UTC
*** Bug 457449 has been marked as a duplicate of this bug. ***
Comment 2 Dennis 2024-05-02 08:12:44 UTC
I see the same issue. 

I updated the system today and I'm on:
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.0
Kernel Version: 6.5.0-28-generic (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-8565U CPU @ 1.80GHz
Memory: 15,3 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620
Manufacturer: Dell Inc.
Product Name: XPS 13 9380

As there is no bug reporting address:
https://bugs.kde.org/show_bug.cgi?id=443053
I'm reporting this issue manually. I can't confirm it is actually firefox, but it looks like it. I have firefox on autostart and I use the save session feature from kde. Whic results in 2 firefox windows to be started after logging in, one of them with empty tabs. If I close that one, 10 crash handlers start.

the crash report:
Application: Crash Handler (drkonqi), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get() const (this=0x8, this=<optimized out>) at ./src/corelib/tools/qscopedpointer.h:110
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=..., ptr=<optimized out>) at ./src/corelib/global/qtclasshelpermacros.h:79
#8  QObject::d_func() (this=0x0) at ./src/corelib/kernel/qobject.h:107
#9  QObject::deleteLater() (this=0x0) at ./src/corelib/kernel/qobject.cpp:2456
#10 0x00005c73322da648 in BacktraceGenerator::slotProcessExited(int, QProcess::ExitStatus) (this=0x5c73339c74a0, exitCode=6, exitStatus=QProcess::CrashExit) at ./src/backtracegenerator.cpp:136
#11 0x000079433aa6355e in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff5118a250, r=0x5c73339c74a0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:469
#12 doActivate<false>(QObject*, int, void**) (sender=0x5c73339ef940, signal_index=10, argv=0x7fff5118a250) at ./src/corelib/kernel/qobject.cpp:4078
#13 0x000079433a8ed54c in QProcess::finished(int, QProcess::ExitStatus) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qprocess.cpp:346
#14 0x000079433aa6383b in doActivate<false>(QObject*, int, void**) (sender=0x5c7333f1abe0, signal_index=3, argv=0x7fff5118a360) at ./src/corelib/kernel/qobject.cpp:4090
#15 0x000079433aa0e653 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x5c7333f1abe0, _t1=..., _t2=<optimized out>, _t3=...) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:195
#16 0x000079433aa13096 in QSocketNotifier::event(QEvent*) (this=0x5c7333f1abe0, e=<optimized out>) at ./src/corelib/kernel/qsocketnotifier.cpp:327
#17 0x000079433be0992b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5c7333f1abe0, e=0x7fff5118a4a0) at ./src/widgets/kernel/qapplication.cpp:3287
#18 0x000079433aaa1c38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5c7333f1abe0, event=0x7fff5118a4a0) at ./src/corelib/kernel/qcoreapplication.cpp:1134
#19 0x000079433a875454 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=0x5c73338b9db0) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:75
#20 0x0000794339c34d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x0000794339c8a258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x0000794339c323e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x000079433a876591 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5c7333839a30, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:396
#24 0x000079433aaa3e3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff5118a6d0, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34
#25 0x000079433aaa5a6c in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74
#26 0x000079433b0e4330 in QGuiApplication::exec() () at ./src/gui/kernel/qguiapplication.cpp:1926
#27 0x000079433be078d9 in QApplication::exec() () at ./src/widgets/kernel/qapplication.cpp:2555
#28 0x00005c73322cbb92 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:290
[Inferior 1 (process 6609) detached]
Comment 3 Dennis 2024-05-06 12:54:25 UTC
Does not happen anymoren on:

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.0
Kernel Version: 6.5.0-28-generic (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-8565U CPU @ 1.80GHz
Memory: 15,3 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620
Manufacturer: Dell Inc.
Product Name: XPS 13 9380

External monitor connected through Dell TB16.
Comment 4 TraceyC 2024-08-01 22:26:58 UTC
*** Bug 490659 has been marked as a duplicate of this bug. ***