[Webkit-unassigned] [Bug 279911] New: "g_timer_continue: assertion 'timer->active == FALSE' failed" in gst_download_buffer_wait_for_data()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 18 11:21:31 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=279911

            Bug ID: 279911
           Summary: "g_timer_continue: assertion 'timer->active == FALSE'
                    failed" in gst_download_buffer_wait_for_data()
           Product: WebKit
           Version: Other
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: New Bugs
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: nilskemail+webkit at gmail.com

After enabling fatal-criticals for glib (see bug #276819) I started to observed some crashes with the following error message preceding it:

"(WPEWebProcess:2): GLib-CRITICAL **: 09:13:26.792: g_timer_continue: assertion 'timer->active == FALSE' failed"

This is the same assertion error as encountered in bug #132262. The backtrace is (not sure if the additional data from "bt full" vs "bt" is helpful as everything is optimized away):

#0  _g_log_abort (breakpoint=<optimized out>) at ../glib/gmessages.c:426
        debugger_present = 1
        debugger_present = <optimized out>
#1  g_logv (log_domain=0x7f579f7812eb "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args at entry=0x7f55bf3ff0e0) at ../glib/gmessages.c:1273
        domain = 0x0
        data = <optimized out>
        depth = <optimized out>
        log_func = <optimized out>
        domain_fatal_mask = <optimized out>
        masquerade_fatal = <optimized out>
        test_level = <optimized out>
        was_fatal = <optimized out>
        was_recursion = <optimized out>
        buffer = <optimized out>
        msg_alloc = 0x7f559c001f50 "g_timer_continue: assertion 'timer->active == FALSE' failed"
        msg = 0x7f559c001f50 "g_timer_continue: assertion 'timer->active == FALSE' failed"
        i = 3
        size = <optimized out>
#2  0x00007f579f6c3ea3 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1315
        args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7f55bf3ff1c0, reg_save_area = 0x7f55bf3ff100}}
#3  0x00007f5745f0ea7c in gst_download_buffer_wait_for_data (dlbuf=<optimized out>, offset=<optimized out>, length=<optimized out>) at ../plugins/elements/gstdownloadbuffer.c:731
        stop = <optimized out>
        started = <optimized out>
        start = <optimized out>
        wanted = <optimized out>
        start = <optimized out>
        stop = <optimized out>
        wanted = <optimized out>
        started = <optimized out>
        __func__ = <optimized out>
        out_flushing = <optimized out>
        _g_boolean_var_22 = <optimized out>
        _g_boolean_var_23 = <optimized out>
        _g_boolean_var_24 = <optimized out>
        threshold = <optimized out>
        dist = <optimized out>
        _g_boolean_var_25 = <optimized out>
        _g_boolean_var_26 = <optimized out>
        _g_boolean_var_27 = <optimized out>
        _g_boolean_var_28 = <optimized out>
        _g_boolean_var_29 = <optimized out>
        _g_boolean_var_30 = <optimized out>
        _g_boolean_var_31 = <optimized out>
#4  gst_download_buffer_read_buffer (dlbuf=dlbuf at entry=0x7f555c182e40, offset=offset at entry=0, length=<optimized out>, length at entry=16, buffer=buffer at entry=0x7f55bf3ff338) at ../plugins/elements/gstdownloadbuffer.c:808
        buf = <optimized out>
        info = {memory = 0x7f578f7600e0, flags = GST_MAP_WRITE, data = 0x7f578f760158 "", size = 16, maxsize = 16, user_data = {0x7f579ee6baf8 <__printf_buffer_write+72>, 0x7f55a0001ff0, 0x7f579f50f618, 0x7f55bf3ff880}, 
          _gst_reserved = {0x7f55bf3ff7b0, 0x7f55bf3ff7a0, 0x7f555c182e40, 0x7f555c183668}}
        ret = GST_FLOW_OK
        res = <optimized out>
        remaining = <optimized out>
        error = 0x7f55a004bff0
        __func__ = "gst_download_buffer_read_buffer"
