https://bugs.kde.org/show_bug.cgi?id=497423

            Bug ID: 497423
           Summary: kwin_wayland crash in screencast plugin
    Classification: Plasma
           Product: kwin
           Version: 5.27.5
          Platform: Debian stable
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: screencasting
          Assignee: kwin-bugs-n...@kde.org
          Reporter: lindstrom...@gmail.com
  Target Milestone: ---

SUMMARY
Last few days kwin_wayland has been crashing for me every few hours. Seems to
be in the screencast plugin, even though i'm not doing any screencasting or
similar. The 3 times it has happened so far i've had firefox running with many
tabs opened, but that could be a coincidence.

STEPS TO REPRODUCE
Not sure yet..

OBSERVED RESULT
Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0
--xwayland-fd 8 --xwayl'.
Program terminated with signal SIGSEGV, Segmentation fault.

warning: Section `.reg-xstate/1805' in core file too small.
#0  0x000056157d1695b7 in KWin::ScreenCastStream::buildFormats
(this=this@entry=0x56157eeb7a70, fixate=false,
buffer=buffer@entry=0x7ffed5e9cab0 "") at
/usr/include/c++/12/bits/unique_ptr.h:191
191           pointer    _M_ptr() const noexcept { return std::get<0>(_M_t); }
[Current thread is 1 (Thread 0x7f323a33de80 (LWP 1805))]
(gdb) bt
#0  0x000056157d1695b7 in KWin::ScreenCastStream::buildFormats(bool, char*)
(this=this@entry=0x56157eeb7a70, fixate=false,
buffer=buffer@entry=0x7ffed5e9cab0 "")
    at /usr/include/c++/12/bits/unique_ptr.h:191
#1  0x000056157d169974 in
KWin::ScreenCastStream::onStreamRenegotiateFormat(void*, unsigned long)
(data=0x56157eeb7a70) at ./src/plugins/screencast/screencaststream.cpp:296
#2  0x00007f3206a0c7f9 in source_event_func (source=0x56157fc90c80) at
../spa/plugins/support/loop.c:615
#3  0x00007f3206a0eece in loop_iterate (object=0x56157fca3e98, timeout=0) at
../spa/plugins/support/loop.c:452
#4  0x000056157d15fe8e in operator() (__closure=<optimized out>) at
./src/plugins/screencast/pipewirecore.cpp:67
#5  QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void,
KWin::PipeWireCore::init()::<lambda()> >::call (arg=<optimized out>,
f=<optimized out>)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#6  QtPrivate::Functor<KWin::PipeWireCore::init()::<lambda()>,
0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=<optimized out>)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#7  QtPrivate::QFunctorSlotObject<KWin::PipeWireCore::init()::<lambda()>, 0,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *)
    (which=<optimized out>, this_=<optimized out>, r=<optimized out>,
a=<optimized out>, ret=<optimized out>) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#8  0x00007f323fae8f8f in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffed5e9d740, r=0x56157fc883d0, this=0x56157fcfe650)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#9  doActivate<false>(QObject*, int, void**) (sender=0x56157f071a90,
signal_index=3, argv=0x7ffed5e9d740) at kernel/qobject.cpp:3923
#10 0x00007f323fae222f in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**)
    (sender=sender@entry=0x56157f071a90, m=m@entry=0x7f323fd4d1a0
<QSocketNotifier::staticMetaObject>,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffed5e9d740)
    at kernel/qobject.cpp:3983
#11 0x00007f323faec2cf in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal)
(this=this@entry=0x56157f071a90, _t1=..., _t2=<optimized out>, _t3=...)
    at .moc/moc_qsocketnotifier.cpp:178
#12 0x00007f323faecad5 in QSocketNotifier::event(QEvent*) (this=0x56157f071a90,
e=<optimized out>) at kernel/qsocketnotifier.cpp:302
#13 0x00007f323ef62fae in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x56157f071a90, e=0x7ffed5e9d840) at
kernel/qapplication.cpp:3640
#14 0x00007f323fab1738 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x56157f071a90, event=0x7ffed5e9d840) at
kernel/qcoreapplication.cpp:1064
#15 0x00007f323fab18fe in QCoreApplication::sendEvent(QObject*, QEvent*)
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1462
#16 0x00007f323fb06cb3 in
QEventDispatcherUNIXPrivate::activateSocketNotifiers()
(this=this@entry=0x56157da9c7a0) at kernel/qeventdispatcher_unix.cpp:304
#17 0x00007f323fb07177 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#18 0x000056157d22b96d in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
#19 0x00007f323fab01bb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffed5e9d9d0, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#20 0x00007f323fab8316 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#21 0x00007f323ff30ecc in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1863
#22 0x00007f323ef62f25 in QApplication::exec() () at
kernel/qapplication.cpp:2832
#23 0x000056157d136f28 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at ./src/main_wayland.cpp:628
(gdb) 


EXPECTED RESULT
No crash

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to