On 12/29/24 14:49, Miroslav R. wrote:
Thanks for letting me know. That version hasn't made it to testing yet, but I can confirm installing it from unstable fixes the crash.> > The upstream Chromium bug mentions the assert is also present in libc++,However, I noticed that the solution was to provide a custom optional header with the assert commented out. I just want to let you know that dereferencing an empty optional is undefined behavior: https:// en.cppreference.com/w/cpp/utility/optional/operator*
yet does not trigger.I think it would be safer to switch back to libc++ as I get the feeling libstdc++ is not really supported by upstream. Please reconsider.
Unfortunately, both library options have their own similar issues. Gcc/libstdc++ *is* supported upstream, it's just not their primary compiler. As upstream moves on to newer version of clang/llvm, we end up needing libc++ workarounds very similar to the <optional> header workaround due to older version of clang++ in debian. Eg,
https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/bookworm/more-spaceships.patch?ref_type=heads
Thanks, Miroslav On 29. 12. 2024 19:21, Andres Salomon wrote:Hi, This bug is fixed in 131.0.6778.204-1. Please upgrade. Thanks, Andres On 12/29/24 12:56, Miroslav R. wrote:Package: chromium Version: 131.0.6778.139-1 Severity: important X-Debbugs-Cc: miroslavr...@gmail.com Dear Maintainer,Upgrading chromium from 131.0.6778.108-1 to 131.0.6778.139-1 introduced a crashwhen closing certain tabs, particularly reddit.com. Reproduction steps: 1. Open a tab with reddit.com. 2. Close the tab. You may have to repeat the steps a few times. The outcome is an assertion failure: ../../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. Callstack: #0 0x00007fbc1409dc8c in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007fbc14049c42 in raise () from /lib/x86_64-linux-gnu/libc.so.6 #2 0x00007fbc140324f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6#3 0x00007fbc142d4f9e in std::__glibcxx_assert_fail(char const*, int, charconst*, char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00005610e787e848 in content::FederatedAuthRequestImpl::CompleteRequest(blink::mojom::FederatedAuthRequestResult, std::optional<content::FedCmRequestIdTokenStatus>,std::optional<content::IdentityCredentialTokenError>, std::optional<GURL>const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) () #5 0x00005610e7869ac4 in content::FederatedAuthRequestImpl::CompleteRequestWithError(blink::mojom::FederatedAuthRequestResult, std::optional<content::FedCmRequestIdTokenStatus>, std::optional<content::IdentityCredentialTokenError>, bool) () #6 0x00005610e7869066 in content::FederatedAuthRequestImpl::~FederatedAuthRequestImpl() () #7 0x00005610e787faf4 in non-virtual thunk to content::DocumentService<blink::mojom::FederatedAuthRequest>::ResetAndDeleteThisInternal(base::PassKey<content::DocumentAssociatedData>) () #8 0x00005610e7457c39 in content::DocumentAssociatedData::~DocumentAssociatedData() ()#9 0x00005610e755eb9d in content::RenderFrameHostImpl::~RenderFrameHostImpl()() #10 0x00005610e75cb6be in content::RenderFrameHostManager::~RenderFrameHostManager() () #11 0x00005610e74650dc in content::FrameTreeNode::~FrameTreeNode() () #12 0x00005610e745d340 in content::FrameTree::~FrameTree() ()#13 0x00005610e77de474 in content::WebContentsImpl::~WebContentsImpl() ()#14 0x00005610e90c1d25 in tabs::TabModel::~TabModel() () #15 0x00005610e90c82c1 in TabStripModel::SendDetachWebContentsNotifications(TabStripModel::DetachNotifications*) () #16 0x00005610e90cd0b1 in TabStripModel::CloseTabs(base::span<content::WebContents* const, 18446744073709551615ul, content::WebContents* const*>, unsigned int) ()#17 0x00005610e90cd924 in TabStripModel::CloseWebContentsAt(int, unsigned int)() #18 0x00005610e780efef in non-virtual thunk to content::WebContentsImpl::Close() () #19 0x00005610e757f471 in content::RenderFrameHostImpl::ClosePageIgnoringUnloadEvents(content::RenderFrameHostImpl::ClosePageSource) () #20 0x00005610e47b1521 in bluetooth::mojom::FakeCentral_SimulatePreconnectedPeripheral_ForwardToCallback::Accept(mojo::Message*) () #21 0x00005610e9e6b848 in mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept(mojo::Message*) ()#22 0x00005610e9e72f28 in mojo::MessageDispatcher::Accept(mojo::Message*) ()#23 0x00005610e9e6d6e1 in mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) () #24 0x00005610eaa343cc in IPC::ChannelAssociatedGroupController::AcceptOnEndpointThread(mojo::Message, IPC::(anonymous namespace)::ScopedUrgentMessageNotification) [clone .9e1349778593118307bb305d0cef2429] () #25 0x00005610eaa34939 in base::internal::Invoker<base::internal::FunctorTraits<void(IPC::ChannelAssociatedGroupController::*&&)(mojo::Message, IPC:: (anonymousnamespace)::ScopedUrgentMessageNotification),IPC::ChannelAssociatedGroupController*&&, mojo::Message&&, IPC:: (anonymous namespace)::ScopedUrgentMessageNotification&&>, base::internal::BindState<true, true, false, void (IPC::ChannelAssociatedGroupController::*) (mojo::Message,IPC::(anonymous namespace)::ScopedUrgentMessageNotification), scoped_refptr<IPC::ChannelAssociatedGroupController>, mojo::Message, IPC::(anonymous namespace)::ScopedUrgentMessageNotification>, void ()>::RunOnce(base::internal::BindStateBase*) ()#26 0x00005610e9efd203 in base::TaskAnnotator::RunTaskImpl(base::PendingTask&)() #27 0x00005610e9f1ecd8 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() () #28 0x00005610e9f8c67f in base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) ()#29 0x00007fbc1630b81f in ?? () from /lib/x86_64-linux-gnu/ libglib-2.0.so.0 #30 0x00007fbc1630da57 in ?? () from /lib/x86_64-linux-gnu/ libglib-2.0.so.0 #31 0x00007fbc1630e1c0 in g_main_context_iteration () from /lib/ x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00005610e9f8b0cb in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) () #33 0x00005610e9f1f858 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) () #34 0x00005610e9edd85c in base::RunLoop::Run(base::Location const&) ()#35 0x00005610e6f3c20e in content::BrowserMainLoop::RunMainMessageLoop() () #36 0x00005610e6f38051 in content::BrowserMain(content::MainFunctionParams) ()#37 0x00005610e8fd4f2e in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) () #38 0x00005610e8fd49fb in content::ContentMainRunnerImpl::Run() ()#39 0x00005610e8fd18f8 in content::ContentMain(content::ContentMainParams) ()#40 0x00005610e4532e29 in ChromeMain () #41 0x00007fbc14033d68 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #42 0x00007fbc14033e25 in __libc_start_main () from /lib/x86_64-linux- gnu/libc.so.6 #43 0x00005610e41e1021 in _start () I suspect https://salsa.debian.org/chromium-team/chromium/-/commit/586527a68c27e6ad90387dd6c182e82f200a777f to be the cause, which switched from libc++ to libstdc++ for building Chromium. Thereason is I found a very similar (if not the same) issue on the upstreamtracker: https://issues.chromium.org/issues/361116760 Chromium has issues whenbuilt with libstdc++. Would it be possible to revert the Debian commit? Best regards, Miroslav -- System Information: Debian Release: trixie/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.6-amd64 (SMP w/4 CPU threads; PREEMPT)Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not setShell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages chromium depends on: ii chromium-common 131.0.6778.139-1 ii libasound2t64 1.2.12-1+b1 ii libatk-bridge2.0-0t64 2.54.0-1 ii libatk1.0-0t64 2.54.0-1 ii libatomic1 14.2.0-8 ii libatspi2.0-0t64 2.54.0-1 ii libc6 2.40-4 ii libcairo2 1.18.2-2 ii libcups2t64 2.4.10-2+b1 ii libdav1d7 1.5.0-1+b1 ii libdbus-1-3 1.16.0-1 ii libdouble-conversion3 3.3.0-1+b2 ii libdrm2 2.4.123-1 ii libevent-2.1-7t64 2.1.12-stable-10+b1 ii libexpat1 2.6.4-1 ii libflac12t64 1.4.3+ds-4 ii libfontconfig1 2.15.0-1.1+b1 ii libfreetype6 2.13.3+dfsg-1 ii libgbm1 24.2.8-1 ii libgcc-s1 14.2.0-8 ii libglib2.0-0t64 2.82.4-1 ii libgtk-3-0t64 3.24.43-4 ii libharfbuzz-subset0 10.1.0-1 ii libharfbuzz0b 10.1.0-1 ii libjpeg62-turbo 1:2.1.5-3+b1 ii liblcms2-2 2.16-2 ii libminizip1t64 1:1.3.dfsg+really1.3.1-1+b1 ii libnspr4 2:4.36-1 ii libnss3 2:3.106-1 ii libopenh264-7 2.5.0+dfsg-1 ii libopenjp2-7 2.5.0-2+b4 ii libopus0 1.5.2-2 ii libpango-1.0-0 1.55.0+ds-3 ii libpng16-16t64 1.6.44-3 ii libpulse0 17.0+dfsg1-1 ii libstdc++6 14.2.0-8 ii libtiff6 4.5.1+git230720-5 ii libudev1 257.1-4 ii libx11-6 2:1.8.10-2 ii libxcb1 1.17.0-2+b1 ii libxcomposite1 1:0.4.6-1 ii libxdamage1 1:1.1.6-1+b2 ii libxext6 2:1.3.4-1+b2 ii libxfixes3 1:6.0.0-2+b3 ii libxkbcommon0 1.7.0-2 ii libxml2 2.12.7+dfsg+really2.9.14-0.2+b1 ii libxnvctrl0 535.171.04-1+b1 ii libxrandr2 2:1.5.4-1+b2 ii libxslt1.1 1.1.35-1.1+b1 ii libzstd1 1.5.6+dfsg-1+b1 ii xdg-desktop-portal-gtk [xdg-desktop-portal 1.15.1-1+b1 -backend] ii xdg-desktop-portal-kde [xdg-desktop-portal 6.2.4-1 -backend] ii zlib1g 1:1.3.dfsg+really1.3.1-1+b1 Versions of packages chromium recommends: ii chromium-sandbox 131.0.6778.139-1 Versions of packages chromium suggests: pn chromium-driver <none> pn chromium-l10n <none> pn chromium-shell <none> Versions of packages chromium-common depends on: ii libc6 2.40-4 ii libdrm2 2.4.123-1 ii libgcc-s1 14.2.0-8 ii libstdc++6 14.2.0-8 ii libx11-6 2:1.8.10-2 ii libxcb1 1.17.0-2+b1 ii libxnvctrl0 535.171.04-1+b1 ii x11-utils 7.7+7 ii xdg-utils 1.2.1-2 ii zlib1g 1:1.3.dfsg+really1.3.1-1+b1 Versions of packages chromium-common recommends: ii chromium-sandbox 131.0.6778.139-1 ii fonts-liberation 1:2.1.5-3 ii libgl1-mesa-dri 24.2.8-1 ii plasma-workspace [notification-daemon] 4:6.2.4-1 ii system-config-printer 1.5.18-3 ii udev 257.1-4 ii upower 1.90.6-2 ii xfce4-notifyd [notification-daemon] 0.9.6-1 chromium-dbgsym depends on no packages. Versions of packages chromium-sandbox depends on: ii libc6 2.40-4 -- no debconf information
OpenPGP_signature.asc
Description: OpenPGP digital signature