[Bug 740292] New: gstbasesrc / plugins-good-matroskademux: GLib-GObject-CRITICAL when seeking really excessively

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Nov 17 15:25:35 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=740292
  GStreamer | gstreamer (core) | 1.4.1

           Summary: gstbasesrc / plugins-good-matroskademux:
                    GLib-GObject-CRITICAL when seeking really excessively
    Classification: Platform
           Product: GStreamer
           Version: 1.4.1
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: fraxinas at opendreambox.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


when seeking really quickly in my app, i sometimes observed
GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

i could reproduce this after about 40 seek operations on an mkv file within 30
seconds. i got a backtrace:

(enigma2:2623): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT
(object)' failed

(enigma2:2623): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT
(object)' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x60159440 (LWP 2658)]
0x74e07f64 in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
37        return INLINE_SYSCALL (tgkill, 3, pid, THREAD_GETMEM (THREAD_SELF,
tid),
(gdb) bt full
#0  0x758d83b0 in g_logv (log_domain=0x75a01030 "GLib-GObject",
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>)
at
/usr/src/debug/glib-2.0/glib-2.0-1_2.36.4-r0/glib-2.36.4/glib/gmessages.c:974
        domain = 0x0
        data = <optimized out>
        depth = 1
        log_func = 0x758d7934 <g_log_default_handler>
        domain_fatal_mask = <optimized out>
        masquerade_fatal = <optimized out>
        test_level = 10
        was_fatal = 0
        was_recursion = 0
        msg = 0x5aa1cb18 "g_object_ref: assertion `G_IS_OBJECT (object)'
failed"
        msg_alloc = 0x5aa1cb18 "g_object_ref: assertion `G_IS_OBJECT (object)'
failed"
        i = 3
#1  0x758d858c in g_log (log_domain=<optimized out>, log_level=<optimized out>,
format=<optimized out>) at
/usr/src/debug/glib-2.0/glib-2.0-1_2.36.4-r0/glib-2.36.4/glib/gmessages.c:1010
        args = 0x6015860c
#2  0x758d85cc in g_return_if_fail_warning (log_domain=<optimized out>,
pretty_function=<optimized out>, expression=<optimized out>) at
/usr/src/debug/glib-2.0/glib-2.0-1_2.36.4-r0/glib-2.36.4/glib/gmessages.c:1019
No locals.
#3  0x759cec78 in g_object_ref (_object=0x64406068) at
/usr/src/debug/glib-2.0/glib-2.0-1_2.36.4-r0/glib-2.36.4/gobject/gobject.c:2884
        object = 0x64406068
        old_val = <optimized out>
        __PRETTY_FUNCTION__ = "g_object_ref"
#4  0x75a39df0 in gst_object_ref (object=0x64406068) at gstobject.c:256
No locals.
#5  0x748a8794 in gst_base_src_do_sync (buffer=0x64533978, basesrc=0x25061c8)
at gstbasesrc.c:2195
        pseudo_live = <optimized out>
        is_live = <optimized out>
        result = 4294967295
        start = 18446744073709551615
        clock = 0x64406068
        now = 18446744073709551615
        timestamp = 18446744073709551615
        end = 18446744073709551615
        bclass = <optimized out>
        base_time = <optimized out>
        pts = 18446744073709551615
        dts = 18446744073709551615
        do_timestamp = <optimized out>
        first = <optimized out>
#6  gst_base_src_get_range (src=0x25061c8, offset=<optimized out>,
length=65536, buf=0x60158850) at gstbasesrc.c:2492
        ret = <optimized out>
        bclass = 0x26e9000
        res_buf = 0x64533978
        in_buf = <optimized out>
        __PRETTY_FUNCTION__ = "gst_base_src_get_range"
#7  0x748aa550 in gst_base_src_getrange (pad=0x25042b8, parent=0x25061c8,
offset=<optimized out>, length=65536, buf=0x60158850) at gstbasesrc.c:2613
        src = 0x25061c8
        res = <optimized out>
        __PRETTY_FUNCTION__ = "gst_base_src_getrange"
#8  0x75a8e2f0 in gst_pad_get_range_unchecked (pad=0x25042b8, offset=<optimized
out>, size=65536, buffer=0x601588e0) at gstpad.c:4263
        ret = <optimized out>
        getrangefunc = 0x748aa484 <gst_base_src_getrange>
        parent = 0x25061c8
        res_buf = 0x0
        __PRETTY_FUNCTION__ = "gst_pad_get_range_unchecked"
---Type <return> to continue, or q <return> to quit---
#9  0x75a971a0 in gst_pad_pull_range (pad=0x25005e0, offset=<optimized out>,
size=65536, buffer=0x601589b8) at gstpad.c:4502
        peer = 0x25042b8
        ret = <optimized out>
        res_buf = 0x0
        __PRETTY_FUNCTION__ = "gst_pad_pull_range"
#10 0x75a78be4 in gst_proxy_pad_getrange_default (pad=0x2501618,
parent=0x25005e0, offset=<optimized out>, size=65536, buffer=0x601589b8) at
gstghostpad.c:184
        res = <optimized out>
        internal = 0x25005e0
        __PRETTY_FUNCTION__ = "gst_proxy_pad_getrange_default"
#11 0x75a8e2f0 in gst_pad_get_range_unchecked (pad=0x2501618, offset=<optimized
out>, size=65536, buffer=0x60158a48) at gstpad.c:4263
        ret = <optimized out>
        getrangefunc = 0x75a78ae8 <gst_proxy_pad_getrange_default>
        parent = 0x25005e0
        res_buf = 0x0
        __PRETTY_FUNCTION__ = "gst_pad_get_range_unchecked"
#12 0x75a971a0 in gst_pad_pull_range (pad=0x2504400, offset=<optimized out>,
size=65536, buffer=0x60158ae8) at gstpad.c:4502
        peer = 0x2501618
        ret = <optimized out>
        res_buf = 0x0
        __PRETTY_FUNCTION__ = "gst_pad_pull_range"
#13 0x75a8e2f0 in gst_pad_get_range_unchecked (pad=0x2504548, offset=<optimized
out>, size=65536, buffer=0x60158b78) at gstpad.c:4263
        ret = <optimized out>
        getrangefunc = 0x60a37760 <gst_type_find_element_getrange>
        parent = 0x2508010
        res_buf = 0x0
        __PRETTY_FUNCTION__ = "gst_pad_get_range_unchecked"
#14 0x75a971a0 in gst_pad_pull_range (pad=0x2504a68, offset=<optimized out>,
size=65536, buffer=0x618121f4) at gstpad.c:4502
        peer = 0x2504548
        ret = <optimized out>
        res_buf = 0x0
        __PRETTY_FUNCTION__ = "gst_pad_pull_range"
#15 0x601b139c in ?? () from /usr/lib/gstreamer-1.0/libgstmatroska.so
warning: GDB can't find the start of the function at 0x601b139a.
No symbol table info available.
(gdb) 

when continuing, it goes on with
(enigma2:2623): GStreamer-CRITICAL **: gst_object_unref: assertion `((GObject
*) object)->ref_count > 0' failed
(enigma2:2623): GStreamer-CRITICAL **: gst_clock_get_time: assertion
`GST_IS_CLOCK (clock)' failed

and a couple more 
(enigma2:2623): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT
(object)' failed
and
(enigma2:2623): GStreamer-CRITICAL **: gst_object_unref: assertion `((GObject
*) object)->ref_count > 0' failed
to eventually segfault out

none of my proprietary elements is messing with the clock.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list