SIGSEGV with glimagesink

Matthew Waters ystreet00 at gmail.com
Tue Jan 19 12:29:33 PST 2016


On 19/01/16 00:35, Linus Lüssing wrote:
> On Tue, Jan 19, 2016 at 10:08:31AM +0200, Sebastian Dröge wrote:
>> Does it work with "videotestsrc ! glimagesink" or does even that fail?
> Fails too:
>
> -----
> $ gst-launch-1.0 -v videotestsrc ! glimagesink
> Leitung wird auf PAUSIERT gesetzt ...
> Leitung läuft vor \u2026
> /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
> Kontext von Element »glimagesink0« erhalten: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
> /GstPipeline:pipeline0/GstGLImageSink:glimagesink0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
> Caught SIGSEGV
> #0  0xb6c87730 in poll () at ../sysdeps/unix/syscall-template.S:81
> #1  0xb6d71528 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> Spinning.  Please run 'gdb gst-launch-1.0 31834' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
> ^Chandling interrupt.
> Interrupt: Leitung wird gestoppt ...
> FEHLER: Leitung läuft nicht vor.
> Leitung wird auf NULL gesetzt ...
> /GstPipeline:pipeline0/GstGLImageSink:glimagesink0.GstPad:sink: caps = "NULL"
> ^C
> -----
>
> -----
> $ gdb gst-launch-1.0 31834
> GNU gdb (Raspbian 7.7.1+dfsg-5) 7.7.1
> Copyright (C) 2014 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "arm-linux-gnueabihf".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from gst-launch-1.0...(no debugging symbols found)...done.
> Attaching to program: /usr/bin/gst-launch-1.0, process 31834
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libarmmem.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libarmmem.so
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgstreamer-1.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgstreamer-1.0.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0
> Reading symbols from /lib/arm-linux-gnueabihf/libglib-2.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> Reading symbols from /lib/arm-linux-gnueabihf/libpthread.so.0...Reading symbols from /usr/lib/debug//lib/arm-linux-gnueabihf/libpthread-2.19.so...done.
> done.
> [New LWP 31843]
> [New LWP 31842]
> [New LWP 31841]
> [New LWP 31840]
> [New LWP 31839]
> [New LWP 31838]
> [New LWP 31837]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
> Loaded symbols for /lib/arm-linux-gnueabihf/libpthread.so.0
> Reading symbols from /lib/arm-linux-gnueabihf/libc.so.6...Reading symbols from /usr/lib/debug//lib/arm-linux-gnueabihf/libc-2.19.so...done.
> done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libc.so.6
> Reading symbols from /lib/ld-linux-armhf.so.3...Reading symbols from /usr/lib/debug//lib/arm-linux-gnueabihf/ld-2.19.so...done.
> done.
> Loaded symbols for /lib/ld-linux-armhf.so.3
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgmodule-2.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgmodule-2.0.so.0
> Reading symbols from /lib/arm-linux-gnueabihf/libm.so.6...Reading symbols from /usr/lib/debug//lib/arm-linux-gnueabihf/libm-2.19.so...done.
> done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libm.so.6
> Reading symbols from /lib/arm-linux-gnueabihf/libdl.so.2...Reading symbols from /usr/lib/debug//lib/arm-linux-gnueabihf/libdl-2.19.so...done.
> done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libdl.so.2
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libffi.so.6...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libffi.so.6
> Reading symbols from /lib/arm-linux-gnueabihf/libpcre.so.3...(no debugging symbols found)...done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libpcre.so.3
> Reading symbols from /lib/arm-linux-gnueabihf/libgcc_s.so.1...(no debugging symbols found)...done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libgcc_s.so.1
> Reading symbols from /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstvideotestsrc.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstvideotestsrc.so
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgstvideo-1.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgstvideo-1.0.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgstbase-1.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgstbase-1.0.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/liborc-0.4.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/liborc-0.4.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstopengl.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstopengl.so
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgstgl-1.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgstgl-1.0.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgstbadbase-1.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgstbadbase-1.0.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgstbadvideo-1.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgstbadvideo-1.0.so.0
> Reading symbols from /opt/vc/lib/libGLESv2.so...(no debugging symbols found)...done.
> Loaded symbols for /opt/vc/lib/libGLESv2.so
> Reading symbols from /opt/vc/lib/libbcm_host.so...(no debugging symbols found)...done.
> Loaded symbols for /opt/vc/lib/libbcm_host.so
> Reading symbols from /opt/vc/lib/libEGL.so...(no debugging symbols found)...done.
> Loaded symbols for /opt/vc/lib/libEGL.so

You have the VC GL libraries here...

> Reading symbols from /opt/vc/lib/libvchiq_arm.so...(no debugging symbols found)...done.
> Loaded symbols for /opt/vc/lib/libvchiq_arm.so
> Reading symbols from /opt/vc/lib/libvcos.so...done.
> Loaded symbols for /opt/vc/lib/libvcos.so
> Reading symbols from /lib/arm-linux-gnueabihf/librt.so.1...Reading symbols from /usr/lib/debug//lib/arm-linux-gnueabihf/librt-2.19.so...done.
> done.
> Loaded symbols for /lib/arm-linux-gnueabihf/librt.so.1
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libdrm.so.2...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libdrm.so.2
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libglapi.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libglapi.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libEGL.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libEGL.so.1

