[gst-devel] python-gst : core dump with sync-message

Antoine Pitrou antoine.pitrou at wengo.fr
Mon Oct 16 12:52:27 CEST 2006


Hi,

In my attempt to get familiar with the basic features of python-gst I
get a core dump when using the sync-message signal.

Here is the offending code :

import gst
import time

def on_message(bus, message):
    pass

pipeline = gst.Pipeline("mypipeline")
src = gst.element_make_from_uri(gst.URI_SRC,
    "http://commons.wikimedia.org/wiki/Image:Albanian_numbers.ogg",
    "srcogg")
sink = gst.element_factory_make("alsasink", "sink")
pipeline.add(src)
pipeline.add(sink)
src.link(sink)

bus = pipeline.get_bus()
bus.connect("sync-message", on_message)
bus.enable_sync_message_emission()
pipeline.set_state(gst.STATE_PLAYING)
time.sleep(5)


The backtrace indicates a problem when entering the Python interpreter:
does python-gst somehow forget to acquire the GIL?

(gdb) bt
#0  0x080fac3c in PyFrame_New ()
#1  0x080b71c6 in PyEval_EvalCodeEx ()
#2  0x080fc13d in PyFunction_SetClosure ()
#3  0x0805946c in PyObject_Call ()
#4  0x080b0583 in PyEval_CallObjectWithKeywords ()
#5  0x08059443 in PyObject_CallObject ()
#6  0xb793e1c3 in initgobject () from /usr/lib/python2.4/site-packages/gtk-2.0/gobject.so
#7  0xb7afc79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8  0xb7b0b2ea in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#9  0xb7b0cb19 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#10 0xb7b0ce89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0xb7b4cf06 in gst_bus_sync_signal_handler () from /usr/lib/libgstreamer-0.10.so.0
#12 0xb7b4d27c in gst_bus_post () from /usr/lib/libgstreamer-0.10.so.0
#13 0xb7b56460 in gst_element_post_message () from /usr/lib/libgstreamer-0.10.so.0
#14 0xb7b49a1d in gst_bin_iterate_sorted () from /usr/lib/libgstreamer-0.10.so.0
#15 0xb7b4971b in gst_bin_iterate_sorted () from /usr/lib/libgstreamer-0.10.so.0
#16 0xb7b4d053 in gst_bus_post () from /usr/lib/libgstreamer-0.10.so.0
#17 0xb7b56460 in gst_element_post_message () from /usr/lib/libgstreamer-0.10.so.0
#18 0xb7b56892 in gst_element_message_full () from /usr/lib/libgstreamer-0.10.so.0
#19 0xb73f3d66 in gst_base_audio_sink_get_type () from /usr/lib/libgstaudio-0.10.so.0
#20 0xb7bc1ea6 in gst_base_sink_is_qos_enabled () from /usr/lib/libgstbase-0.10.so.0
#21 0xb7bc25dc in gst_base_sink_is_qos_enabled () from /usr/lib/libgstbase-0.10.so.0
#22 0xb7bc29da in gst_base_sink_is_qos_enabled () from /usr/lib/libgstbase-0.10.so.0
#23 0xb7b6c804 in gst_pad_chain () from /usr/lib/libgstreamer-0.10.so.0
#24 0xb7b6cfa2 in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#25 0xb7bc7035 in gst_base_src_set_format () from /usr/lib/libgstbase-0.10.so.0
#26 0xb7b80d9f in gst_task_get_type () from /usr/lib/libgstreamer-0.10.so.0
#27 0xb7986448 in g_thread_pool_free () from /usr/lib/libglib-2.0.so.0
#28 0xb79845a2 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#29 0xb7f12341 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#30 0xb7e7e4ee in clone () from /lib/tls/i686/cmov/libc.so.6


python-gst version is 0.10.4 from Ubuntu Dapper.

Thanks

Antoine.






More information about the gstreamer-devel mailing list