#5  0x00007f5745f11f49 in gst_download_buffer_get_range (pad=<optimized out>, parent=0x7f555c182e40, offset=0, length=16, buffer=0x7f55bf3ff338) at ../plugins/elements/gstdownloadbuffer.c:1652
        dlbuf = 0x7f555c182e40
        ret = <optimized out>
        msg = 0x0
        __func__ = "gst_download_buffer_get_range"
#6  0x00007f579f4aa3db in gst_pad_get_range_unchecked (pad=pad at entry=0x7f555c183650, offset=offset at entry=0, size=size at entry=16, buffer=buffer at entry=0x7f55bf3ff408) at ../gst/gstpad.c:4979
        ret = GST_FLOW_OK
--Type <RET> for more, q to quit, c to continue without paging--c
        getrangefunc = 0x7f5745f11ed0 <gst_download_buffer_get_range>
        parent = 0x7f555c182e40
        res_buf = 0x0
        __func__ = "gst_pad_get_range_unchecked"
#7  0x00007f579f4aad33 in gst_pad_pull_range (pad=0x7f555c17ee20, offset=0, size=16, buffer=0x7f55bf3ff4f8) at ../gst/gstpad.c:5224
        peer = 0x7f555c183650
        ret = <optimized out>
        res_buf = 0x0
        __func__ = "gst_pad_pull_range"
#8  0x00007f579f48a6b7 in gst_proxy_pad_getrange_default (pad=<optimized out>, parent=<optimized out>, offset=0, size=16, buffer=0x7f55bf3ff4f8) at ../gst/gstghostpad.c:185
        res = <optimized out>
        internal = 0x7f555c17ee20
        __func__ = "gst_proxy_pad_getrange_default"
#9  0x00007f579f4aa3db in gst_pad_get_range_unchecked (pad=pad at entry=0x7f555c17f220, offset=offset at entry=0, size=size at entry=16, buffer=buffer at entry=0x7f55bf3ff5c8) at ../gst/gstpad.c:4979
        ret = GST_FLOW_OK
        getrangefunc = 0x7f579f48a650 <gst_proxy_pad_getrange_default>
        parent = 0x7f555c17ee20
        res_buf = 0x0
        __func__ = "gst_pad_get_range_unchecked"
#10 0x00007f579f4aad33 in gst_pad_pull_range (pad=0x7f555c180df0, offset=0, size=16, buffer=0x7f55bf3ff688) at ../gst/gstpad.c:5224
        peer = 0x7f555c17f220
        ret = <optimized out>
        res_buf = 0x0
        __func__ = "gst_pad_pull_range"
#11 0x00007f579f4aa3db in gst_pad_get_range_unchecked (pad=pad at entry=0x7f555c181220, offset=offset at entry=0, size=size at entry=16, buffer=buffer at entry=0x7f55bf3ff758) at ../gst/gstpad.c:4979
        ret = GST_FLOW_OK
        getrangefunc = 0x7f5745f46b30 <gst_type_find_element_getrange>
        parent = 0x7f555c180ae0
        res_buf = 0x0
        __func__ = "gst_pad_get_range_unchecked"
#12 0x00007f579f4aad33 in gst_pad_pull_range (pad=0x7f55a0004220, offset=offset at entry=0, size=size at entry=16, buffer=buffer at entry=0x7f55bf3ff868) at ../gst/gstpad.c:5224
        peer = 0x7f555c181220
        ret = <optimized out>
        res_buf = 0x0
        __func__ = "gst_pad_pull_range"
