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 671277 - rtspsrc segfault during pipeline state change to NULL
rtspsrc segfault during pipeline state change to NULL
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal major
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-03-03 21:55 UTC by Nicola
Modified: 2013-05-29 08:06 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nicola 2012-03-03 21:55:17 UTC
Program received signal SIGSEGV, Segmentation fault.
gst_rtsp_connection_flush (conn=0x6d31343b3700, flush=1)
    at gstrtspconnection.c:2567
2567	  gst_poll_set_flushing (conn->fdset, flush);
(gdb) 
(gdb) bt
  • #0 gst_rtsp_connection_flush
    at gstrtspconnection.c line 2567
  • #1 gst_rtspsrc_connection_flush
    at gstrtspsrc.c line 3429
  • #2 gst_rtspsrc_loop_send_cmd
    at gstrtspsrc.c line 4132
  • #3 gst_rtspsrc_stop
    at gstrtspsrc.c line 6592
  • #4 gst_rtspsrc_change_state
    at gstrtspsrc.c line 6673
  • #5 gst_element_change_state
    at gstelement.c line 2761
  • #6 gst_element_set_state_func
    at gstelement.c line 2717
  • #7 gst_bin_element_set_state
    at gstbin.c line 2209
  • #8 gst_bin_change_state_func
    at gstbin.c line 2518
  • #9 gst_pipeline_change_state
    at gstpipeline.c line 484
  • #10 gst_element_change_state
    at gstelement.c line 2761
  • #11 gst_element_change_state
  • #12 gst_element_change_state
    at gstelement.c line 2805
  • #13 gst_element_set_state_func
    at gstelement.c line 2717

Comment 1 Tim-Philipp Müller 2012-03-04 18:39:49 UTC
Is this reproducable or a one-off crash you caught?

If reproducable, could you run it through valgrind? And do a 

 (gdb) print *conn

in gdb?

Also this is up-to-date git of -base and -good, right? Or some other version?
Comment 2 Nicola 2012-03-04 20:19:07 UTC
It is quite reproducible with any gstreamer version (official releases and yesterday git) doing export GST_DEBUG=*,5 (I was debugging another bug) or if the machine running the gstreamer app has a high load

here is the output from gdb

Program received signal SIGSEGV, Segmentation fault.
gst_rtsp_connection_flush (conn=0x51, flush=1) at gstrtspconnection.c:2567
2567	  gst_poll_set_flushing (conn->fdset, flush);
(gdb) print *conn
Cannot access memory at address 0x51

here is the valgrind output:

==8806== Invalid read of size 8
==8806==    at 0xBB0EAED: gst_rtspsrc_connection_flush (gstrtspsrc.c:3428)
==8806==    by 0xBB103F5: gst_rtspsrc_loop_send_cmd.isra.9 (gstrtspsrc.c:4132)
==8806==    by 0xBB1C3BD: gst_rtspsrc_change_state (gstrtspsrc.c:6592)
==8806==    by 0x4E71ECB: gst_element_change_state (gstelement.c:2761)
==8806==    by 0x4E72821: gst_element_set_state_func (gstelement.c:2717)
==8806==    by 0x4E5EED9: gst_bin_change_state_func (gstbin.c:2209)
==8806==    by 0x4E92900: gst_pipeline_change_state (gstpipeline.c:484)
==8806==    by 0x4E71ECB: gst_element_change_state (gstelement.c:2761)
==8806==    by 0x4E71F4E: gst_element_change_state (gstelement.c:2798)
==8806==    by 0x4E7218A: gst_element_change_state (gstelement.c:2805)
==8806==    by 0x4E72821: gst_element_set_state_func (gstelement.c:2717)
Comment 3 Nicola 2013-05-29 07:04:34 UTC
I cannot replicate anymore with 0.10 git and gstreamer-sdk
Comment 4 Tim-Philipp Müller 2013-05-29 08:06:50 UTC
Thanks for re-testing.