Summary: | Random crash in KWin::BasicEGLSurfaceTextureInternal::updateFromFramebuffer() | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Aleix Pol <aleixpol> |
Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED NOT A BUG | ||
Severity: | crash | CC: | nate |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Aleix Pol
2022-04-11 00:55:09 UTC
I thought it was related to multiple screens, but I seem to get it randomly. Whenever internal textures are used? I can reproduce it when triggering "ctrl+alt+esc" No crash when I hit ctrl+alt+esc, FWIW. After the MR I get much less frequent crashes, but I still get some. Here is a backtrace. It may give an insight on why it's needed, note the output=0x0 Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f34d0433a97 in KWin::Workspace::clientArea (this=0x561c9bb5d3a0, opt=KWin::PlacementArea, output=0x0, desktop=0x561c9c020350) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2287 2287 screenArea = effectiveOutput->geometry(); [Current thread is 1 (Thread 0x7f34c832ca80 (LWP 20733))] (gdb) where #0 0x00007f34d0433a97 in KWin::Workspace::clientArea(KWin::clientAreaOption, KWin::AbstractOutput const*, KWin::VirtualDesktop const*) const (this= 0x561c9bb5d3a0, opt=KWin::PlacementArea, output=0x0, desktop=0x561c9c020350) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2287 #1 0x00007f34d04288e6 in KWin::Workspace::clientArea(KWin::clientAreaOption, KWin::Toplevel const*, KWin::AbstractOutput const*) const (this=0x561c9bb5d3a0, opt=KWin::PlacementArea, window= 0x561c9bc88770, output=0x0) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2339 #2 0x00007f34d04337b1 in KWin::Workspace::clientArea(KWin::clientAreaOption, KWin::Toplevel const*) const (this=0x561c9bb5d3a0, opt=KWin::PlacementArea, window=0x561c9bc88770) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2327 #3 0x00007f34d02fe05c in KWin::Placement::placeTransient(KWin::AbstractClient*) (this=0x561c9c01e490, c=0x561c9cb9b120) at /home/apol/devel/frameworks/kwin/src/placement.cpp:525 #4 0x00007f34d02fd8c8 in KWin::Placement::place(KWin::AbstractClient*, QRect const&) (this=0x561c9c01e490, c=0x561c9cb9b120, area=...) at /home/apol/devel/frameworks/kwin/src/placement.cpp:64 #5 0x00007f34d047c69c in KWin::XdgPopupClient::initialize() (this=0x561c9cb9b120) at /home/apol/devel/frameworks/kwin/src/xdgshellclient.cpp:2006 #6 0x00007f34d0486a78 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::XdgPopupClient::*)()>::call(void (KWin::XdgPopupClient::*)(), KWin::XdgPopupClient*, void**) (f=(void (KWin::XdgPopupClient::*)(KWin::XdgPopupClient * const)) 0x7f34d047c5e0 <KWin::XdgPopupClient::initialize()>, o=0x561c9cb9b120, arg=0x7ffca9805470) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152 #7 0x00007f34d04869dd in QtPrivate::FunctionPointer<void (KWin::XdgPopupClient::*)()>::call<QtPrivate::List<>, void>(void (KWin::XdgPopupClient::*)(), KWin::XdgPopupClient*, void**) (f=(void (KWin::XdgPopupClient::*)(KWin::XdgPopupClient * const)) 0x7f34d047c5e0 <KWin::XdgPopupClient::initialize()>, o=0x561c9cb9b120, arg=0x7ffca9805470) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185 #8 0x00007f34d0486922 in QtPrivate::QSlotObject<void (KWin::XdgPopupClient::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x561c9b9b6150, r=0x561c9cb9b120, a=0x7ffca9805470, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418 #9 0x00007f34ce47aec3 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffca9805470, r=0x561c9cb9b120, this=0x561c9b9b6150) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #10 doActivate<false>(QObject*, int, void**) (sender=0x561c9cba6fd0, signal_index=4, argv=0x7ffca9805470) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886 #11 0x00007f34cf12f0ea in KWaylandServer::SurfaceInterfacePrivate::applyState(KWaylandServer::SurfaceState*) (this=0x561c9cb49880, next=<optimized out>) at /home/apol/devel/frameworks/kwayland-server/src/server/surface_interface.cpp:660 #12 0x00007f34cbb1b536 in () at /usr/lib/libffi.so.8 #13 0x00007f34cbb18037 in () at /usr/lib/libffi.so.8 #14 0x00007f34cf055af2 in () at /usr/lib/libwayland-server.so.0 #15 0x00007f34cf059e14 in () at /usr/lib/libwayland-server.so.0 #16 0x00007f34cf05884a in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0 #17 0x00007f34cf0fa984 in KWaylandServer::Display::dispatchEvents() (this=<optimized out>) at /home/apol/devel/frameworks/kwayland-server/src/server/display.cpp:114 #18 0x00007f34ce47aec3 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffca9805e10, r=0x561c9b6cf840, this=0x561c9b6bbce0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #19 doActivate<false>(QObject*, int, void**) (sender=0x561c9bdf3390, signal_index=3, argv=0x7ffca9805e10) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886 #20 0x00007f34ce47438f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x561c9bdf3390, m=m@entry=0x7f34ce71c140 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffca9805e10) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3946 #21 0x00007f34ce47e3af in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x561c9bdf3390, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178 #22 0x00007f34ce47ebab in QSocketNotifier::event(QEvent*) (this=0x561c9bdf3390, e=0x7ffca9805f30) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qsocketnotifier.cpp:302 #23 0x00007f34cd0f66cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561c9bdf3390, e=0x7ffca9805f30) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3637 #24 0x00007f34ce44469a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x561c9bdf3390, event=0x7ffca9805f30) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064 #25 0x00007f34ce49913b in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x561c9b68f600) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:304 #26 0x00007f34ce49959b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:511 #27 0x0000561c9aac046d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qunixeventdispatcher.cpp:63 #28 0x00007f34ce44309b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffca98060c0, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69 #29 0x00007f34ce44b370 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121 #30 0x0000561c9a97cf9d in main(int, char**) (argc=14, argv=0x7ffca9806b58) at /home/apol/devel/frameworks/kwin/src/main_wayland.cpp:659 I don't really know what happened, I am not getting the crash anymore and it was very weird. Closing for now. |