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 762765 - goom: crashes on window resize
goom: crashes on window resize
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal blocker
: 1.7.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-02-27 10:59 UTC by Tim-Philipp Müller
Modified: 2016-02-27 18:36 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2016-02-27 10:59:53 UTC
$ gst-launch-1.0 audiotestsrc ! goom ! ximagesink

Resize window (make larger) => displays garbage then crashes:

Program received signal SIGSEGV, Segmentation fault.

Thread 140737277159168 (LWP 5065)

  • #0 shader_fade
    at gstaudiovisualizer.c line 185
  • #1 gst_audio_visualizer_chain
    at gstaudiovisualizer.c line 1183
  • #2 gst_pad_push_data
    at gstpad.c line 4155
  • #3 gst_pad_push_data
    at gstpad.c line 4407
  • #4 gst_pad_push
    at gstpad.c line 4526
  • #5 gst_base_src_loop
    at gstbasesrc.c line 2850
  • #6 gst_task_func
    at gsttask.c line 332
  • #7 g_thread_pool_thread_proxy
    at /build/glib2.0-2.46.2/./glib/gthreadpool.c line 307
  • #8 g_thread_proxy
    at /build/glib2.0-2.46.2/./glib/gthread.c line 778
  • #9 start_thread
    at pthread_create.c line 333
  • #10 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 109


==4956== Thread 3 audiotestsrc0:sr:
==4956== Invalid read of size 1
==4956==    at 0x9AC9F38: shader_fade (gstaudiovisualizer.c:185)
==4956==    by 0x9ACCE67: gst_audio_visualizer_chain (gstaudiovisualizer.c:1183)
==4956==    by 0x4EA3CA1: gst_pad_chain_data_unchecked (gstpad.c:4155)
==4956==    by 0x4EA3CA1: gst_pad_push_data (gstpad.c:4407)
==4956==    by 0x4EABE52: gst_pad_push (gstpad.c:4526)
==4956==    by 0x8F84A74: gst_base_src_loop (gstbasesrc.c:2850)
==4956==    by 0x4ED5C50: gst_task_func (gsttask.c:332)
==4956==    by 0x562835D: g_thread_pool_thread_proxy (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==4956==    by 0x56279C4: g_thread_proxy (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==4956==    by 0x5CD9283: start_thread (pthread_create.c:333)
==4956==  Address 0x88187a0 is 0 bytes after a block of size 307,328 alloc'd
==4956==    at 0x4C2BBD5: calloc (vg_replace_malloc.c:711)
==4956==    by 0x989BE76: init_buffers (goom_core.c:62)
==4956==    by 0x989BF20: goom_init (goom_core.c:89)
==4956==    by 0x9894420: gst_goom_init (gstgoom.c:138)
==4956==    by 0x5193328: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4600.2)
==4956==    by 0x51752BA: g_object_new_internal (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4600.2)
==4956==    by 0x5176BA0: g_object_newv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4600.2)
==4956==    by 0x4E8FF54: gst_element_factory_create (gstelementfactory.c:376)
==4956==    by 0x4E9003D: gst_element_factory_make (gstelementfactory.c:446)
==4956==    by 0x4EF9886: priv_gst_parse_yyparse (grammar.y:713)
==4956==    by 0x4EFA908: priv_gst_parse_launch (grammar.y:1075)
==4956==    by 0x4EF1AAE: gst_parse_launch_full (gstparse.c:325)
Comment 1 Sebastian Dröge (slomo) 2016-02-27 11:53:20 UTC
Regression from the audiovisualizer port.
Comment 2 Tim-Philipp Müller 2016-02-27 12:01:00 UTC
It crashes in 1.6 as well (with the internal/private audiovisualizer) :)
Comment 3 Sebastian Dröge (slomo) 2016-02-27 18:29:43 UTC
Well, it's a regression from 1.4 :)
Comment 4 Sebastian Dröge (slomo) 2016-02-27 18:36:36 UTC
commit 03d2ae154e3a36053494912185c0d1964633f30b
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Sat Feb 27 20:33:32 2016 +0200

    goom: Use goom_set_resolution() instead of recreating the goom instance when the resolution changes
    
    https://bugzilla.gnome.org/show_bug.cgi?id=762765

commit bd0d2a3d7de8149dd4840a882fdcfa09d663d5d4
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Sat Feb 27 20:32:45 2016 +0200

    Revert "goom: Initialize the goom struct only once we know width/height and recreate it if those change"
    
    This reverts commit cc6e102643c1bae928316dca9f34db028fb9a67e.

commit cc6e102643c1bae928316dca9f34db028fb9a67e
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Sat Feb 27 20:31:15 2016 +0200

    goom: Initialize the goom struct only once we know width/height and recreate it if those change
    
    Fixes crash when the width and/or height is changing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=762765