Core dumped, free invalid pointer while creation of MP4 on arm64.
Describe your issue:
GStreamer crashes in creation of MP4 files with core dump.
Pipeline
$ rtspsrc location=rtsp://$USER:$PASSWORD@$IP
! watchdog timeout=300000
! rtph264depay
! h264parse
! h264timestamper
! splitmuxsink name=mp4mux max-size-time=10000000000 max-size-bytes=0 location=stream_%01d.mp4
Expected Behavior:
No crash
Observed Behavior
Backtraces shows the following:
gdb) bt full
#0 0x0000007f82cbdc78 in arena_for_chunk (ptr=0x7f83f01b48 <_dl_argc>) at ./malloc/arena.c:156
ar_ptr = <optimized out>
p = <optimized out>
err = 0
#1 arena_for_chunk (ptr=0x7f83f01b48 <_dl_argc>) at ./malloc/arena.c:160
ar_ptr = <optimized out>
p = <optimized out>
err = 0
#2 __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3390
ar_ptr = <optimized out>
p = <optimized out>
err = 0
#3 0x0000007f83cf04d4 in g_value_unset () at /lib/aarch64-linux-gnu/libgobject-2.0.so.0
#4 0x0000007f83ce3ddc in g_signal_emit_valist () at /lib/aarch64-linux-gnu/libgobject-2.0.so.0
#5 0x0000007f83ce3fdc in g_signal_emit () at /lib/aarch64-linux-gnu/libgobject-2.0.so.0
#6 0x0000007f80d96e8c in () at /opt/scorer/lib/gstreamer-1.0/libgstmultifile.so
#7 0x0000007f80d97ea8 in () at /opt/scorer/lib/gstreamer-1.0/libgstmultifile.so
#8 0x0000007f80d988a8 in () at /opt/scorer/lib/gstreamer-1.0/libgstmultifile.so
#9 0x0000007f83dd0a78 in () at /opt/scorer/lib/libgstreamer-1.0.so.0
#10 0x0000007f83b99608 in g_hook_list_marshal () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#11 0x0000007f83dd0194 in () at /opt/scorer/lib/libgstreamer-1.0.so.0
#12 0x0000007f83dd552c in () at /opt/scorer/lib/libgstreamer-1.0.so.0
#13 0x0000007f83ddda90 in gst_pad_push () at /opt/scorer/lib/libgstreamer-1.0.so.0
#14 0x0000007f81007b28 in () at /opt/scorer/lib/gstreamer-1.0/libgstcoreelements.so
#15 0x0000007f83e13a50 in () at /opt/scorer/lib/libgstreamer-1.0.so.0
#16 0x0000007f83be7658 in () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#17 0x0000007f83be4980 in () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#18 0x0000007f82cad5c8 in start_thread (arg=0x0) at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = 0x0
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {547532762784, 548927397576, 548927397262, 8447712, 548927397263, 0, 547524313088, 8447712, 547674331232, 547524313088, 547532760512, 8613904286010399161, 0, 8613904287764408421, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
#19 0x0000007f82d15d9c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79
Setup
- Operating System: Ubuntu22
- GStreamer Version: 1.22.2
- Device: RP4
- CPU Architecture: aarch64
- OS Architecture: arm64
How reproducible is the bug?
Always