#13 0x00007f572cd8e752 in gst_qtdemux_loop_state_header (qtdemux=0x7f55a004bc60) at ../gst/isomp4/qtdemux.c:4951
        length = 0
        fourcc = 0
        buf = 0x0
        ret = GST_FLOW_OK
        cur_offset = 0
        map = {memory = 0x7f55bf3ff8e0, flags = (unknown: 0xa0001ff0), data = 0x7f55a0001ff0 "qtdemux39:sink", size = 1, maxsize = 1, user_data = {0x7f55a01160a0, 0x7f55bf3ff950, 
            0x7f579f50759b <do_stream_status.isra.0+235>, 0x7f55bf3ff930}, _gst_reserved = {0x7f559c0050f0, 0x18, 0x7f55bf3ff960, 0x7f55bf3ff920}}
        length = <optimized out>
        fourcc = <optimized out>
        buf = <optimized out>
        ret = <optimized out>
        cur_offset = <optimized out>
        map = <optimized out>
        beach = <optimized out>
        __func__ = <optimized out>
        _g_boolean_var_577 = <optimized out>
        _g_boolean_var_578 = <optimized out>
        _g_boolean_var_579 = <optimized out>
        __txt = <optimized out>
        __dbg = <optimized out>
        _g_boolean_var_580 = <optimized out>
        _g_boolean_var_581 = <optimized out>
        _g_boolean_var_582 = <optimized out>
        _g_boolean_var_583 = <optimized out>
        moov = <optimized out>
        _g_boolean_var_584 = <optimized out>
        duration = <optimized out>
        __txt = <optimized out>
        __dbg = <optimized out>
        _g_boolean_var_585 = <optimized out>
        _g_boolean_var_586 = <optimized out>
        _g_boolean_var_587 = <optimized out>
        __txt = <optimized out>
        __dbg = <optimized out>
        _g_boolean_var_588 = <optimized out>
        _g_boolean_var_589 = <optimized out>
        __txt = <optimized out>
        __dbg = <optimized out>
        _g_boolean_var_590 = <optimized out>
        _g_boolean_var_591 = <optimized out>
        final_data = <optimized out>
        final_length = <optimized out>
        final_fourcc = <optimized out>
        newmoov = <optimized out>
        __txt = <optimized out>
        __dbg = <optimized out>
        _g_boolean_var_592 = <optimized out>
        _g_boolean_var_593 = <optimized out>
        ftyp = <optimized out>
        styp = <optimized out>
        uuid = <optimized out>
        sidx = <optimized out>
        meta = <optimized out>
        node = <optimized out>
        child = <optimized out>
        child_data = <optimized out>
        unknown = <optimized out>
        _g_boolean_var_594 = <optimized out>
        _g_boolean_var_595 = <optimized out>
        _g_boolean_var_596 = <optimized out>
        _g_boolean_var_597 = <optimized out>
        _g_boolean_var_598 = <optimized out>
        _g_boolean_var_599 = <optimized out>
#14 gst_qtdemux_loop (pad=0x7f55a0004220) at ../gst/isomp4/qtdemux.c:7331
        qtdemux = 0x7f55a004bc60
        cur_offset = <optimized out>
        ret = <optimized out>
        __func__ = "gst_qtdemux_loop"
#15 0x00007f579f4d5ff4 in gst_task_func (task=0x7f55a01160a0) at ../gst/gsttask.c:399
        lock = 0x7f55a0004290
        tself = <optimized out>
        priv = <optimized out>
        __func__ = "gst_task_func"
#16 0x00007f579f6f0542 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:336
        task = 0x7f55a004bff0
        pool = 0xd833110
#17 0x00007f579f6ee813 in g_thread_proxy (data=0x7f5710000ed0) at ../glib/gthread.c:835
        thread = 0x7f5710000ed0
        __func__ = "g_thread_proxy"
#18 0x00007f579eea66d7 in start_thread (arg=<optimized out>) at pthread_create.c:447
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140006257592000, -8395858797854886906, 140006257592000, -208, 0, 140012590987040, -8395858797867469818, -8394805074425056250}, mask_was_saved = 0}}, priv = {pad = {0x0, 
              0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#19 0x00007f579ef2a414 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240918/e9c66900/attachment-0001.htm>


More information about the webkit-unassigned mailing list