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 731093 - segfault in gdp / shmsrc pipeline
segfault in gdp / shmsrc pipeline
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 1.2.5
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-06-01 23:15 UTC by Vasilis Liaskovitis
Modified: 2014-06-03 22:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Vasilis Liaskovitis 2014-06-01 23:15:29 UTC
I am getting a segfault with the following gdppay/shmsink, shmsrc/gdpdepay pipelines. However I am not sure this is a valid way to use gdppay / gdpdepay. The segfault happens on the reader side.

writer: 
gst-launch-1.0 uridecodebin uri=file:////opt/Videos/test.avi !  queue ! videoconvert ! video/x-raw, format="RGBA" ! gdppay ! shmsink socket-path=/tmp/sock  shm-size=100000000

reader:
gdb /usr/bin/gst-launch-1.0 shmsrc socket-path=/tmp/sock is-live=1 ! gdpdepay   ! videoconvert ! xvimagesink

Setting pipeline to PAUSED ...
[New Thread 0x7ffff472d700 (LWP 15610)]
[New Thread 0x7ffff3f2c700 (LWP 15611)]
Pipeline is live and does not need PREROLL ...
[New Thread 0x7ffff372b700 (LWP 15612)]
Setting pipeline to PLAYING ...
New clock: GstSystemClock

(gst-launch-1.0:15606): GStreamer-CRITICAL **: gst_structure_id_get_value: assertion 'structure != NULL' failed

(gst-launch-1.0:15606): GLib-GObject-CRITICAL **: g_value_get_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed

Program received signal SIGSEGV, Segmentation fault.

Thread 140737286162176 (LWP 15611)

  • #0 gst_segment_copy_into
    at gstsegment.c line 115
  • #1 gst_event_copy_segment
    at gstevent.c line 809
  • #2 gst_base_transform_sink_eventfunc
    at gstbasetransform.c line 1890
  • #3 gst_pad_send_event_unchecked
    at gstpad.c line 5132
  • #4 gst_pad_push_event_unchecked
    at gstpad.c line 4830
  • #5 push_sticky
    at gstpad.c line 3434
  • #6 events_foreach
    at gstpad.c line 564
  • #7 check_sticky
    at gstpad.c line 3490
  • #8 gst_pad_push_event
    at gstpad.c line 4949
  • #9 gst_gdp_depay_chain
    at gstgdpdepay.c line 380
  • #10 gst_pad_chain_data_unchecked
    at gstpad.c line 3827
  • #11 gst_pad_push_data
    at gstpad.c line 4060
  • #12 gst_pad_push
    at gstpad.c line 4171
  • #13 gst_base_src_loop
    at gstbasesrc.c line 2835
  • #14 gst_task_func
    at gsttask.c line 317
  • #15 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #16 g_thread_proxy
    at gthread.c line 764
  • #17 start_thread
    at pthread_create.c line 312
  • #18 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 111


Tested against recent gst-plugins-bad (ad825756), gstreamer (066fdcd4), gst-plugins-base ( ba876556), gst-plugins-good (edc7d902) . Also against libgstreamer1.0 (1.2.4-0ubuntu1) on ubuntu 14.04.


Trace is very similar to https://bugzilla.gnome.org/show_bug.cgi?id=674100
Comment 1 Olivier Crête 2014-06-03 01:44:45 UTC
Was a small bug in shmsink, it's now solved.

commit 037f27756618b919056756c25d9f38ff1243c55b
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Mon Jun 2 21:43:56 2014 -0400

    gdp: Fail gracefully if event can't be parsed
    
    https://bugzilla.gnome.org/show_bug.cgi?id=731093

commit db0992284298c7f644841df2f91a1e9ad277230b
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Mon Jun 2 21:43:34 2014 -0400

    shmsink: Allocate enough memory to do alignment
    
    https://bugzilla.gnome.org/show_bug.cgi?id=731093
Comment 2 Olivier Crête 2014-06-03 01:56:53 UTC
Backported to 1.2 branch also:

commit 277b8c34e7214177764833b73f17e43ced496f8f
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Mon Jun 2 21:51:38 2014 -0400

    tests: Take account of memory alignment in shm test

commit dc63c5ff517c5726c66a1a33bb3736d50306d23f
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Mon Jun 2 21:43:34 2014 -0400

    shmsink: Allocate enough memory to do alignment
    
    https://bugzilla.gnome.org/show_bug.cgi?id=731093
Comment 3 Vasilis Liaskovitis 2014-06-03 22:17:43 UTC
thanks for the quick fix!