Bug 467241 - Crash in KWayland::Client::Output::~Output() when closing screen share dialog
Summary: Crash in KWayland::Client::Output::~Output() when closing screen share dialog
Status: RESOLVED FIXED
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, qt6
: 469145 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-03-12 13:53 UTC by Nicolas Fella
Modified: 2023-06-07 11:20 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 Nicolas Fella 2023-03-12 13:53:21 UTC
Application: xdg-desktop-portal-kde (5.27.80)
 (Compiled from sources)
Qt Version: 6.4.2
Frameworks Version: 5.240.0
Operating System: Linux 6.1.15-200.fc37.x86_64 x86_64
Windowing System: Wayland
Distribution: Fedora Linux 37 (KDE Plasma)
DrKonqi: 5.27.80 [KCrashBackend]

-- Information about the crash:
When starting OBS studio it triggered the screen share dialog. I dismissed it by pressing Esc, then the portal crashed

The crash can be reproduced every time.

-- Backtrace:
Application: xdg-desktop-portal-kde (xdg-desktop-portal-kde), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#5  0x00007effc6f5c22a in wl_map_insert_at (map=<optimized out>, flags=1, i=33, data=<optimized out>) at ../src/wayland-util.c:276
#6  0x00007effc6f57bc4 in proxy_destroy (proxy=0x1a529a0) at ../src/wayland-client.c:510
#7  0x00007effc6f58022 in wl_proxy_destroy_caller_locks (proxy=0x1a529a0) at ../src/wayland-client.c:530
#8  wl_proxy_marshal_array_flags (proxy=proxy@entry=0x1a529a0, opcode=opcode@entry=0, interface=interface@entry=0x0, version=version@entry=4, flags=flags@entry=1, args=args@entry=0x7ffe220eefe0) at ../src/wayland-client.c:868
#9  0x00007effc6f5821a in wl_proxy_marshal_flags (proxy=0x1a529a0, opcode=0, interface=0x0, version=4, flags=1) at ../src/wayland-client.c:791
#10 0x00007effc7025476 in wl_output_release (wl_output=0x1a529a0) at /usr/include/wayland-client-protocol.h:5738
#11 KWayland::Client::WaylandPointer<wl_output, wl_output_release>::release (this=0x199b3f0) at /home/nico/kde6/src/kwayland/src/client/wayland_pointer_p.h:44
#12 KWayland::Client::Output::~Output (this=0x19c0d60, __in_chrg=<optimized out>) at /home/nico/kde6/src/kwayland/src/client/output.cpp:124
#13 0x00007effc7025499 in KWayland::Client::Output::~Output (this=0x19c0d60, __in_chrg=<optimized out>) at /home/nico/kde6/src/kwayland/src/client/output.cpp:125
#14 0x00000000004b796b in QtSharedPointer::ExternalRefCountData::destroy (this=0x19a2990) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:114
#15 QSharedPointer<KWayland::Client::Output>::deref (dd=0x19a2990) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:445
#16 QSharedPointer<KWayland::Client::Output>::deref (dd=0x19a2990) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:441
#17 QSharedPointer<KWayland::Client::Output>::deref (this=0x1a47530) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:440
#18 QSharedPointer<KWayland::Client::Output>::~QSharedPointer (this=0x1a47530, __in_chrg=<optimized out>) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:280
#19 ~<lambda> (this=0x1a47520, __in_chrg=<optimized out>) at /home/nico/kde6/src/xdg-desktop-portal-kde/src/waylandintegration.cpp:660
#20 QtPrivate::QFunctorSlotObject<WaylandIntegration::WaylandIntegrationPrivate::addOutput(quint32, quint32)::<lambda()>, 0, QtPrivate::List<>, void>::~QFunctorSlotObject (this=0x1a47510, __in_chrg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:397
#21 QtPrivate::QFunctorSlotObject<WaylandIntegration::WaylandIntegrationPrivate::addOutput(quint32, quint32)::<lambda()>, 0, QtPrivate::List<>, void>::impl (which=0, r=<optimized out>, a=<optimized out>, ret=<optimized out>, this_=0x1a47510) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:405
#22 QtPrivate::QFunctorSlotObject<WaylandIntegration::WaylandIntegrationPrivate::addOutput(quint32, quint32)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x1a47510, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:401
#23 0x00007effc37c5eec in QObject::~QObject() () from /lib64/libQt6Core.so.6
#24 0x00000000004b3e3a in QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_globalWaylandIntegration>::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/qt6/QtCore/qglobalstatic.h:43
#25 0x00007effc30620b5 in __run_exit_handlers () from /lib64/libc.so.6
#26 0x00007effc3062230 in exit () from /lib64/libc.so.6
#27 0x00007effc304a517 in __libc_start_call_main () from /lib64/libc.so.6
#28 0x00007effc304a5c9 in __libc_start_main_impl () from /lib64/libc.so.6
#29 0x0000000000425195 in _start ()
[Inferior 1 (process 392797) detached]

Reported using DrKonqi
Comment 1 Nicolas Fella 2023-04-29 16:14:12 UTC
*** Bug 469145 has been marked as a duplicate of this bug. ***
Comment 2 Nicolas Fella 2023-06-07 11:20:25 UTC
Can't reproduce any more