Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
On big endian systems the rtspsrc has a bug leading to a segfault. It is on several MIPS-BE systems.
The command:
gst-launch-1.0 rtspsrc location=rtsp://192.168.203.15:8554/test ! fakesink
After some seconds, the process segfaults, see attached log.
Almost identical MIPS-LE systems do not the show failure, they run flawlessly.
This is what gdb shows me:
Thread 2 "task0" received signal SIGSEGV, Segmentation fault.[Switching to LWP 20702]0x77fc31b0 in strchrnul () from /lib/ld-musl-mips-sf.so.1(gdb) bt full#0 0x77fc31b0 in strchrnul () from /lib/ld-musl-mips-sf.so.1No symbol table info available.#1 0x77fc3138 in strchr () from /lib/ld-musl-mips-sf.so.1No symbol table info available.#2 0x77d24ebb in g_param_spec_pool_lookup () from /usr/lib/libgobject-2.0.so.0No symbol table info available.Backtrace stopped: frame did not save the PC
I use gstramer 16.2 and also testet the latest patches in the git repo.
Please help. If more details are needed, please ask.
I've setup a debian inside qemu to replicate the problem. After installing gstreamer and plugins debug symbols I get this:
Starting program: /usr/bin/gst-launch-1.0 rtspsrc location=rtsp://192.168.203.15:8554/test \! fakesink[Thread debugging using libthread_db enabled]Using host libthread_db library "/lib/mips-linux-gnu/libthread_db.so.1".[Detaching after fork from child process 3221]Setting pipeline to PAUSED ...[New Thread 0x77464490 (LWP 3223)]Pipeline is live and does not need PREROLL ...[New Thread 0x76aff490 (LWP 3224)]Progress: (open) Opening StreamProgress: (connect) Connecting to rtsp://192.168.203.15:8554/test[New Thread 0x760ff490 (LWP 3225)][New Thread 0x7575b490 (LWP 3226)]Progress: (open) Retrieving server optionsProgress: (open) Retrieving media infoProgress: (request) SETUP stream 0Thread 2 "task0" received signal SIGSEGV, Segmentation fault.[Switching to Thread 0x77464490 (LWP 3223)]0x77ba96f8 in __GI_strchr (s=<optimized out>, c_in=<optimized out>) at strchr.c:154154 strchr.c: No such file or directory.(gdb) bt full#0 0x77ba96f8 in __GI_strchr (s=<optimized out>, c_in=<optimized out>) at strchr.c:154 char_ptr = <optimized out> longword_ptr = 0x3ec longword = <optimized out> magic_bits = 2130640639 charmask = 976894522 c = 58 ':'#1 0x77e33c08 in g_param_spec_pool_lookup () from /lib/mips-linux-gnu/libgobject-2.0.so.0No symbol table info available.#2 0x77e2db38 in g_object_set_valist () from /lib/mips-linux-gnu/libgobject-2.0.so.0No symbol table info available.Backtrace stopped: frame did not save the PC
This looks a bit different than with musl in openwrt, after I installed some debug symbols there is also the hint with g_param_spec_pool_lookup.
Hope this helps. If more is needed, I will provide.
You don't have any debug symbols for GLib and probably also not GStreamer and gst-plugins-base/good installed. The main question here is where this actually is called from, which we can't possibly know here :)
I just search for glib debug symbols, but they are missing. Damn. But shouldn't that be enough, usually?
Do you have an idea what I could do to retrieve the missing information?