Pipeline freeze at preroll on embedded system

Julian Scheel julian at jusst.de
Fri Jan 18 12:46:29 PST 2013


Hi,

I am running a buildroot (uclibc) based system on raspberry pi. I just
updated gstreamer from 0.10 to 1.0.5. This introduced a very odd
problem. Every pipeline freezes in preroll state. Actually even a
simple:
gst-launch-1.0 fakesrc ! fakesink
causes the pipeline to freeze in preroll.

I have attached a logfile with GST_DEBUG=*:5 messages as well as a
picture of the created pipeline, which looks fine.

If I attach gdb to the process and grab a bt it looks like this:
(gdb) thread apply all bt

Thread 2 (Thread 0xb6b754d0 (LWP 184)):
#0  0xb6cabbbc in pthread_cond_wait () from /lib/libpthread.so.0
#1  0xb6d861a4 in g_cond_wait () from /usr/lib/libglib-2.0.so.0
#2  0xb6b96210 in gst_base_sink_wait_preroll (sink=sink at entry=0x1fac050)
at gstbasesink.c:2050
#3  0xb6b96630 in gst_base_sink_do_preroll (sink=sink at entry=0x1fac050,
obj=obj at entry=0x1fb4048)
    at gstbasesink.c:2140
#4  0xb6b9788c in gst_base_sink_do_sync
(basesink=basesink at entry=0x1fac050, obj=obj at entry=0x0, late=0xb6bbb34c, 
    late at entry=0x1fb4048, step_end=0x0, step_end at entry=0xb6b74c90) at
gstbasesink.c:2341
#5  0xb6b99fa8 in gst_base_sink_chain_unlocked
(basesink=basesink at entry=0x1fac050, obj=obj at entry=0x1fb4048, 
    is_list=33186016, is_list at entry=0, pad=<error reading variable:
Unhandled dwarf expression opcode 0xfa>)
    at gstbasesink.c:3189
#6  0xb6b9bad4 in gst_base_sink_chain_main (basesink=0x1fac050,
pad=<optimized out>, obj=0x1fb4048, is_list=0)
    at gstbasesink.c:3323
#7  0xb6ec3e58 in gst_pad_chain_data_unchecked (data=0x1fb4048,
type=<optimized out>, pad=0x1faa170)
    at gstpad.c:3654
#8  gst_pad_push_data (pad=0x1faa028, pad at entry=0x0,
type=type at entry=4112, data=<optimized out>, data at entry=0x0)
    at gstpad.c:3871
#9  0xb6ecb904 in gst_pad_push (pad=0x0, pad at entry=0x1faa028,
buffer=0x0) at gstpad.c:3974
#10 0xb6ba1250 in gst_base_src_loop (pad=0x1faa028) at gstbasesrc.c:2710
#11 0xb6ef70c0 in gst_task_func (task=task at entry=0x1fb0000) at
gsttask.c:316
#12 0xb6ef8250 in default_func (tdata=<optimized out>, pool=<optimized
out>) at gsttaskpool.c:70
#13 0xb6d6b488 in ?? () from /usr/lib/libglib-2.0.so.0
#14 0xb6d6b488 in ?? () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt
stack?)

Thread 1 (Thread 0xb6f58000 (LWP 183)):
#0  0xb6c88190 in read () from /lib/libc.so.0
#1  0xb6c88184 in read () from /lib/libc.so.0
#2  0xb6d85fa4 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#3  0xb6d46b0c in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#4  0xb6d46f5c in ?? () from /usr/lib/libglib-2.0.so.0
Cannot access memory at address 0x0
#5  0xb6d46f5c in ?? () from /usr/lib/libglib-2.0.so.0
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt
stack?)

The same pipeline works perfectly fine with
gst-launch-0.10 fakesrc ! fakesink.

I did not change any build options between the gstreamer-0.10 and
gstreamer-1.0 build, nor did I change the toolchain or any toolchain
parameters.

Right now I am pretty clueless what's wrong. Any thoughs on what to
check would be more than welcome!

Regards,
Julian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gst.log.gz
Type: application/x-gzip
Size: 46543 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130118/028adec0/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0.00.02.339370209-gst-launch.PAUSED_READY.dot.svg
Type: image/svg+xml
Size: 3759 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130118/028adec0/attachment-0001.svg>


More information about the gstreamer-devel mailing list