After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 137711 - [oggdemux] jump or move depends on uninitialised value
[oggdemux] jump or move depends on uninitialised value
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: 0.8.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-03-19 17:35 UTC by Tim-Philipp Müller
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch to fix the first block of errors (915 bytes, patch)
2004-03-19 17:36 UTC, Tim-Philipp Müller
committed Details | Review

Description Tim-Philipp Müller 2004-03-19 17:35:41 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
Comment 1 Tim-Philipp Müller 2004-03-19 17:36:47 UTC
Created attachment 25812 [details] [review]
proposed patch to fix the first block of errors
Comment 2 Tim-Philipp Müller 2004-03-19 18:03:01 UTC
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 
 
Comment 3 Benjamin Otte (Company) 2004-03-20 01:27:28 UTC
That patch is obviously correct.
I have applied it, but I'll leave this bug open, because it looks like
there are other issues.
Comment 4 Ronald Bultje 2004-05-17 00:02:56 UTC
I'll close this because there's nothing specific... If we find other bugs,
please reopen or create a new one.