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 430522 - audioresample seems to be causing segfaults
audioresample seems to be causing segfaults
Status: RESOLVED DUPLICATE of bug 420106
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.12
Other All
: Normal critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-04-17 02:43 UTC by Scott Zuk
Modified: 2007-04-21 14:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
valgrind leak check output (234.42 KB, text/plain)
2007-04-17 02:44 UTC, Scott Zuk
Details
test pipeline program (6.70 KB, text/plain)
2007-04-17 02:49 UTC, Scott Zuk
Details

Description Scott Zuk 2007-04-17 02:43:00 UTC
Steps to reproduce:
I have a pipeline that uses an alsasrc to read audio from the mic and pass it through an audioconvert and audioresample element and then into an adder.  I have a second bin that consists of filesrc, decodebin, audioconvert and audioresample elements and that feeds into another sink of the adder.  The adder src outputs to an alsasink.  I use this pipline to be able to play an audio file at any time and have it mixed with the microphone data.  I will attach a test program that repeatedly plays a file while mixing it with the mic.  When I use any audio file (wav or vorbis tested), the program will eventually cause a segfault that seems to always be related to audioresample_buffer_queue_pull in audioresample.  

Stack trace:
(gdb) thread apply all bt

Thread 7 (process 8535)

  • #0 __lll_mutex_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_mutex_lock_88
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/libc.so.6
  • #4 g_static_rec_mutex_lock
    from /usr/lib/libglib-2.0.so.0
  • #5 post_activate
    at gstpad.c line 597
  • #6 gst_pad_activate_push
    at gstpad.c line 893
  • #7 gst_pad_set_active
    at gstpad.c line 655
  • #8 activate_pads
    at gstelement.c line 2371
  • #9 gst_iterator_fold
    at gstiterator.c line 503
  • #10 iterator_activate_fold_with_resync
    at gstelement.c line 2403
  • #11 gst_element_pads_activate
    at gstelement.c line 2446
  • #12 gst_element_change_state_func
    at gstelement.c line 2523
  • #13 gst_element_change_state
    at gstelement.c line 2291
  • #14 gst_element_set_state_func
    at gstelement.c line 2252
  • #15 gst_element_set_state
    at gstelement.c line 2160
  • #16 gst_bin_change_state_func
    at gstbin.c line 1767
  • #17 gst_element_change_state
    at gstelement.c line 2291
  • #18 gst_element_change_state
    at gstelement.c line 2324
  • #19 gst_element_set_state_func
    at gstelement.c line 2252
  • #20 gst_element_set_state
    at gstelement.c line 2160
  • #21 playFile
    at ../src/main.c line 94
  • #22 main
    at ../src/main.c line 210

Thread 1 (process 8545)

  • #0 audioresample_buffer_queue_pull
    at buffer.c line 173
  • #1 resample_scale_ref
    at resample_ref.c line 113
  • #2 resample_get_output_data
    at resample.c line 244
  • #3 audioresample_do_output
    at gstaudioresample.c line 512
  • #4 gst_base_transform_handle_buffer
    at gstbasetransform.c line 1456
  • #5 gst_base_transform_chain
    at gstbasetransform.c line 1565
  • #6 gst_pad_chain_unchecked
    at gstpad.c line 3459
  • #7 gst_pad_push
    at gstpad.c line 3625
  • #8 gst_base_transform_chain
    at gstbasetransform.c line 1571
  • #9 gst_pad_chain_unchecked
    at gstpad.c line 3459
  • #10 gst_pad_push
    at gstpad.c line 3625
  • #11 gst_proxy_pad_do_chain
    at gstghostpad.c line 191
  • #12 gst_pad_chain_unchecked
    at gstpad.c line 3459
  • #13 gst_pad_push
    at gstpad.c line 3625
  • #14 gst_wavparse_stream_data
    at gstwavparse.c line 1511
  • #15 gst_wavparse_loop
    at gstwavparse.c line 1599
  • #16 gst_task_func
    at gsttask.c line 192
  • #17 ??
    from /usr/lib/libglib-2.0.so.0
  • #18 ??
  • #19 ??
  • #20 ??


Other information:
Backtrace was generated from core file dumped while running under valgrind.  Core files show when not running under valgrind are similar.
Comment 1 Scott Zuk 2007-04-17 02:44:56 UTC
Created attachment 86467 [details]
valgrind leak check output
Comment 2 Scott Zuk 2007-04-17 02:49:12 UTC
Created attachment 86468 [details]
test pipeline program
Comment 3 Tim-Philipp Müller 2007-04-17 06:54:02 UTC
Looks like another manifestation of bug #420106 to me (race condition when shutting down).
Comment 4 Tim-Philipp Müller 2007-04-21 14:04:13 UTC
Fairly sure this is a duplicate of #420106, since the test case I made for that crashed exactly the same way. Your test program also runs fine for me. Please re-open if you still have this problem with an up-to-date GStreamer core/-base CVS.


*** This bug has been marked as a duplicate of 420106 ***