Conflicting with the mesa GL libraries.

Unfortunately, there some slight nuances with how the environment needs
to be set up which is not adhered to on the RPi or similar embedded
devices.  There are a couple of options.

1. create a symlink from libGLESv2.so.1 in a directory pointed by
LD_LIBRARY_PATH to RPi's libGLESv2.so (and the same for libEGL.so)
2. recompile gst-plugins-bad with --with-egl-module-name and
--with-gles2-module-name pointing directly to the RPi libraries.

Cheers
-Matt

> Reading symbols from /usr/lib/arm-linux-gnueabihf/libX11-xcb.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libX11-xcb.so.1
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libX11.so.6...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libX11.so.6
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libxcb-dri2.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libxcb-dri2.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libxcb-xfixes.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libxcb-xfixes.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libxcb-render.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libxcb-render.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libxcb-shape.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libxcb-shape.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libxcb.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libxcb.so.1
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libwayland-client.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libwayland-client.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libwayland-server.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libwayland-server.so.0
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libgbm.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libgbm.so.1
> Reading symbols from /lib/arm-linux-gnueabihf/libexpat.so.1...(no debugging symbols found)...done.
> Loaded symbols for /lib/arm-linux-gnueabihf/libexpat.so.1
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libXau.so.6...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libXau.so.6
> Reading symbols from /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6
> 0xb6c87730 in poll () at ../sysdeps/unix/syscall-template.S:81
> (gdb) thread apply all backtrace
>
> Thread 8 (Thread 0xb6593460 (LWP 31837)):
> #0  0xb6c89adc in ioctl () at ../sysdeps/unix/syscall-template.S:81
> #1  0xb6f930b0 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
> #2  0xb65adda0 in vcos_thread_entry (arg=0xb6f9e2f0 <vchiq_instance+16>) at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
> #3  0xb6d06e90 in start_thread (arg=0xb6593460) at pthread_create.c:311
> #4  0xb6c91128 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 7 (Thread 0xb5d93460 (LWP 31838)):
> #0  0xb6d0da40 in do_futex_wait (isem=isem at entry=0xb6602c70 <dispmanx_notify_available_event+24>) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
> #1  0xb6d0daf4 in __new_sem_wait (sem=0xb6602c70 <dispmanx_notify_available_event+24>) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:69
> #2  0xb65f4c1c in dispmanx_notify_func () from /opt/vc/lib/libbcm_host.so
> #3  0xb65adda0 in vcos_thread_entry (arg=0xb66039b0 <dispmanx_notify_task>) at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
> #4  0xb6d06e90 in start_thread (arg=0xb5d93460) at pthread_create.c:311
> #5  0xb6c91128 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 6 (Thread 0xb5593460 (LWP 31839)):
> #0  0xb6d0da40 in do_futex_wait (isem=isem at entry=0xb6601dec <tvservice_notify_available_event+24>) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
> #1  0xb6d0daf4 in __new_sem_wait (sem=0xb6601dec <tvservice_notify_available_event+24>) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:69
> #2  0xb65f0bb4 in tvservice_notify_func () from /opt/vc/lib/libbcm_host.so
> #3  0xb65adda0 in vcos_thread_entry (arg=0xb6601e00 <tvservice_notify_task>) at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
> #4  0xb6d06e90 in start_thread (arg=0xb5593460) at pthread_create.c:311
> #5  0xb6c91128 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 5 (Thread 0xb4bff460 (LWP 31840)):
> #0  0xb6d0da40 in do_futex_wait (isem=isem at entry=0xb6602b74 <cecservice_notify_available_event+24>) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
> #1  0xb6d0daf4 in __new_sem_wait (sem=0xb6602b74 <cecservice_notify_available_event+24>) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:69
> #2  0xb65f1774 in cecservice_notify_func () from /opt/vc/lib/libbcm_host.so
> #3  0xb65adda0 in vcos_thread_entry (arg=0xb6602b88 <cecservice_notify_task>) at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
> #4  0xb6d06e90 in start_thread (arg=0xb4bff460) at pthread_create.c:311
> #5  0xb6c91128 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 4 (Thread 0xb43ff460 (LWP 31841)):
> #0  syscall () at ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
> #1  0xb6dba794 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 3 (Thread 0xb3bff460 (LWP 31842)):
> #0  0xb6c87730 in poll () at ../sysdeps/unix/syscall-template.S:81
> #1  0xb6d71528 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 2 (Thread 0xb31ff460 (LWP 31843)):
> #0  0xb6d0f730 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
> #1  0xb6d9c3d0 in g_usleep () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> #2  0x00014c34 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 1 (Thread 0xb6fe5210 (LWP 31834)):
> #0  0xb6c87730 in poll () at ../sysdeps/unix/syscall-template.S:81
> #1  0xb6d71528 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb) q
> A debugging session is active.
>
> 	Inferior 1 [process 31834] will be detached.
>
> Quit anyway? (y or n) Detaching from program: /usr/bin/gst-launch-1.0, process 31834
> -----


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160119/c6f1f74b/attachment.sig>


More information about the gstreamer-devel mailing list