Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-136131

Crash from assertion failure when closing some audible tabs

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.9.0
    • WebEngine
    • None
    • Linux/X11

    Description

      I get a browser crash when closing an audible tab on one site, there must be other preconditions because most sites don't have this problem. Reproducer:

       

      1. open https://d07riv.github.io/diabloweb/
      2. click "Play Shareware"
      3. when audio starts playing, close the tab

       

      The error message I'm getting on stderr is /usr/include/c++/14/optional:475: constexpr _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = content::DocumentAssociatedData; _Dp = std::_Optional_base<content::DocumentAssociatedData, false, false>]: Assertion 'this->_M_is_engaged()' failed.

      The stack trace is:

       #0  __pthread_kill_implementation (threadid=<optimized out>,
          signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
      #1  0x00007fffea09e9ff in __pthread_kill_internal (threadid=<optimized out>,
          signo=6) at ./nptl/pthread_kill.c:89
      #2  0x00007fffea049cc2 in __GI_raise (sig=sig@entry=6)
          at ../sysdeps/posix/raise.c:26
      #3  0x00007fffea0324ac in __GI_abort () at ./stdlib/abort.c:73
      #4  0x00007fffe92d545e in std::__glibcxx_assert_fail(char const*, int, char const*, char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #5  0x00007fffef10a6ad in content::RenderFrameHostImpl::GetPage() ()
         from /usr/local/Qt-6.9.0/lib/libQt6WebEngineCore.so.6
      #6  0x00007ffff73d6d88 in ukm::(anonymous namespace)::g_ukm_recorder ()
         from /usr/local/Qt-6.9.0/lib/libQt6WebEngineCore.so.6
      #7  0x00007fffffffcb10 in ?? ()
      #8  0x00007fffef102309 in content::RenderFrameHostImpl::IsInPrimaryMainFrame()
          () from /usr/local/Qt-6.9.0/lib/libQt6WebEngineCore.so.6
      #9  0x0000000000130eba in ?? ()
      #10 0x00007fffffffcb50 in ?? ()
      #11 0x00007fffeeedaa60 in content::AudioContextManagerImpl::RecordAudibleTime(base::TimeDelta) () from /usr/local/Qt-6.9.0/lib/libQt6WebEngineCore.so.6

      While this is an assertion failure, I don't believe it requires a debug build to trigger it (I could be wrong). There is some discussion on this page saying some distros have "hardened" their gcc: https://github.com/PF4Public/gentoo-overlay/issues/318

      I have no idea about any of that stuff, I'm on Debian sid using the packaged gcc 14 FWIW.

      I think this might be some kind of chrome issue, but I can't reproduce in google-chrome v135.

      I think the issue may potentially have been fixed by this change (just by searching for DocumentAssociatedData from the assertion error message): https://chromium-review.googlesource.com/c/chromium/src/+/5014405

      Then unfixed by this change: https://chromium-review.googlesource.com/c/chromium/src/+/5022339 

      Attachments

        For Gerrit Dashboard: QTBUG-136131
        # Subject Branch Project Status CR V

        Activity

          People

            moheim Moss Heim
            toofar toofar
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change