GNOME Bugzilla – Bug 137711
[oggdemux] jump or move depends on uninitialised value
Last modified: 2004-12-22 21:47:04 UTC
This is with 0.8.0.1 with a pipeline like this using gst-launch filesrc location="foo.ogg" ! typefind ! spider ! audio/x-raw-int ! fakesink Reproducable with any ogg file as far as I can see. Here is the relevant valgrind output: Conditional jump or move depends on uninitialised value(s) at 0x3C0646D9: gst_event_new_discontinuous_valist (gstevent.c:241) by 0x3C06472C: gst_event_new_discontinuous (gstevent.c:270) by 0x3CCF6BDB: gst_ogg_pad_push (gstoggdemux.c:806) by 0x3CCF611B: gst_ogg_demux_push (gstoggdemux.c:734) by 0x3CCF53BA: gst_ogg_demux_chain (gstoggdemux.c:607) by 0x3C0728A7: gst_pad_push (gstpad.c:3034) by 0x3C8D77B0: gst_spider_identity_chain (gstspideridentity.c:214) by 0x3C8D855E: gst_spider_identity_dumb_loop (gstspideridentity.c:437) by 0x3C8E0AAA: loop_group_schedule_function (gstoptimalscheduler.c:1164) by 0x3C8E04A1: schedule_group (gstoptimalscheduler.c:1007) Conditional jump or move depends on uninitialised value(s) at 0x3D249FD3: vorbis_synthesis_headerin (in /usr/lib/libvorbis.so.0.3.0) by 0x3CD04E73: vorbis_dec_chain (vorbisdec.c:353) by 0x3C0728A7: gst_pad_push (gstpad.c:3034) by 0x3CCF6B3B: gst_ogg_pad_push (gstoggdemux.c:823) by 0x3CCF611B: gst_ogg_demux_push (gstoggdemux.c:734) by 0x3CCF53BA: gst_ogg_demux_chain (gstoggdemux.c:607) by 0x3C0728A7: gst_pad_push (gstpad.c:3034) by 0x3C8D77B0: gst_spider_identity_chain (gstspideridentity.c:214) by 0x3C8D855E: gst_spider_identity_dumb_loop (gstspideridentity.c:437) by 0x3C8E0AAA: loop_group_schedule_function (gstoptimalscheduler.c:1164) Conditional jump or move depends on uninitialised value(s) at 0x3D243C29: vorbis_synthesis_blockin (in /usr/lib/libvorbis.so.0.3.0) by 0x3CD0540B: vorbis_dec_chain (vorbisdec.c:404) by 0x3C0728A7: gst_pad_push (gstpad.c:3034) by 0x3CCF6B3B: gst_ogg_pad_push (gstoggdemux.c:823) by 0x3CCF611B: gst_ogg_demux_push (gstoggdemux.c:734) by 0x3CCF53BA: gst_ogg_demux_chain (gstoggdemux.c:607) by 0x3C0728A7: gst_pad_push (gstpad.c:3034) by 0x3C8D77B0: gst_spider_identity_chain (gstspideridentity.c:214) by 0x3C8D855E: gst_spider_identity_dumb_loop (gstspideridentity.c:437) by 0x3C8E0AAA: loop_group_schedule_function (gstoptimalscheduler.c:1164) The first block is due to gst_event_new_discontinuous() being called without vararg terminator. Patch attached. Haven't looked too hard into the other two errors yet (after the re-indentation Baudrillard suddenly seems an attractive thing to read when the choice is between that and gst code ;)). Cheers -Tim
Created attachment 25812 [details] [review] proposed patch to fix the first block of errors
There is more (at the very end), but I'm not sure if this is an oggdemux or opt scheduler issue (as I get loads of valgrind warnings no matter which scheduler I use) Valgrind output with opt: Caught interrupt. Execution ended after 2805 iterations (sum 61452852000 ns, average 21908325 ns, min 2042000 ns, max 18799329000 ns). Invalid read of size 4 at 0x3C8E34B6: gst_opt_scheduler_pad_unlink (gstoptimalscheduler.c:2165) by 0x3C07BF7B: gst_scheduler_pad_unlink (gstscheduler.c:186) by 0x3C06B771: gst_pad_unlink (gstpad.c:965) by 0x3C05B159: gst_element_remove_pad (gstelement.c:1149) by 0x3CCF5EFC: gst_ogg_pad_remove (gstoggdemux.c:654) by 0x3CCF6F10: gst_ogg_chains_clear (gstoggdemux.c:853) by 0x3CCF7082: gst_ogg_demux_change_state (gstoggdemux.c:880) by 0x3C05F948: gst_element_set_state (gstelement.c:2677) by 0x3C0519E9: gst_bin_change_state (gstbin.c:739) by 0x3C05F948: gst_element_set_state (gstelement.c:2677) Address 0x3C753898 is 16 bytes inside a block of size 48 free'd at 0x3C01F918: free (vg_replace_malloc.c:127) by 0x3C30D2A1: g_free (gmem.c:186) by 0x3C8DF5A3: destroy_group (gstoptimalscheduler.c:757) by 0x3C8DF409: unref_group (gstoptimalscheduler.c:716) by 0x3C8E3673: gst_opt_scheduler_pad_unlink (gstoptimalscheduler.c:2197) by 0x3C07BF7B: gst_scheduler_pad_unlink (gstscheduler.c:186) by 0x3C06B771: gst_pad_unlink (gstpad.c:965) by 0x3C05B159: gst_element_remove_pad (gstelement.c:1149) by 0x3CCF5EFC: gst_ogg_pad_remove (gstoggdemux.c:654) by 0x3CCF6F10: gst_ogg_chains_clear (gstoggdemux.c:853) Cheers -Tim
That patch is obviously correct. I have applied it, but I'll leave this bug open, because it looks like there are other issues.
I'll close this because there's nothing specific... If we find other bugs, please reopen or create a new one.