<div dir="ltr">The backtrace in the previous mail was obtained by running the example with the arch linux binaries.<br>Now, I'm running the example with a gst-uninstalled setup and the program blows up also on videomixer but in another place.<br>
<br><br><br> I've forgotten to attach the example on the previous mail. I'am attaching it now.<br><br>Here's the backtrace:<br><br>#0 0x0000000000000000 in ?? ()<br>#1 0x00007f1214bb4c60 in gst_videomixer2_blend_buffers (mix=mix@entry=0x13ea0f0, output_start_time=output_start_time@entry=224680000000, output_end_time=output_end_time@entry=224720000000, <br>
outbuf=outbuf@entry=0x7f1212dea938) at videomixer2.c:1039<br>#2 0x00007f1214bb5c40 in gst_videomixer2_collected (pads=<optimized out>, mix=0x13ea0f0) at videomixer2.c:1276<br>#3 0x00007f12156ec507 in gst_collect_pads_check_collected (pads=pads@entry=0x13ec160) at gstcollectpads.c:1301<br>
#4 0x00007f12156ed998 in gst_collect_pads_chain (pad=0x14020e0, parent=<optimized out>, buffer=0x1404c80) at gstcollectpads.c:2023<br>#5 0x00007f121744bb98 in gst_pad_chain_data_unchecked (data=0x1404c80, type=4112, pad=0x14020e0) at gstpad.c:3711<br>
#6 gst_pad_push_data (pad=0x13da900, type=type@entry=4112, data=<optimized out>) at gstpad.c:3941<br>#7 0x00007f12174526e6 in gst_pad_push (pad=<optimized out>, buffer=<optimized out>) at gstpad.c:4044<br>
#8 0x00007f12156e5e29 in gst_base_transform_chain (pad=<optimized out>, parent=0x13e5b30, buffer=<optimized out>) at gstbasetransform.c:2237<br>#9 0x00007f121744bb98 in gst_pad_chain_data_unchecked (data=0x1404c80, type=4112, pad=0x13da6d0) at gstpad.c:3711<br>
#10 gst_pad_push_data (pad=0x13da4a0, type=type@entry=4112, data=<optimized out>) at gstpad.c:3941<br>#11 0x00007f12174526e6 in gst_pad_push (pad=<optimized out>, buffer=<optimized out>) at gstpad.c:4044<br>
#12 0x00007f12156e5e29 in gst_base_transform_chain (pad=<optimized out>, parent=0x13de150, buffer=<optimized out>) at gstbasetransform.c:2237<br>#13 0x00007f121744bb98 in gst_pad_chain_data_unchecked (data=0x1404c80, type=4112, pad=0x13da270) at gstpad.c:3711<br>
#14 gst_pad_push_data (pad=pad@entry=0x13da040, type=type@entry=4112, data=<optimized out>) at gstpad.c:3941<br>#15 0x00007f12174526e6 in gst_pad_push (pad=pad@entry=0x13da040, buffer=<optimized out>) at gstpad.c:4044<br>
#16 0x00007f12156de285 in gst_base_src_loop (pad=0x13da040) at gstbasesrc.c:2779<br>#17 0x00007f12174790f9 in gst_task_func (task=0x1412050) at gsttask.c:316<br>#18 0x00007f12167fc976 in ?? () from /usr/lib/libglib-2.0.so.0<br>
#19 0x00007f12167fbfb5 in ?? () from /usr/lib/libglib-2.0.so.0<br>#20 0x00007f121657a0a2 in start_thread () from /usr/lib/libpthread.so.0<br>#21 0x00007f12162ad32d in clone () from /usr/lib/libc.so.6<br><br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014/1/23 Lautaro Woites <span dir="ltr"><<a href="mailto:lauchapc87@gmail.com" target="_blank">lauchapc87@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">2014/1/23 Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On Mi, 2014-01-22 at 17:51 -0200, Lautaro Woites wrote:<br>
> Hi again folks,<br>
><br>
> I have this pipe: videotestsrc ! capsfilter ! videomixer ! xvimagesink.<br>
> Then on PLAYING STATE I do:<br>
><br>
> while (TRUE){<br>
> sleep(2);<br>
> add_mixer_input(); //adds an input on the videomixer<br>
> sleep(2);<br>
> remove_mixer_input(); //removes the previously added input to the mixer.<br>
> }<br>
><br>
> The inputs are bins with videotestsrc and a capsfilter. The example runs<br>
> for a time (sometimes 5 minutes, sometimes 30 min, others 10 seconds) and<br>
> then produces a segmentation fault on the videomixer (at<br>
> gst_collect_pads_check_collected:1031).<br>
><br>
> This is what I do to remove the input:<br>
> a) I block the videotestsrc's src pad.<br>
> b) I send an EOS event to the capsfilter's sink pad and I wait for the<br>
> event on the bin's src pad ( with an event probe).<br>
> c) On the event probe's callback I drop the EOS and I unlink the bin<br>
> with the mixer.<br>
> d) I set the bin to STATE_NULL and I remove it from the pipe.<br>
> e) I call release_request_pad on the mixer.<br>
> f) I remove the block pad on the videotestsrc.<br>
> Also I've tried: to send EOS to the videtestsrc - set the bin to STATE_NULL<br>
> and remove it - and finally call release_request_pad on the mixer.<br>
> The program crashed in the same line .<br>
><br>
> NOTE: If I remove the call to gst_release_request_pad the program seems<br>
> to work OK. But the mixer's will still having unused sink pads :(.<br>
<br>
</div></div>The sequence of actions sounds correct<br>
<div><br>
> I have some question about this:<br>
> 1) I don't know if I am missing something or if there is a bug.<br>
> 2) If I'm doing something wrong, What's the correct/safest protocol to<br>
> remove an input from the mixer?.<br>
> 3) is it related with this ticket:<br>
> <a href="https://bugzilla.gnome.org/show_bug.cgi?id=701110" target="_blank">https://bugzilla.gnome.org/show_bug.cgi?id=701110</a> ?<br>
<br>
</div>It might indeed be this bug, but then it wouldn't happen always. Could<br>
you attach a testcase to that bug that reproduces the crash? What you're<br>
doing is supposed to work and definitely should not crash.<br>
<span><font color="#888888"><br></font></span></blockquote><div><br></div></div></div><div>OK I've attached an example to the ticket.<br><br></div><div>Hope it helps. If you need more info just tell me. <br></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><span><font color="#888888">
--<br>
Sebastian Dröge, Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
Expertise, Straight from the Source<br>
</font></span><br></div>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br></div>