GNOME Bugzilla – Bug 671756
dtsdec: crashes and gst_audio_decoder_push_buffers: assertion failed: (offset <= av)
Last modified: 2012-03-10 10:46:53 UTC
Don't know if it's the fault or the base class or dtsdec, but using the wav file from bug #670286 I get either crashes or aborts when decoding that file: tpm@zingle:~/gst/glib-0.10/gst-plugins-base/gst-libs/gst/riff$ G_SLICE=alwayas-malloc valgrind ../../../../gstreamer/tools/.libs/gst-launch-0.10 filesrc location= /home/tpm/samples/670286-tags-Ludwig\ van\ Beethoven\ -\ Beethoven-\ Symphony\ No.\ 9\ -\ Symphony\ No.\ 9\ in\ D\ minor\ \(\'Choral\'\)\,\ Op.\ 125-\ II.\ Molto\ vivace\ -\ Presto.wav ! wavparse ! dtsdec ! fakesink ==21092== Memcheck, a memory error detector ==21092== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. ==21092== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==21092== Command: ../../../../gstreamer/tools/.libs/gst-launch-0.10 filesrc location= /home/tpm/samples/670286-tags-Ludwig\ van\ Beethoven\ -\ Beethoven-\ Symphony\ No.\ 9\ -\ Symphony\ No.\ 9\ in\ D\ minor\ ('Choral'),\ Op.\ 125-\ II.\ Molto\ vivace\ -\ Presto.wav ! wavparse ! dtsdec ! fakesink ==21092== GStreamer has detected that it is running inside valgrind. It might now take different code paths to ease debugging. Of course, this may also lead to different bugs. Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Didn't get subframe DSYNC Didn't get subframe DSYNC ==21092== Thread 2: ==21092== Invalid read of size 1 ==21092== at 0xA5969CB: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x88100c0 is 0 bytes after a block of size 7,056 alloc'd ==21092== at 0x4C25F42: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4C25F9B: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E606E9: gst_buffer_try_new_and_alloc (gstbuffer.c:161) ==21092== by 0x9247AFF: gst_file_src_create (gstfilesrc.c:815) ==21092== by 0x94A2AB7: gst_base_src_get_range (gstbasesrc.c:2188) ==21092== by 0x94A3B70: gst_base_src_pad_get_range (gstbasesrc.c:2326) ==21092== by 0x4E8925D: gst_pad_get_range_unchecked (gstpad.c:4962) ==21092== by 0x4E8EE1E: gst_pad_pull_range (gstpad.c:5126) ==21092== by 0x96D33B9: gst_wavparse_stream_data (gstwavparse.c:1903) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A78: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x88100fa is 6 bytes before a block of size 24,576 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9492F8C: gst_base_sink_set_last_buffer_unlocked (gstbuffer.h:367) ==21092== by 0x9494DD2: gst_base_sink_set_last_buffer (gstbasesink.c:1039) ==21092== by 0x949B619: gst_base_sink_render_object.isra.8 (gstbasesink.c:3012) ==21092== by 0x949DD9E: gst_base_sink_queue_object_unlocked.isra.9 (gstbasesink.c:3295) ==21092== by 0x949E0F6: gst_base_sink_chain_unlocked.isra.10 (gstbasesink.c:3677) ==21092== by 0x949E507: gst_base_sink_chain_main (gstbasesink.c:3715) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x9AFAF6B: gst_audio_decoder_push_forward (gstaudiodecoder.c:638) ==21092== by 0x9AFB142: gst_audio_decoder_output (gstaudiodecoder.c:713) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A18: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x881010b is 11 bytes inside a block of size 24,576 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9492F8C: gst_base_sink_set_last_buffer_unlocked (gstbuffer.h:367) ==21092== by 0x9494DD2: gst_base_sink_set_last_buffer (gstbasesink.c:1039) ==21092== by 0x949B619: gst_base_sink_render_object.isra.8 (gstbasesink.c:3012) ==21092== by 0x949DD9E: gst_base_sink_queue_object_unlocked.isra.9 (gstbasesink.c:3295) ==21092== by 0x949E0F6: gst_base_sink_chain_unlocked.isra.10 (gstbasesink.c:3677) ==21092== by 0x949E507: gst_base_sink_chain_main (gstbasesink.c:3715) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x9AFAF6B: gst_audio_decoder_push_forward (gstaudiodecoder.c:638) ==21092== by 0x9AFB142: gst_audio_decoder_output (gstaudiodecoder.c:713) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A54: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x8810199 is 153 bytes inside a block of size 24,576 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9492F8C: gst_base_sink_set_last_buffer_unlocked (gstbuffer.h:367) ==21092== by 0x9494DD2: gst_base_sink_set_last_buffer (gstbasesink.c:1039) ==21092== by 0x949B619: gst_base_sink_render_object.isra.8 (gstbasesink.c:3012) ==21092== by 0x949DD9E: gst_base_sink_queue_object_unlocked.isra.9 (gstbasesink.c:3295) ==21092== by 0x949E0F6: gst_base_sink_chain_unlocked.isra.10 (gstbasesink.c:3677) ==21092== by 0x949E507: gst_base_sink_chain_main (gstbasesink.c:3715) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x9AFAF6B: gst_audio_decoder_push_forward (gstaudiodecoder.c:638) ==21092== by 0x9AFB142: gst_audio_decoder_output (gstaudiodecoder.c:713) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA5969E7: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x881049e is 926 bytes inside a block of size 24,576 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9492F8C: gst_base_sink_set_last_buffer_unlocked (gstbuffer.h:367) ==21092== by 0x9494DD2: gst_base_sink_set_last_buffer (gstbasesink.c:1039) ==21092== by 0x949B619: gst_base_sink_render_object.isra.8 (gstbasesink.c:3012) ==21092== by 0x949DD9E: gst_base_sink_queue_object_unlocked.isra.9 (gstbasesink.c:3295) ==21092== by 0x949E0F6: gst_base_sink_chain_unlocked.isra.10 (gstbasesink.c:3677) ==21092== by 0x949E507: gst_base_sink_chain_main (gstbasesink.c:3715) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x9AFAF6B: gst_audio_decoder_push_forward (gstaudiodecoder.c:638) ==21092== by 0x9AFB142: gst_audio_decoder_output (gstaudiodecoder.c:713) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A5A: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x881471b is 17,947 bytes inside a block of size 24,576 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9492F8C: gst_base_sink_set_last_buffer_unlocked (gstbuffer.h:367) ==21092== by 0x9494DD2: gst_base_sink_set_last_buffer (gstbasesink.c:1039) ==21092== by 0x949B619: gst_base_sink_render_object.isra.8 (gstbasesink.c:3012) ==21092== by 0x949DD9E: gst_base_sink_queue_object_unlocked.isra.9 (gstbasesink.c:3295) ==21092== by 0x949E0F6: gst_base_sink_chain_unlocked.isra.10 (gstbasesink.c:3677) ==21092== by 0x949E507: gst_base_sink_chain_main (gstbasesink.c:3715) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x9AFAF6B: gst_audio_decoder_push_forward (gstaudiodecoder.c:638) ==21092== by 0x9AFB142: gst_audio_decoder_output (gstaudiodecoder.c:713) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596B00: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x881da6a is 6,378 bytes inside a block of size 24,576 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9492F8C: gst_base_sink_set_last_buffer_unlocked (gstbuffer.h:367) ==21092== by 0x9494DD2: gst_base_sink_set_last_buffer (gstbasesink.c:1039) ==21092== by 0x949B619: gst_base_sink_render_object.isra.8 (gstbasesink.c:3012) ==21092== by 0x949DD9E: gst_base_sink_queue_object_unlocked.isra.9 (gstbasesink.c:3295) ==21092== by 0x949E0F6: gst_base_sink_chain_unlocked.isra.10 (gstbasesink.c:3677) ==21092== by 0x949E507: gst_base_sink_chain_main (gstbasesink.c:3715) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x9AFAF6B: gst_audio_decoder_push_forward (gstaudiodecoder.c:638) ==21092== by 0x9AFB142: gst_audio_decoder_output (gstaudiodecoder.c:713) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A82: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x8828202 is 2 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A8C: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x8828203 is 3 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596A96: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x8828204 is 4 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 1 ==21092== at 0xA596AAE: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== by 0x5E9FB4F: start_thread (pthread_create.c:304) ==21092== Address 0x8828205 is 5 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 4 ==21092== at 0xA5931D7: dca_bitstream_get_bh (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA596ACC: dca_syncinfo (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== Address 0x8828200 is 0 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 4 ==21092== at 0xA5931D7: dca_bitstream_get_bh (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA5936C1: ??? (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== Address 0x8828204 is 4 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 4 ==21092== at 0xA5931D7: dca_bitstream_get_bh (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA59379C: ??? (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== Address 0x8828208 is 8 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ==21092== Invalid read of size 4 ==21092== at 0xA5931D7: dca_bitstream_get_bh (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA5937EE: ??? (in /usr/lib/libdca.so.0.0.0) ==21092== by 0xA39040A: gst_dtsdec_parse (gstdtsdec.c:297) ==21092== by 0x9AFBBA8: gst_audio_decoder_push_buffers (gstaudiodecoder.c:989) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== by 0x57D8367: g_thread_pool_thread_proxy (gthreadpool.c:309) ==21092== by 0x57D7B04: g_thread_proxy (gthread.c:801) ==21092== Address 0x882820c is 12 bytes inside a block of size 12,288 free'd ==21092== at 0x4C269B4: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==21092== by 0x4E60139: gst_buffer_finalize (gstbuffer.c:207) ==21092== by 0x4E84110: gst_mini_object_unref (gstminiobject.c:376) ==21092== by 0x9B00047: gst_audio_decoder_finish_frame (gstbuffer.h:367) ==21092== by 0xA38FE45: gst_dtsdec_handle_frame (gstdtsdec.c:649) ==21092== by 0x9AFBCEF: gst_audio_decoder_push_buffers (gstaudiodecoder.c:1040) ==21092== by 0x9AFC12F: gst_audio_decoder_chain_forward (gstaudiodecoder.c:1142) ==21092== by 0x9AFE7E7: gst_audio_decoder_chain (gstaudiodecoder.c:1390) ==21092== by 0x4E8E599: gst_pad_push (gstpad.c:4710) ==21092== by 0x96D3778: gst_wavparse_stream_data (gstwavparse.c:2001) ==21092== by 0x96D7BDC: gst_wavparse_loop (gstwavparse.c:2075) ==21092== by 0x4EB4D2B: gst_task_func (gsttask.c:328) ==21092== ** ERROR:gstaudiodecoder.c:991:gst_audio_decoder_push_buffers: assertion failed: (offset <= av)
Looks like a small mishap in the subclass: commit a7eda9ed4942e24f0a3971c3591af54cc4cd9a5b Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Sat Mar 10 11:36:25 2012 +0100 dtsdec: avoid runaway loop when resyncing during parse ... by checking for the correct (decremented) size variable. Fixes #671756.