[marble] [Bug 512995] New: Marble crashed when closing with the error "Failed to restore OpenGL context after clean-up."
Matt Fagnani
bugzilla_noreply at kde.org
Sat Dec 6 01:05:09 GMT 2025
https://bugs.kde.org/show_bug.cgi?id=512995
Bug ID: 512995
Summary: Marble crashed when closing with the error "Failed to
restore OpenGL context after clean-up."
Classification: Applications
Product: marble
Version First 25.08.3
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: marble-bugs at kde.org
Reporter: matt.fagnani at bell.net
Target Milestone: ---
SUMMARY
I started Marble 25.08.3 in Plasma 6.5.3 on Wayland in a Fedora 43 KDE
installation. When I closed Marble by clicking at the top-right of its window,
Marble crashed. Dr. Konqi appeared, but it couldn't create a trace because the
core dump hadn't been created yet. Marble crashed with the error "Failed to
restore OpenGL context after clean-up." in
QtWebEngineCore::ScopedGLContextForCleanup::~ScopedGLContextForCleanup () at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/compositor/native_skia_output_device_opengl.cpp:84.
Core was generated by `/usr/bin/marble'.
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=<optimized out>,
signo=signo at entry=6, no_tid=no_tid at entry=0)
at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO
(ret) : 0;
[Current thread is 1 (Thread 0x7fdb8a1a5d00 (LWP 19041))]
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>,
signo=signo at entry=6, no_tid=no_tid at entry=0)
at pthread_kill.c:44
#1 0x00007fdb9687c493 in __pthread_kill_internal (threadid=<optimized out>,
signo=6) at pthread_kill.c:89
#2 0x00007fdb9682218e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#3 0x00007fdb992354f3 in KCrash::defaultCrashHandler(int) () at
/lib64/libKF6Crash.so.6
#4 0x00007fdb968222c0 in <signal handler called> () at /lib64/libc.so.6
#5 __pthread_kill_implementation (threadid=<optimized out>,
signo=signo at entry=6, no_tid=no_tid at entry=0)
at pthread_kill.c:44
#6 0x00007fdb9687c493 in __pthread_kill_internal (threadid=<optimized out>,
signo=6) at pthread_kill.c:89
#7 0x00007fdb9682218e in __GI_raise (sig=sig at entry=6) at
../sysdeps/posix/raise.c:26
#8 0x00007fdb968096d0 in __GI_abort () at abort.c:77
#9 0x00007fdb96e1b204 in qAbort () at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/global/qassert.cpp:46
#10 0x00007fdb96e6fdf9 in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg,
context=<optimized out>, message=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/global/qlogging.cpp:2166
#11 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef
__va_list_tag __va_list_tag *)
(msgType=msgType at entry=QtFatalMsg, context=...,
msg=msg at entry=0x7fdb95395528 "Failed to restore OpenGL context after
clean-up.", ap=ap at entry=0x7ffc3b138688)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/global/qlogging.cpp:412
#12 0x00007fdb96e1c996 in QMessageLogger::fatal
(this=<optimized out>, msg=0x7fdb95395528 "Failed to restore OpenGL context
after clean-up.")
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/global/qlogging.cpp:901
#13 0x00007fdb8ae12ca2 in
QtWebEngineCore::ScopedGLContextForCleanup::~ScopedGLContextForCleanup ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/compositor/native_skia_output_device_opengl.cpp:84
#14 QtWebEngineCore::ScopedGLContextForCleanup::~ScopedGLContextForCleanup ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/compositor/native_skia_output_device_opengl.cpp:78
#15 operator() ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/compositor/native_skia_output_device_opengl.cpp:339
--Type <RET> for more, q to quit, c to continue without paging--c
#16 __invoke_impl<void,
QtWebEngineCore::NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow*,
uint32_t)::<lambda()>&> ()
at /usr/include/c++/15/bits/invoke.h:63
#17 __invoke_r<void,
QtWebEngineCore::NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow*,
uint32_t)::<lambda()>&> ()
at /usr/include/c++/15/bits/invoke.h:113
#18 _M_invoke () at /usr/include/c++/15/bits/std_function.h:292
#19 0x00007fdb8af41f6a in std::function<void()>::operator() () at
/usr/include/c++/15/bits/std_function.h:593
#20 QtWebEngineCore::NativeSkiaOutputDevice::Buffer::freeTexture ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/compositor/native_skia_output_device.cpp:421
#21 0x00007fdb8afe9b7a in
QtWebEngineCore::RenderWidgetHostViewQtDelegateItem::releaseResources ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/render_widget_host_view_qt_delegate_item.cpp:412
#22 0x00007fdb8afe9bec in
QtWebEngineCore::RenderWidgetHostViewQtDelegateItem::~RenderWidgetHostViewQtDelegateItem
()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/render_widget_host_view_qt_delegate_item.cpp:45
#23 0x00007fdb8afe9ce9 in non-virtual thunk to
QtWebEngineCore::RenderWidgetHostViewQtDelegateItem::~RenderWidgetHostViewQtDelegateItem()
()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/render_widget_host_view_qt_delegate_item.h:57
#24 0x00007fdb8afdff23 in
std::default_delete<QtWebEngineCore::RenderWidgetHostViewQtDelegate>::operator()
()
at /usr/include/c++/15/bits/unique_ptr.h:92
#25 std::__uniq_ptr_impl<QtWebEngineCore::RenderWidgetHostViewQtDelegate,
std::default_delete<QtWebEngineCore::RenderWidgetHostViewQtDelegate> >::reset
() at /usr/include/c++/15/bits/unique_ptr.h:204
#26 std::unique_ptr<QtWebEngineCore::RenderWidgetHostViewQtDelegate,
std::default_delete<QtWebEngineCore::RenderWidgetHostViewQtDelegate> >::reset
() at /usr/include/c++/15/bits/unique_ptr.h:511
#27 QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/render_widget_host_view_qt.cpp:195
#28 0x00007fdb8afe03ad in
QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/render_widget_host_view_qt.cpp:210
#29 QtWebEngineCore::RenderWidgetHostViewQt::Destroy ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/render_widget_host_view_qt.cpp:641
#30 0x00007fdb8e8a95cb in content::RenderWidgetHostImpl::Destroy ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_impl.cc:2349
#31 0x00007fdb8e891a1e in content::RenderViewHostImpl::~RenderViewHostImpl ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc:380
#32 0x00007fdb8e892081 in content::RenderViewHostImpl::~RenderViewHostImpl ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc:397
#33 0x00007fdb8e830f2b in base::RefCounted<content::RenderViewHostImpl,
base::DefaultRefCountedTraits<content::RenderViewHostImpl>
>::DeleteInternal<content::RenderViewHostImpl> ()
at ../../../../../src/3rdparty/chromium/base/memory/ref_counted.h:375
#34 base::DefaultRefCountedTraits<content::RenderViewHostImpl>::Destruct ()
at ../../../../../src/3rdparty/chromium/base/memory/ref_counted.h:341
#35 base::RefCounted<content::RenderViewHostImpl,
base::DefaultRefCountedTraits<content::RenderViewHostImpl> >::Release
() at ../../../../../src/3rdparty/chromium/base/memory/ref_counted.h:364
#36 base::RefCounted<content::RenderViewHostImpl,
base::DefaultRefCountedTraits<content::RenderViewHostImpl> >::Release
() at ../../../../../src/3rdparty/chromium/base/memory/ref_counted.h:357
#37 scoped_refptr<content::RenderViewHostImpl>::Release ()
at ../../../../../src/3rdparty/chromium/base/memory/scoped_refptr.h:395
#38 scoped_refptr<content::RenderViewHostImpl>::~scoped_refptr ()
at ../../../../../src/3rdparty/chromium/base/memory/scoped_refptr.h:280
#39 scoped_refptr<content::RenderViewHostImpl>::reset ()
at ../../../../../src/3rdparty/chromium/base/memory/scoped_refptr.h:311
#40 content::RenderFrameHostImpl::~RenderFrameHostImpl ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_impl.cc:2698
#41 0x00007fdb8e832cb1 in content::RenderFrameHostImpl::~RenderFrameHostImpl ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_impl.cc:2729
#42 0x00007fdb8e844e51 in
std::default_delete<content::RenderFrameHostImpl>::operator() ()
at /usr/include/c++/15/bits/unique_ptr.h:92
#43 std::unique_ptr<content::RenderFrameHostImpl,
std::default_delete<content::RenderFrameHostImpl> >::~unique_ptr ()
at /usr/include/c++/15/bits/unique_ptr.h:398
#44 content::RenderFrameHostManager::~RenderFrameHostManager ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_manager.cc:620
#45 0x00007fdb8e6c79b7 in content::FrameTreeNode::~FrameTreeNode ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/frame_tree_node.cc:324
#46 0x00007fdb8e6bef1a in content::FrameTree::~FrameTree ()
at
../../../../../src/3rdparty/chromium/content/browser/renderer_host/frame_tree.cc:231
#47 0x00007fdb8eaef7b7 in content::WebContentsImpl::~WebContentsImpl ()
at
../../../../../src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:1447
#48 0x00007fdb8eaefce1 in content::WebContentsImpl::~WebContentsImpl ()
at
../../../../../src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:1447
#49 0x00007fdb8b014db6 in std::default_delete<content::WebContents>::operator()
()
at /usr/include/c++/15/bits/unique_ptr.h:92
#50 std::unique_ptr<content::WebContents,
std::default_delete<content::WebContents> >::~unique_ptr ()
at /usr/include/c++/15/bits/unique_ptr.h:398
#51 QtWebEngineCore::WebContentsAdapter::~WebContentsAdapter ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/web_contents_adapter.cpp:440
#52 0x00007fdb8fc9fed4 in QtSharedPointer::ExternalRefCountData::destroy
(this=0x564b697349a0)
at /usr/include/qt6/QtCore/qsharedpointer_impl.h:124
#53 QSharedPointer<QtWebEngineCore::CertificateErrorController>::deref
(dd=0x564b697349a0)
at /usr/include/qt6/QtCore/qsharedpointer_impl.h:515
#54 QSharedPointer<QtWebEngineCore::WebContentsAdapter>::deref
(dd=0x564b697349a0, dd=<optimized out>)
at /usr/include/qt6/QtCore/qsharedpointer_impl.h:511
#55 QSharedPointer<QtWebEngineCore::WebContentsAdapter>::deref (this=<optimized
out>, this=<optimized out>)
at /usr/include/qt6/QtCore/qsharedpointer_impl.h:510
#56 QSharedPointer<QtWebEngineCore::WebContentsAdapter>::~QSharedPointer
(this=<optimized out>, this=<optimized out>)
at /usr/include/qt6/QtCore/qsharedpointer_impl.h:293
#57 QWebEnginePagePrivate::~QWebEnginePagePrivate (this=<optimized out>,
this=<optimized out>)
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/api/qwebenginepage.cpp:135
#58 0x00007fdb8fca6ab6 in QWebEnginePagePrivate::~QWebEnginePagePrivate
(this=0x564b69794610, this=<optimized out>)
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/api/qwebenginepage.cpp:130
#59 QScopedPointerDeleter<QWebEnginePagePrivate>::cleanup
(pointer=0x564b69794610)
at /usr/include/qt6/QtCore/qscopedpointer.h:24
#60 QScopedPointer<QWebEnginePagePrivate,
QScopedPointerDeleter<QWebEnginePagePrivate> >::~QScopedPointer
(this=<optimized out>, this=<optimized out>) at
/usr/include/qt6/QtCore/qscopedpointer.h:81
#61 QWebEnginePage::~QWebEnginePage (this=0x564b69794570, this=<optimized out>)
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/api/qwebenginepage.cpp:1022
#62 0x00007fdb8fca6b85 in QWebEnginePage::~QWebEnginePage (this=0x564b69794570,
this=<optimized out>)
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/api/qwebenginepage.cpp:1022
#63 0x00007fdb980f087e in QWebEngineView::~QWebEngineView (this=0x564b6978a850,
this=<optimized out>)
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/webenginewidgets/api/qwebengineview.cpp:1042
#64 0x00007fdb9978ff0d in MarbleWebView::~MarbleWebView() [clone .lto_priv.0]
() at /lib64/libmarblewidget-qt6.so.28
#65 0x00007fdb96f5ecd2 in QObjectPrivate::deleteChildren
(this=this at entry=0x564b6927b320)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qobject.cpp:2212
#66 0x00007fdb982a3da8 in QWidget::~QWidget (this=0x564b69783480)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/widgets/kernel/qwidget.cpp:1571
#67 0x00007fdb982a3f05 in QWidget::~QWidget (this=0x564b69783480)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/widgets/kernel/qwidget.cpp:1598
#68 0x00007fdb9962a621 in Marble::PopupItem::~PopupItem() () at
/lib64/libmarblewidget-qt6.so.28
#69 0x00007fdb9962a6a5 in Marble::PopupItem::~PopupItem() () at
/lib64/libmarblewidget-qt6.so.28
#70 0x00007fdb96f5ecd2 in QObjectPrivate::deleteChildren
(this=this at entry=0x564b69781130)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qobject.cpp:2212
#71 0x00007fdb96f63c37 in QObject::~QObject (this=<optimized out>)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qobject.cpp:1122
#72 0x00007fdb9955bc98 in Marble::MarbleWidget::~MarbleWidget() () at
/lib64/libmarblewidget-qt6.so.28
#73 0x00007fdb9955bd55 in Marble::MarbleWidget::~MarbleWidget() () at
/lib64/libmarblewidget-qt6.so.28
#74 0x00007fdb96f5ecd2 in QObjectPrivate::deleteChildren
(this=this at entry=0x564b692ec0c0)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qobject.cpp:2212
#75 0x00007fdb982a3da8 in QWidget::~QWidget (this=0x564b693786b0)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/widgets/kernel/qwidget.cpp:1571
#76 0x0000564b44bb6cc5 in Marble::ControlView::~ControlView() ()
#77 0x00007fdb99a2042a in KParts::Part::~Part() () at /lib64/libKF6Parts.so.6
#78 0x0000564b44b996af in Marble::MarblePart::~MarblePart() ()
#79 0x0000564b44b8defe in Marble::MainWindow::~MainWindow() ()
#80 0x0000564b44b8df85 in Marble::MainWindow::~MainWindow() ()
#81 0x00007fdb96f58ecc in QObject::event (this=<optimized out>, e=<optimized
out>)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qobject.cpp:1398
#82 0x00007fdb9939ea6e in KXmlGuiWindow::event(QEvent*) () at
/lib64/libKF6XmlGui.so.6
#83 0x00007fdb9823db9f in QApplicationPrivate::notify_helper
(this=<optimized out>, receiver=0x564b69248930, e=0x564b6dccfa70)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/widgets/kernel/qapplication.cpp:3305
#84 0x00007fdb96efc4e8 in QCoreApplication::notifyInternal2
(receiver=0x564b69248930, event=0x564b6dccfa70)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1109
#85 0x00007fdb96efc74d in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1549
#86 0x00007fdb96effb09 in QCoreApplicationPrivate::sendPostedEvents
(receiver=0x0, event_type=0, data=0x564b68f5efd0)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1904
#87 0x00007fdb9721efcf in postEventSourceDispatch (s=0x564b68f40990)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#88 0x00007fdb8a2492a3 in g_main_context_dispatch_unlocked.lto_priv () at
/lib64/libglib-2.0.so.0
#89 0x00007fdb8a2521f8 in g_main_context_iterate_unlocked.isra () at
/lib64/libglib-2.0.so.0
#90 0x00007fdb8a2523a3 in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#91 0x00007fdb9721e80d in QEventDispatcherGlib::processEvents
(this=0x564b68f93b10, flags=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#92 0x00007fdb96f09063 in QEventLoop::exec (this=this at entry=0x7ffc3b139f20,
flags=..., flags at entry=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/global/qflags.h:77
#93 0x00007fdb96f04819 in QCoreApplication::exec ()
at
/usr/src/debug/qt6-qtbase-6.10.1-1.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1452
#94 0x0000564b44b8d3e9 in main ()
(gdb) frame 13
#13 0x00007fdb8ae12ca2 in
QtWebEngineCore::ScopedGLContextForCleanup::~ScopedGLContextForCleanup ()
at
/usr/src/debug/qt6-qtwebengine-6.10.1-2.fc43.x86_64/src/core/compositor/native_skia_output_device_opengl.cpp:84
84 qFatal("Failed to restore OpenGL context after clean-up.");
The problem might be in qtwebengine. I reproduced this problem 3/3 times.
STEPS TO REPRODUCE
1. In a Fedora 43 KDE installation, start Plasma on Wayland
2. Install marble if it isn't already with sudo dnf install marble in Konsole
3. Start marble
4. Close marble
OBSERVED RESULT
Marble crashed when closing with the error "Failed to restore OpenGL context
after clean-up."
EXPECTED RESULT
Marble shouldn't have crashed when closing
SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 43
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1
ADDITIONAL INFORMATION
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Marble-bugs
mailing list