[Bug 685332] New: GstMeta registry race
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Oct 2 13:49:08 PDT 2012
https://bugzilla.gnome.org/show_bug.cgi?id=685332
GStreamer | gst-plugins-base | 1.0.0
Summary: GstMeta registry race
Classification: Platform
Product: GStreamer
Version: 1.0.0
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: msmith at xiph.org
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
My test transcoding app often (~50% of the time) prints this out near startup:
(python:8136): GLib-GObject-CRITICAL **: g_pointer_type_register_static:
assertion `g_type_from_name (name) == 0' failed
I think (see stack below) this is because there's nothing preventing multiple
concurrent calls to gst_meta_register from a single site, in different threads
- i.e. like the GType registration, I think we need to use g_once_* stuff to
prevent this.
I ran into this with the video meta, but I assume this applies to all the
others. If people agree, I can prepare some patches.
With G_DEBUG=fatal_warnings, the stack looks like:
Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffea7fc700 (LWP 8147)]
0x00007ffff5896fdb in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff5896fdb in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff58971b2 in g_log () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff5b75ae2 in g_pointer_type_register_static ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x00007ffff3d7e756 in gst_meta_register ()
from /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#4 0x00007ffff2fb2d8d in gst_video_meta_get_info ()
from /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#5 0x00007ffff2fb2f3c in gst_buffer_add_video_meta_full ()
from /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#6 0x00007ffff2fb37ec in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#7 0x00007ffff3d5c878 in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#8 0x00007ffff3d5cb76 in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#9 0x00007ffff3d5e012 in gst_buffer_pool_acquire_buffer ()
from /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#10 0x00007ffff38c2b5d in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#11 0x00007ffff38c5bab in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#12 0x00007ffff38c651f in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0#13 0x00007ffff3d83ed9 in
?? ()
from /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#14 0x00007ffff3b06b6d in ?? () from
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#15 0x00007ffff3db143f in ?? ()
from /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0#16 0x00007ffff58b2248
in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff58b19e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff7bc4e9a in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#19 0x00007ffff69b64bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#20 0x0000000000000000 in ?? ()
--
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