gdb stack trace of the crash:
Thread 25 "vlc" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffbc7fb700 (LWP 9949)]
0x00007fffab507cb3in ??() from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
(gdb) bt
#0 0x00007fffab507cb3in () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#1 0x00007fffab4d7f09in () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2 0x00007fffab4d6221in () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3 0x00007fff7b5a14c5in () at
/usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
#4 0x00007fffa0473adfin vaEndPicture() at
/usr/lib/x86_64-linux-gnu/libva.so.2
#5 0x00007fff831757c8in () at /usr/lib/x86_64-linux-gnu/libavcodec.so.58
#6 0x00007fff83185c6ein () at /usr/lib/x86_64-linux-gnu/libavcodec.so.58
#7 0x00007fff82f9dfcain () at /usr/lib/x86_64-linux-gnu/libavcodec.so.58
#8 0x00007fff82f9e70din () at /usr/lib/x86_64-linux-gnu/libavcodec.so.58
#9 0x00007fff82ca92bbin () at /usr/lib/x86_64-linux-gnu/libavcodec.so.58
#10 0x00007fff82ca9db8in avcodec_send_packet()
at /usr/lib/x86_64-linux-gnu/libavcodec.so.58
#11 0x00007fffbc20966cin ()
at /usr/lib/x86_64-linux-gnu/vlc/plugins/codec/libavcodec_plugin.so
#12 0x00007ffff7cb01c8in () at /usr/lib/x86_64-linux-gnu/libvlccore.so.9
#13 0x00007ffff7cafdf5in () at /usr/lib/x86_64-linux-gnu/libvlccore.so.9
#14 0x00007ffff7cb0412in () at /usr/lib/x86_64-linux-gnu/libvlccore.so.9
#15 0x00007ffff7f44ea7in start_thread(arg=<optimized out>) at
pthread_create.c:477
#16 0x00007ffff7e6edefin clone() at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
The crash seems a curious combination between a (probably) not perfect
signal reception, libvlc and the driver/hardware video.
It not happens on another machine with same debian release, same
architecture and same radeon driver video (but different GPU)
It not happens if I disable HW decoding on VLC
with HW decoding enabled, when VLC start playing, shows me this message:
[00007f91d0c0b170] avcodec decoder: Using Mesa Gallium driver 20.3.5 for
AMD RS880 (DRM 2.50.0 / 5.10.0-11-amd64, LLVM 11.0.1) for hardware decoding
when VLC segfaults I see these messages in dmesg logs
[ 9647.012821] vlc[7168]: segfault at 30 ip 00007fe06b0ffcb3 sp
00007fe06846d738 error 4 in r600_dri.so[7fe06a6a5000+d47000]
[ 9647.012857] Code: 1f 84 00 00 00 00 00 48 8b 46 30 ff 60 10 66 0f 1f
84 00 00 00 00 00 48 8b 06 48 8b 40 30 ff 60 18 66 0f 1f 44 00 00 48 8b
06 <48> 8b 40 30 ff 60 20 66 0f 1f 44 00 00 41 57 41 56 41 55 41 54 55
so, as a workaround, I use --avcodec-hw none to VLC (or settings
VDPAU_DRIVER=none LIBVA_DRIVER_NAME=none for other software using
libvlc) to avoid the crash