QtWebEngine 6.8.1 is based on Chromium 122.0.6261 that contains a bug that affects hardened GCC. Reproducible: Sometimes Steps to Reproduce: Use a browser based on QtWebEngine. Actual Results: /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/optional:475: _Tp &std::_Optional_base_impl<content::DocumentAssociatedData, std::_Optional_base<content::DocumentAssociatedData>>::_M_get() [_Tp = content::DocumentAssociatedData, _Dp = std::_Optional_base<content::DocumentAssociatedData>]: Assertion 'this->_M_is_engaged()' failed. Expected Results: No crash.
Should be fixed in Qt 6.9.9999 (it even has a use_safe_libstdcxx=true switch to enable this), so may not bother trying to find the "right" fix and just temporarily pass the -U for 6.8 until 6.9 unless someone has a patch already. Can't push right now though, so I'll look at this tomorrow or so.
(on a side-note, depending on how other distros pass this flag, they may be avoiding the issue because qtwebengine does not respect *FLAGS by default -- only does here because we modify it)
Please provide a backtrace.
(In reply to Sam James from comment #3) > Please provide a backtrace. It's fixed in later versions of Chromium, QtWebEngine is just stuck at months-old version, as usual.
That doesn't change my request.
(In reply to Sam James from comment #3) > Please provide a backtrace. (lldb) bt * thread #1, name = 'falkon', stop reason = signal SIGABRT * frame #0: 0x00007ffff66a34d4 libc.so.6`__pthread_kill_implementation(threadid=<unavailable>, signo=6, no_tid=<unavailable>) at pthread_kill.c:43:17 frame #1: 0x00007ffff6654ca6 libc.so.6`__GI_raise(sig=6) at raise.c:26:13 frame #2: 0x00007ffff663d8f7 libc.so.6`__GI_abort at abort.c:79:7 frame #3: 0x00007ffff68d9e6f libstdc++.so.6`std::__glibcxx_assert_fail(char const*, int, char const*, char const*) + 111 frame #4: 0x00007ffff0381713 libQt6WebEngineCore.so.6 frame #5: 0x00007ffff02132ab libQt6WebEngineCore.so.6 frame #6: 0x00007ffff021319e libQt6WebEngineCore.so.6 frame #7: 0x00007ffff02a813d libQt6WebEngineCore.so.6 frame #8: 0x00007ffff039b7cd libQt6WebEngineCore.so.6 frame #9: 0x00007ffff037ab23 libQt6WebEngineCore.so.6 frame #10: 0x00007ffff0379ac8 libQt6WebEngineCore.so.6 frame #11: 0x00007ffff03a6484 libQt6WebEngineCore.so.6 frame #12: 0x00007fffefca1886 libQt6WebEngineCore.so.6 frame #13: 0x00007ffff19475b5 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 7433573 frame #14: 0x00007ffff194dc14 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 7459780 frame #15: 0x00007ffff19488ed libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 7438493 frame #16: 0x00007ffff1b379a7 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 9466199 frame #17: 0x00007ffff1b37d92 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 9467202 frame #18: 0x00007ffff1293f86 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 407350 frame #19: 0x00007ffff12a8a34 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 492004 frame #20: 0x00007ffff12a8513 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 490691 frame #21: 0x00007ffff12a8e45 libQt6WebEngineCore.so.6`___lldb_unnamed_symbol8682 + 493045 frame #22: 0x00007fffed8c7f99 libQt6WebEngineCore.so.6 frame #23: 0x00007ffff702aff1 libQt6Core.so.6`QObject::event(this=<unavailable>, e=<unavailable>) at qobject.cpp:1393:9 frame #24: 0x00007ffff7834f1d libQt6Widgets.so.6`QApplicationPrivate::notify_helper(this=0x00005555555d6050, receiver=0x0000555555d9f560, e=0x000055555f22b9b0) at qapplication.cpp:3296:26 frame #25: 0x00007ffff7836767 libQt6Widgets.so.6`QApplication::notify(this=0x00007fffffffc8b8, receiver=0x0000555555d9f560, e=0x000055555f22b9b0) at qapplication.cpp:0 frame #26: 0x00007ffff70cf450 libQt6Core.so.6`QCoreApplication::notifyInternal2(receiver=0x0000555555d9f560, event=0x000055555f22b9b0) at qcoreapplication.cpp:1168:18 frame #27: 0x00007ffff70d1511 libQt6Core.so.6`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) [inlined] QCoreApplication::sendEvent(receiver=<unavailable>, event=0x000055555f22b9b0) at qcoreapplication.cpp:1612:12 frame #28: 0x00007ffff70d1503 libQt6Core.so.6`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000, event_type=0, data=0x00005555555d6230) at qcoreapplication.cpp:1968:9 frame #29: 0x00007ffff6ea1833 libQt6Core.so.6`postEventSourceDispatch(s=0x0000555555709960, (null)=<unavailable>, (null)=<unavailable>) at qeventdispatcher_glib.cpp:246:5 frame #30: 0x00007fffea7a629f libglib-2.0.so.0`g_main_context_dispatch_unlocked [inlined] g_main_dispatch(context=0x00007fffd8000f30) at gmain.c:3357:27 frame #31: 0x00007fffea7a615d libglib-2.0.so.0`g_main_context_dispatch_unlocked(context=0x00007fffd8000f30) at gmain.c:4208:7 frame #32: 0x00007fffea7a6708 libglib-2.0.so.0`g_main_context_iterate_unlocked(context=0x00007fffd8000f30, block=1, dispatch=1, self=<unavailable>) at gmain.c:4273:5 frame #33: 0x00007fffea7a67a3 libglib-2.0.so.0`g_main_context_iteration(context=0x00007fffd8000f30, may_block=1) at gmain.c:4338:12 frame #34: 0x00007ffff6e8ea90 libQt6Core.so.6`QEventDispatcherGlib::processEvents(this=0x00005555555d85a0, flags=<unavailable>) at qeventdispatcher_glib.cpp:399:19 frame #35: 0x00007ffff70d0106 libQt6Core.so.6`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined] QEventLoop::processEvents(this=0x00007fffffffc868, flags=(i = 164)) at qeventloop.cpp:103:55 frame #36: 0x00007ffff70d00e9 libQt6Core.so.6`QEventLoop::exec(this=0x00007fffffffc868, flags=(i = 128)) at qeventloop.cpp:194:9 frame #37: 0x00007ffff70cfb94 libQt6Core.so.6`QCoreApplication::exec() at qcoreapplication.cpp:1513:32 frame #38: 0x000055555555794d falkon`___lldb_unnamed_symbol138 + 541 frame #39: 0x00007ffff663f480 libc.so.6`__libc_start_call_main(main=(falkon`___lldb_unnamed_symbol138), argc=1, argv=0x00007fffffffcb58) at libc_start_call_main.h:58:16 frame #40: 0x00007ffff663f539 libc.so.6`__libc_start_main_impl(main=(falkon`___lldb_unnamed_symbol138), argc=1, argv=0x00007fffffffcb58, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffcb48) at libc-start.c:360:3 frame #41: 0x00005555555574a5 falkon`___lldb_unnamed_symbol134 + 37
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6920d286d96437a8ae1bddcf1068b403a3a3db2 commit e6920d286d96437a8ae1bddcf1068b403a3a3db2 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2025-01-02 14:05:03 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2025-01-03 02:53:59 +0000 dev-qt/qtwebengine: workaround -D_GLIBCXX_ASSERTIONS issues in 6.8 ...which is default on hardened profiles, and unfortunately cannot revbump only for hardened, so will cause unnecessary rebuilds. Ideally would backport the proper fix, but have not tried to identify what fixes this and, given workaround is temporary (should be fixed in 6.9), it may not be worth the trouble meanwhile. On a side-note, was able to reproduce with qutebrowser by visiting some specific websites. Closes: https://bugs.gentoo.org/947356 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> .../{qtwebengine-6.8.1.ebuild => qtwebengine-6.8.1-r1.ebuild} | 5 ++++- dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-)