random segfault in extended playout example

otopolsky topolsky at maindata.sk
Fri Oct 23 08:31:26 PDT 2015


Ok I added locking and it didnt helped.. the playout just crashed with
SIGABORT

>~"#0  0x00007ffff68cfcc9 in __GI_raise (sig=sig at entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56\n"
>~"#1  0x00007ffff68d30d8 in __GI_abort () at abort.c:89\n"
>~"#2  0x00007ffff690c394 in __libc_message (do_abort=do_abort at entry=1,
fmt=fmt at entry=0x7ffff6a1ab28 \"*** Error in `%s': %s: 0x%s ***\\n\") at
../sysdeps/posix/libc_fatal.c:175\n"
>~"#3  0x00007ffff69170f7 in malloc_printerr (action=<optimized out>,
str=0x7ffff6a1aef0 \"malloc(): smallbin double linked list corrupted\",
ptr=<optimized out>) at malloc.c:4996\n"
>~"#4  0x00007ffff6919e04 in _int_malloc (av=0x7fff84000020, bytes=48) at
malloc.c:3359\n"
>~"#5  0x00007ffff691b7b0 in __GI___libc_malloc (bytes=48) at
malloc.c:2891\n"
>~"#6  0x00007ffff6ce87da in ?? () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0\n"
>~"#7  0x00007ffff6ce8ba9 in g_cond_init () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0\n"
>~"#8  0x00007ffff0ae3da6 in gst_queue_init (queue=0x7fff588649c0) at
gstqueue.c:462\n"
>~"#9  0x00007ffff6f96e3b in g_type_create_instance () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#10 0x00007ffff6f7b355 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#11 0x00007ffff6f7d10d in g_object_newv () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#12 0x00007ffff7b17f5a in gst_element_factory_create
(factory=factory at entry=0x6385f0, name=name at entry=0x0) at
gstelementfactory.c:376\n"
>~"#13 0x00007ffff7b180d1 in gst_element_factory_make (factoryname=0x408220
\"queue\", name=0x0) at gstelementfactory.c:446\n"
>~"#14 0x00000000004059b9 in playout_item_new_pad
(uridecodebin=0x7fffc0007380, pad=0x7fff58861170, item=0x888ee0) at
playout.c:1063\n"
>~"#15 0x00007ffff6f79487 in g_cclosure_marshal_VOID__OBJECTv () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#16 0x00007ffff6f765e7 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#17 0x00007ffff6f8f088 in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#18 0x00007ffff6f8fce2 in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#19 0x00007ffff7b13f3d in gst_element_add_pad (element=0x7fffc0007380,
pad=0x7fff58861170) at gstelement.c:694\n"
>~"#20 0x00007ffff6f79487 in g_cclosure_marshal_VOID__OBJECTv () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#21 0x00007ffff6f765e7 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#22 0x00007ffff6f8f088 in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#23 0x00007ffff6f8fce2 in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0\n"
>~"#24 0x00007ffff7b13f3d in gst_element_add_pad
(element=element at entry=0x83a9f0, pad=pad at entry=0x7fffb0067a10) at
gstelement.c:694\n"
>~"#25 0x00007fffef39e3e8 in gst_decode_bin_expose
(dbin=dbin at entry=0x83a9f0) at gstdecodebin2.c:4617\n"
>~"#26 0x00007fffef39f348 in source_pad_blocked_cb
(pad=pad at entry=0x7fffac244040, info=info at entry=0x7fff50dbc000,
user_data=<optimized out>) at gstdecodebin2.c:4813\n"
>~"#27 0x00007ffff7b29527 in probe_hook_marshal (hook=0x7fffb8015cf0,
data=0x7fff50dbbf50) at gstpad.c:3353\n"
>~"#28 0x00007ffff6c980b4 in g_hook_list_marshal () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0\n"
>~"#29 0x00007ffff7aea51c in do_probe_callbacks
(pad=pad at entry=0x7fffac244040, info=info at entry=0x7fff50dbc000,
defaultval=defaultval at entry=GST_FLOW_OK) at gstpad.c:3505\n"
>~"#30 0x00007ffff7b2ab48 in gst_pad_push_event_unchecked
(pad=pad at entry=0x7fffac244040, event=<optimized out>,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5090\n"
>~"#31 0x00007ffff7b2adb8 in push_sticky (pad=0x7fffac244040,
ev=0x7fff50dbc0f0, user_data=0x7fff50dbc150) at gstpad.c:3690\n"
>~"#32 0x00007ffff7b28d92 in events_foreach (pad=pad at entry=0x7fffac244040,
func=func at entry=0x7ffff7b2ac60 <push_sticky>,
user_data=user_data at entry=0x7fff50dbc150) at gstpad.c:597\n"
>~"#33 0x00007ffff7b33d38 in check_sticky (event=0x7fff78002a70,
pad=0x7fffac244040) at gstpad.c:3746\n"
>~"#34 gst_pad_push_event (pad=pad at entry=0x7fffac244040,
event=0x7fff78002a70) at gstpad.c:5252\n"
>~"#35 0x00007ffff740e773 in gst_pad_set_caps (caps=0x7fff8c002b20,
pad=0x7fffac244040) at
/home/topolsky/gst/1.6/gstreamer/gst/gstcompat.h:58\n"
>~"#36 gst_video_decoder_negotiate_default (decoder=0x7fff84466d40) at
gstvideodecoder.c:3812\n"
>~"#37 0x00007ffff7413c71 in gst_video_decoder_negotiate
(decoder=0x7fff84466d40) at gstvideodecoder.c:3863\n"
>~"#38 0x00007fffb5bc5299 in gst_ffmpegviddec_negotiate (picture=<optimized
out>, context=<optimized out>, ffmpegdec=0x7fff84466d40) at
gstavviddec.c:1121\n"
>~"#39 gst_ffmpegviddec_video_frame (ret=0x7fff50dbc43c,
frame=0x7fffd7ba7610, have_data=0x7fff50dbc438, size=<optimized out>,
data=<optimized out>, ffmpegdec=0x7fff84466d40) at gstavviddec.c:1398\n"
>~"#40 gst_ffmpegviddec_frame (ffmpegdec=ffmpegdec at entry=0x7fff84466d40,
data=data at entry=0x7fff85f3c000 \"\", size=size at entry=3983,
have_data=have_data at entry=0x7fff50dbc438, frame=frame at entry=0x7fffd7ba7610,
ret=ret at entry=0x7fff50dbc43c) at gstavviddec.c:1533\n"
>~"#41 0x00007fffb5bc5f50 in gst_ffmpegviddec_handle_frame
(decoder=0x7fff84466d40, frame=0x7fffd7ba7610) at gstavviddec.c:1644\n"
>~"#42 0x00007ffff740a729 in gst_video_decoder_decode_frame
(decoder=decoder at entry=0x7fff84466d40, frame=0x7fffd7ba7610) at
gstvideodecoder.c:3405\n"
>~"#43 0x00007ffff740ab23 in gst_video_decoder_chain_forward
(decoder=decoder at entry=0x7fff84466d40, buf=buf at entry=0x7fff84052330,
at_eos=at_eos at entry=0) at gstvideodecoder.c:2190\n"
>~"#44 0x00007ffff740cf1b in gst_video_decoder_chain
(pad=pad at entry=0x7fff78005b40, parent=parent at entry=0x7fff84466d40,
buf=buf at entry=0x7fff84052330) at gstvideodecoder.c:2492\n"
>~"#45 0x00007ffff7b2b815 in gst_pad_chain_data_unchecked
(data=0x7fff84052330, type=<optimized out>, pad=0x7fff78005b40) at
gstpad.c:4085\n"
>~"#46 gst_pad_push_data (pad=0x7fff84c4d020, type=type at entry=4112,
data=<optimized out>) at gstpad.c:4337\n"
>~"#47 0x00007ffff7b33036 in gst_pad_push (pad=<optimized out>,
buffer=<optimized out>) at gstpad.c:4453\n"
>~"#48 0x00007ffff78950f8 in gst_base_transform_chain
(pad=pad at entry=0x885230, parent=parent at entry=0x7fffac242b50,
buffer=buffer at entry=0x7fff84052330) at gstbasetransform.c:2369\n"
>~"#49 0x00007ffff7b2b815 in gst_pad_chain_data_unchecked
(data=0x7fff84052330, type=<optimized out>, pad=0x885230) at
gstpad.c:4085\n"
>~"#50 gst_pad_push_data (pad=0x7fff800098f0, type=type at entry=4112,
data=<optimized out>, data at entry=0x7fff84052330) at gstpad.c:4337\n"
>~"#51 0x00007ffff7b33036 in gst_pad_push (pad=<optimized out>,
buffer=buffer at entry=0x7fff84052330) at gstpad.c:4453\n"
>~"#52 0x00007ffff787a369 in gst_base_parse_push_frame
(parse=parse at entry=0x7fff840c58b0, frame=frame at entry=0x7fff50dbcac0) at
gstbaseparse.c:2401\n"
>~"#53 0x00007ffff787b35b in gst_base_parse_chain
(pad=pad at entry=0x7fffa4046280, parent=parent at entry=0x7fff840c58b0,
buffer=buffer at entry=0x7fff84052330) at gstbaseparse.c:3011\n"
>~"#54 0x00007ffff7b2b815 in gst_pad_chain_data_unchecked
(data=0x7fff84052330, type=<optimized out>, pad=0x7fffa4046280) at
gstpad.c:4085\n"
>~"#55 gst_pad_push_data (pad=0x7fffbc05eb90, type=type at entry=4112,
data=<optimized out>, data at entry=0x7fff84052330) at gstpad.c:4337\n"
>~"#56 0x00007ffff7b33036 in gst_pad_push (pad=<optimized out>,
buffer=buffer at entry=0x7fff84052330) at gstpad.c:4453\n"
>~"#57 0x00007ffff0ae2d73 in gst_single_queue_push_one
(allow_drop=<synthetic pointer>, object=0x7fff84052330, sq=0x7fff852e7230,
mq=0x8f8af0) at gstmultiqueue.c:1237\n"
>~"#58 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1515\n"
>~"#59 0x00007ffff7b5b451 in gst_task_func (task=0x7fff588685f0) at
gsttask.c:331\n"
>~"#60 0x00007ffff6ccc88c in ?? () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0\n"
>~"#61 0x00007ffff6ccbf05 in ?? () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0\n"
>~"#62 0x00007ffff5d6d182 in start_thread (arg=0x7fff50dbd700) at
pthread_create.c:312\n"
>~"#63 0x00007ffff699347d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111\n"

  g_mutex_lock(&mixer_ref_lock);
  mixer = gst_pad_get_parent_element (sinkpad);
  gst_element_release_request_pad (mixer, sinkpad);
  GST_DEBUG ("Releasing some pad %p of element", srcpad);
  gst_object_unref (sinkpad);
  gst_object_unref (mixer);
  g_mutex_unlock(&mixer_ref_lock);





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/random-segfault-in-extended-playout-example-tp4674225p4674239.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list