https://bugs.kde.org/show_bug.cgi?id=474933
Bug ID: 474933 Summary: kwin_wayland crashes in KWin::GLFramebuffer::GLFramebuffer Classification: Plasma Product: kwin Version: master Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: kwin-bugs-n...@kde.org Reporter: nicolas.fe...@gmx.de Target Milestone: --- While doing nothing in particular #0 KWin::GLTexture::size() const (this=this@entry=0x0) at /usr/include/c++/13/bits/unique_ptr.h:199 #1 0x00007fe9b4bc3fc0 in KWin::GLFramebuffer::GLFramebuffer(KWin::GLTexture*, KWin::GLFramebuffer::Attachment) (this=0x1dad1b0, colorAttachment=0x0, attachment=KWin::GLFramebuffer::NoAttachment) at /home/nico/kde/src/kwin/src/libkwineffects/glframebuffer.cpp:109 #2 0x00007fe9b4906c3f in std::make_unique<KWin::GLFramebuffer, KWin::GLTexture*>(KWin::GLTexture*&&) () at /usr/include/c++/13/bits/unique_ptr.h:1069 #3 KWin::EglSwapchainSlot::EglSwapchainSlot(KWin::EglContext*, KWin::GraphicsBuffer*) (this=0x2f9a480, context=<optimized out>, buffer=<optimized out>) at /home/nico/kde/src/kwin/src/platformsupport/scenes/opengl/eglswapchain.cpp:27 #4 0x00007fe9b4906e29 in std::_Construct<KWin::EglSwapchainSlot, KWin::EglContext*&, KWin::GraphicsBuffer*&>(KWin::EglSwapchainSlot*, KWin::EglContext*&, KWin::GraphicsBuffer*&) (__p=0x2f9a480) at /usr/include/c++/13/bits/stl_construct.h:109 #5 std::allocator_traits<std::allocator<void> >::construct<KWin::EglSwapchainSlot, KWin::EglContext*&, KWin::GraphicsBuffer*&>(std::allocator<void>&, KWin::EglSwapchainSlot*, KWin::EglContext*&, KWin::GraphicsBuffer*&) (__p=0x2f9a480) at /usr/include/c++/13/bits/alloc_traits.h:660 #6 std::_Sp_counted_ptr_inplace<KWin::EglSwapchainSlot, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<KWin::EglContext*&, KWin::GraphicsBuffer*&>(std::allocator<void>, KWin::EglContext*&, KWin::GraphicsBuffer*&) (__a=..., this=0x2f9a470) at /usr/include/c++/13/bits/shared_ptr_base.h:604 #7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<KWin::EglSwapchainSlot, std::allocator<void>, KWin::EglContext*&, KWin::GraphicsBuffer*&>(KWin::EglSwapchainSlot*&, std::_Sp_alloc_shared_tag<std::allocator<void> >, KWin::EglContext*&, KWin::GraphicsBuffer*&) (__a=..., __p=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/shared_ptr_base.h:971 #8 std::__shared_ptr<KWin::EglSwapchainSlot, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, KWin::EglContext*&, KWin::GraphicsBuffer*&>(std::_Sp_alloc_shared_tag<std::allocator<void> >, KWin::EglContext*&, KWin::GraphicsBuffer*&) (__tag=..., this=<optimized out>) at /usr/include/c++/13/bits/shared_ptr_base.h:1712 #9 std::shared_ptr<KWin::EglSwapchainSlot>::shared_ptr<std::allocator<void>, KWin::EglContext*&, KWin::GraphicsBuffer*&>(std::_Sp_alloc_shared_tag<std::allocator<void> >, KWin::EglContext*&, KWin::GraphicsBuffer*&) (__tag=..., this=<optimized out>) at /usr/include/c++/13/bits/shared_ptr.h:464 #10 std::make_shared<KWin::EglSwapchainSlot, KWin::EglContext*&, KWin::GraphicsBuffer*&>(KWin::EglContext*&, KWin::GraphicsBuffer*&) () at /usr/include/c++/13/bits/shared_ptr.h:1010 #11 KWin::EglSwapchain::create(KWin::GraphicsBufferAllocator*, KWin::EglContext*, QSize const&, unsigned int, QList<unsigned long> const&) (allocator=0x144da90, context=context@entry=0x2bb2070, size=..., format=format@entry=808665665, modifiers=...) at /home/nico/kde/src/kwin/src/platformsupport/scenes/opengl/eglswapchain.cpp:139 #12 0x00007fe9b48a3090 in KWin::EglGbmLayerSurface::createGbmSwapchain(KWin::DrmGpu*, KWin::EglContext*, QSize const&, unsigned int, QList<unsigned long> const&, bool) const (this=this@entry=0x3a59d08, gpu=0x128abf0, context=context@entry=0x2bb2070, size=..., format=format@entry=808665665, modifiers=..., preferLinear=false) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer_surface.cpp:382 #13 0x00007fe9b48a4c5f in KWin::EglGbmLayerSurface::createSurface(QSize const&, unsigned int, QList<unsigned long> const&, KWin::EglGbmLayerSurface::MultiGpuImportMode) const (this=0x3a59d08, size=..., format=<optimized out>, modifiers=..., importMode=importMode@entry=KWin::EglGbmLayerSurface::MultiGpuImportMode::None) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer_surface.cpp:340 #14 0x00007fe9b48a5ac3 in operator()(QVector const&, KWin::EglGbmLayerSurface::MultiGpuImportMode) const (__closure=0x7ffcf18852e0, gbmFormats=..., importMode=importMode@entry=KWin::EglGbmLayerSurface::MultiGpuImportMode::None) at /home/nico/kde/usr/include/QtCore/qarraydatapointer.h:413 #15 0x00007fe9b48a5f4a in operator()(QVector&) const (__closure=__closure@entry=0x7ffcf1885300, formats=...) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer_surface.cpp:276 #16 0x00007fe9b48a64c5 in KWin::EglGbmLayerSurface::createSurface(QSize const&, QMap<unsigned int, QList<unsigned long> > const&) const (this=this@entry=0x3a59d08, size=..., formats=...) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer_surface.cpp:296 #17 0x00007fe9b48a6920 in KWin::EglGbmLayerSurface::checkSurface(QSize const&, QMap<unsigned int, QList<unsigned long> > const&) (this=this@entry=0x3a59d08, size=..., formats=...) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer_surface.cpp:218 #18 0x00007fe9b48a758a in KWin::EglGbmLayerSurface::renderTestBuffer(QSize const&, QMap<unsigned int, QList<unsigned long> > const&) --Type <RET> for more, q to quit, c to continue without paging--c (this=this@entry=0x3a59d08, bufferSize=..., formats=...) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer_surface.cpp:202 #19 0x00007fe9b489f12d in KWin::EglGbmLayer::checkTestBuffer() (this=0x3a59c90) at /home/nico/kde/src/kwin/src/backends/drm/drm_egl_layer.cpp:79 #20 0x00007fe9b48bd2d7 in KWin::DrmPipeline::prepareAtomicPresentation(KWin::DrmAtomicCommit*) (this=this@entry=0x160d8d0, commit=commit@entry=0x1b0ad70) at /home/nico/kde/src/kwin/src/backends/drm/drm_pipeline.cpp:229 #21 0x00007fe9b48bda4d in KWin::DrmPipeline::updateCursor() (this=0x160d8d0) at /home/nico/kde/src/kwin/src/backends/drm/drm_pipeline.cpp:380 #22 0x00007fe9b4665d39 in operator() (__closure=<synthetic pointer>) at /home/nico/kde/src/kwin/src/compositor_wayland.cpp:316 #23 operator()() const (__closure=__closure@entry=0x7ffcf1885d00) at /home/nico/kde/src/kwin/src/compositor_wayland.cpp:318 #24 0x00007fe9b4665fb3 in KWin::WaylandCompositor::addOutput(KWin::Output*) (this=this@entry=0x1556e60, output=0x1820250) at /home/nico/kde/src/kwin/src/compositor_wayland.cpp:352 #25 0x00007fe9b46663b8 in KWin::WaylandCompositor::start() (this=0x1556e60) at /home/nico/kde/src/kwin/src/compositor_wayland.cpp:187 #26 0x00007fe9b4662ba8 in KWin::Compositor::reinitialize() (this=0x1556e60) at /home/nico/kde/src/kwin/src/compositor.cpp:132 #27 KWin::Compositor::composite(KWin::RenderLoop*) (this=0x1556e60, renderLoop=<optimized out>) at /home/nico/kde/src/kwin/src/compositor.cpp:153 #28 0x00007fe9b13b5f03 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcf18860c0, r=0x1556e60, this=0x1992080) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:433 #29 doActivate<false>(QObject*, int, void**) (sender=0x1964d80, signal_index=5, argv=0x7ffcf18860c0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4021 #30 0x00007fe9b13adc4f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fe9b4b4dc40 <KWin::RenderLoop::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffcf18860c0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4081 #31 0x00007fe9b467b5a2 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (this=<optimized out>, _t1=<optimized out>) at /home/nico/kde/build/kwin/src/kwin_autogen/include/moc_renderloop.cpp:302 #32 0x00007fe9b467b883 in KWin::RenderLoopPrivate::dispatch() (this=0x19660d0) at /home/nico/kde/src/kwin/src/core/renderloop.cpp:164 #33 0x00007fe9b13b5f03 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcf18861c0, r=0x1964d80, this=0x1962e50) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:433 #34 doActivate<false>(QObject*, int, void**) (sender=0x19660e8, signal_index=3, argv=0x7ffcf18861c0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4021 #35 0x00007fe9b13adc4f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fe9b180b160 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffcf18861c0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4081 #36 0x00007fe9b13c3a5a in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at /home/nico/workspace/qt6/qtbase/src/corelib/Core_autogen/include/moc_qtimer.cpp:272 #37 0x00007fe9b13a67df in QObject::event(QEvent*) (this=0x19660e8, e=0x7ffcf1886310) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:1459 #38 0x00007fe9b277e951 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x19660e8, e=0x7ffcf1886310) at /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qapplication.cpp:3295 #39 0x00007fe9b1359a78 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x19660e8, event=0x7ffcf1886310) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1119 #40 0x00007fe9b1359bf9 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1537 #41 0x00007fe9b14ee101 in QTimerInfoList::activateTimers() (this=this@entry=0x1235c28) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:507 #42 0x00007fe9b14e926c in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x1235b50) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:213 #43 0x00007fe9b14eb21c in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:482 #44 0x00007fe9b20aae6d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/nico/workspace/qt6/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #45 0x00007fe9b136562b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcf18864c0, flags=..., flags@entry=...) at /home/nico/workspace/qt6/qtbase/src/corelib/global/qflags.h:34 #46 0x00007fe9b1362032 in QCoreApplication::exec() () at /home/nico/workspace/qt6/qtbase/src/corelib/global/qflags.h:74 #47 0x00007fe9b1bb033c in QGuiApplication::exec() () at /home/nico/workspace/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1925 #48 0x00007fe9b277e8c5 in QApplication::exec() () at /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qapplication.cpp:2574 #49 0x000000000043d4e7 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde/src/kwin/src/main_wayland.cpp:611 SOFTWARE/OS VERSIONS KDE Plasma Version: master KDE Frameworks Version: master Qt Version: 6.6 ADDITIONAL INFORMATION kwin commit 99244efa3b64029df021ecf1c97cff6b5a8d5265 -- You are receiving this mail because: You are watching all bug changes.