NEW 279911
"g_timer_continue: assertion 'timer->active == FALSE' failed" in gst_download_buffer_wait_for_data()
https://bugs.webkit.org/show_bug.cgi?id=279911
Summary "g_timer_continue: assertion 'timer->active == FALSE' failed" in gst_download...
Nils K
Reported 2024-09-18 11:21:31 PDT
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@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@entry=0x7f555c182e40, offset=offset@entry=0, length=<optimized out>, length@entry=16, buffer=buffer@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@entry=0x7f555c183650, offset=offset@entry=0, size=size@entry=16, buffer=buffer@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@entry=0x7f555c17f220, offset=offset@entry=0, size=size@entry=16, buffer=buffer@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@entry=0x7f555c181220, offset=offset@entry=0, size=size@entry=16, buffer=buffer@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@entry=0, size=size@entry=16, buffer=buffer@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
Attachments
Radar WebKit Bug Importer
Comment 1 2024-09-25 11:22:15 PDT
Note You need to log in before you can comment on or make changes to this bug.