| Summary: | Missing OpenGL context when destroying the Lanczos filter | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Vlad Zahorodnii <vlad.zahorodnii> |
| Component: | general | Assignee: | Vlad Zahorodnii <vlad.zahorodnii> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | Flags: | vlad.zahorodnii:
ReviewRequest+
|
| Priority: | NOR | ||
| Version First Reported In: | 5.14.90 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| URL: | https://phabricator.kde.org/D18367 | ||
| Latest Commit: | https://commits.kde.org/kwin/253f954e3101d8d53398b7ec8d83d7b25e9a3bae | Version Fixed/Implemented In: | 5.15.0 |
| Sentry Crash Report: | |||
STEPS TO REPRODUCE * Toggle the desktop grid * Run `kwin_x11 --replace` Git commit 253f954e3101d8d53398b7ec8d83d7b25e9a3bae by Vlad Zagorodniy. Committed on 18/01/2019 at 19:41. Pushed by vladz into branch 'Plasma/5.15'. [scenes/opengl] Destroy the lanczos filter when the backend is still alive Summary: Currently, when the lanczos filter attempts to release acquired resources, the backend is already gone. To fix that we have to destroy the filter together with SceneOpenGL2. At that moment the backend is still alive. FIXED-IN: 5.15.0 Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D18367 M +5 -0 plugins/scenes/opengl/scene_opengl.cpp https://commits.kde.org/kwin/253f954e3101d8d53398b7ec8d83d7b25e9a3bae |
BACKTRACE (gdb) bt #0 0x00007f83be6bbd7f in raise () at /usr/lib/libc.so.6 #1 0x00007f83be6a6672 in abort () at /usr/lib/libc.so.6 #2 0x00007f83be6a6548 in _nl_load_domain.cold.0 () at /usr/lib/libc.so.6 #3 0x00007f83be6b4396 in () at /usr/lib/libc.so.6 #4 0x00007f83bfe7bc30 in () at /usr/lib/libepoxy.so.0 #5 0x00007f83bfed45a0 in () at /usr/lib/libepoxy.so.0 #6 0x00007f83bfec24da in () at /usr/lib/libepoxy.so.0 #7 0x00007f83c0097274 in KWin::GLRenderTarget::~GLRenderTarget() (this=0x5607734e48e0, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/libkwineffects/kwinglutils.cpp:1146 #8 0x00007f83c28e6b94 in KWin::LanczosFilter::~LanczosFilter() (this=0x560772f02b50, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/lanczosfilter.cpp:57 #9 0x00007f83c28e6c1a in KWin::LanczosFilter::~LanczosFilter() (this=0x560772f02b50, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/lanczosfilter.cpp:59 #10 0x00007f83bee191cb in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5 #11 0x00007f83bee22185 in QObject::~QObject() () at /usr/lib/libQt5Core.so.5 #12 0x00007f83c28d3ea0 in KWin::Scene::~Scene() (this=0x560772d1bfe0, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/scene.cpp:101 #13 0x00007f83b51668c3 in KWin::SceneOpenGL::~SceneOpenGL() (this=0x560772d1bfe0, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/plugins/scenes/opengl/scene_opengl.cpp:368 #14 0x00007f83b5169bde in KWin::SceneOpenGL2::~SceneOpenGL2() (this=0x560772d1bfe0, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/plugins/scenes/opengl/scene_opengl.cpp:954 #15 0x00007f83b5169bfa in KWin::SceneOpenGL2::~SceneOpenGL2() (this=0x560772d1bfe0, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/plugins/scenes/opengl/scene_opengl.cpp:956 #16 0x00007f83c28c6b57 in KWin::Compositor::finish() (this=0x560772b82380) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/composite.cpp:417 #17 0x00007f83c28c4606 in KWin::Compositor::~Compositor() (this=0x560772b82380, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/composite.cpp:150 #18 0x00007f83c28c46d8 in KWin::Compositor::~Compositor() (this=0x560772b82380, __in_chrg=<optimized out>) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/composite.cpp:154 #19 0x00007f83c28558e5 in KWin::Application::destroyCompositor() (this=0x7ffd3823e8f0) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/main.cpp:330 #20 0x00007f83c2bb43a3 in KWin::ApplicationX11::lostSelection() (this=0x7ffd3823e8f0) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/main_x11.cpp:205 #21 0x00007f83c2bb90c2 in KWin::ApplicationX11::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x7ffd3823e8f0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffd3823e530) at kdeinit_kwin_x11_autogen/EWIEGA46WW/moc_main_x11.cpp:141 #22 0x00007f83bee1b28c in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5 #23 0x00007f83bfd21ae3 in KSelectionOwner::lostOwnership() (this=0x560772b430b0) at src/KF5WindowSystem_autogen/HBARIMPYTU/moc_kselectionowner.cpp:153 #24 0x00007f83bfcfdf68 in KSelectionOwner::filterEvent(void*) (this=0x560772b430b0, ev_P=0x7f83b0001750) at /home/vlad/Workspace/KDE/src/frameworks/kwindowsystem/src/platforms/xcb/kselectionowner.cpp:379 #25 0x00007f83bfcfeadf in KSelectionOwner::Private::nativeEventFilter(QByteArray const&, void*, long*) (this=0x560772b430d0, eventType=..., message=0x7f83b0001750, result=0x7ffd3823e678) at /home/vlad/Workspace/KDE/src/frameworks/kwindowsystem/src/platforms/xcb/kselectionowner.cpp:118 #26 0x00007f83bedee3bf in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) () at /usr/lib/libQt5Core.so.5 #27 0x00007f83b8478cc2 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /usr/lib/libQt5XcbQpa.so.5 #28 0x00007f83b8479a54 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5XcbQpa.so.5 #29 0x00007f83b84a4d5e in () at /usr/lib/libQt5XcbQpa.so.5 #30 0x00007f83bedef58c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #31 0x00007f83bedf7896 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5 #32 0x00007f83c2bb5c91 in kdemain(int, char**) (argc=2, argv=0x7ffd3823ea98) at /home/vlad/Workspace/KDE/src/kde/workspace/kwin/main_x11.cpp:469 #33 0x0000560770e5817b in main(int, char**) (argc=2, argv=0x7ffd3823ea98) at kwin_x11_dummy.cpp:3 SOFTWARE/OS VERSIONS KDE Plasma Version: 5.14.90 KDE Frameworks Version: 5.54 Qt Version: 5.12