Bug 458117 - Random crashing in KWin::ScreenCastStream::onStreamAddBuffer()
Summary: Random crashing in KWin::ScreenCastStream::onStreamAddBuffer()
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: master
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-20 23:01 UTC by Eric Edlund
Modified: 2022-09-09 12:56 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Edlund 2022-08-20 23:01:09 UTC
SUMMARY
No reproducing behavior I'm aware of. Happened 4 times in 2 days on master.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.25
(available in About System)
KDE Plasma Version: 5.25.4
KDE Frameworks Version: 5.96.0
Qt Version: 5.15.5

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007efc13377859 in __GI_abort () at abort.c:79
#2  0x00007efc13a27bd9 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007efc13a26fe5 in qt_assert_x(char const*, char const*, char const*, int) ()
    at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x000055ad3d79560d in KWin::ScreenCastStream::onStreamAddBuffer(void*, pw_buffer*)
    (data=0x55ad3f3752b0, buffer=0x55ad3f344598)
    at /home/eric/kde/src/kwin/src/plugins/screencast/screencaststream.cpp:196
#5  0x00007efc139323fb in  () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#6  0x00007efc1392b1a5 in pw_impl_port_use_buffers () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#7  0x00007efbfa86af4c in  () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so
#8  0x00007efbfa87d8bf in  () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so
#9  0x00007efbfa8e4cda in  () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
#10 0x00007efbfa8e5230 in  () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
#11 0x00007efbfaed5783 in  () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
#12 0x000055ad3d788d2b in operator()() const (__closure=0x55ad3ec9fbb0)
    at /home/eric/kde/src/kwin/src/plugins/screencast/pipewirecore.cpp:69
#13 0x000055ad3d7897df in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::PipeWireCore::init()::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7ffea2643b10)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#14 0x000055ad3d7897b1 in QtPrivate::Functor<KWin::PipeWireCore::init()::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffea2643b10)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#15 0x000055ad3d789780 in QtPrivate::QFunctorSlotObject<KWin::PipeWireCore::init()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
    (which=1, this_=0x55ad3ec9fba0, r=0x55ad3dde5910, a=0x7ffea2643b10, ret=0x0)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#16 0x00007efc13c80d1e in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007efc13c84df3 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007efc13c85593 in QSocketNotifier::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007efc14a1fe83 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007efc14a28c98 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007efc13c49c6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007efc13ca17cb in QEventDispatcherUNIXPrivate::activateSocketNotifiers() ()
    at /lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007efc13ca1c2b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
--Type <RET> for more, q to quit, c to continue without paging--c
    at /lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x000055ad3d8b4dd1 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#25 0x00007efc13c4876b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007efc13c50914 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x000055ad3d73d96f in main(int, char**) (argc=14, argv=0x7ffea2644388) at /home/eric/kde/src/kwin/src/main_wayland.cpp:620
Comment 1 Vlad Zahorodnii 2022-08-23 10:50:00 UTC
Can you install debug symbols for kwin and submit a new backtrace with debug symbols? Not sure, but it seems like kwin crashes over here https://invent.kde.org/plasma/kwin/-/blob/a32869594ea19e5a2c5bf54cdbe13aa3866c50a0/src/plugins/screencast/screencaststream.cpp#L196

Change the bug report status after attaching a new backtrace
Comment 2 Bug Janitor Service 2022-09-07 04:36:08 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Eric Edlund 2022-09-09 12:56:52 UTC
Hasn't happened again