Skip to main content
Topic: vlc segfaults on vlc 3.0.11.1-6 (Read 916 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

vlc segfaults on vlc 3.0.11.1-6

Hi,

vlc 3.0.11.1-6 segfaults on my laptop with artix-runit, as soon as i want to play a video.
output
Code: [Select]
vlc Videos/pmpc_desktop.mp4 
VLC media player 3.0.11.1 Vetinari (revision 3.0.11.1-0-g52483f3ca2)
[000055bd9f563580] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
Speicherzugriffsfehler
dmesg line
Code: [Select]
[ 1905.321253] traps: vlc[2824] general protection fault ip:7f8a8bb357e4 sp:7f8a7f3c18c0 error:0 in libstdc++.so.6.0.28[7f8a8bb2a000+ec000]
I ran pacman -Syu.

On my desktop system the same version works.

I had a similar issue with gnucash today which I reported, and which was due some corrupted/old(?) libguile-2.2. Reinstalling guile fixed it. I checked the file because it was mentioned in dmesg.

In this case libstc++ is mentioned. This file is correct (I crosschecked with my desktop system).
Any ideas, how to find the broken file?

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #1
Code: [Select]
pacman -Qkk vlc
Warnung: vlc: /usr/lib/vlc/plugins/plugins.dat (Zeit der Veränderung stimmt nicht überein)
Warnung: vlc: /usr/lib/vlc/plugins/plugins.dat (Größen stimmen nicht überein)
vlc: 1057 Dateien gesamt, 1 veränderte Datei

This is the same result I get on my desktop system (and after a fresh install. Is this a package problem?).

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #2
You could try:
 
Code: [Select]
$ pacman -Qkk
to check files in packages. Also run whatever  fsck (check type, not full check & fix) is suitable for your filesystem, e.g. on BTRFS:
Code: [Select]
# btrfs scrub start /
# btrfs scrub status /

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #3
reinstall vlc can help too
interesting problems on your computer. I have not yet encountered a similar problem with my computer

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #4
You could try:
 
Code: [Select]
$ pacman -Qkk
to check files in packages. Also run whatever  fsck (check type, not full check & fix) is suitable for your filesystem, e.g. on BTRFS:
Code: [Select]
# btrfs scrub start /
# btrfs scrub status /

Code: [Select]
$ sudo pacman -Qkkq
base /usr/bin/init
fcron /var/spool/fcron/systab.orig
fcron-runit /etc/runit/sv/fcron/run
java-runtime-common /usr/lib/jvm/default
java-runtime-common /usr/lib/jvm/default-runtime
linux /usr/lib/modules/5.9.14-artix1-1/modules.alias
linux /usr/lib/modules/5.9.14-artix1-1/modules.alias.bin
linux /usr/lib/modules/5.9.14-artix1-1/modules.builtin.alias.bin
linux /usr/lib/modules/5.9.14-artix1-1/modules.builtin.bin
linux /usr/lib/modules/5.9.14-artix1-1/modules.dep
linux /usr/lib/modules/5.9.14-artix1-1/modules.dep.bin
linux /usr/lib/modules/5.9.14-artix1-1/modules.devname
linux /usr/lib/modules/5.9.14-artix1-1/modules.softdep
linux /usr/lib/modules/5.9.14-artix1-1/modules.symbols
linux /usr/lib/modules/5.9.14-artix1-1/modules.symbols.bin
rtkit /usr/lib/sysusers.d/rtkit.conf
shadow /usr/bin/newgidmap
shadow /usr/bin/newuidmap
vlc /usr/lib/vlc/plugins/plugins.dat
Do you see anything suspicious?

I have an ext4 partition inside lvm inside luks. currently I don't have a live system, so that i could check the partition without having it mounted.  man e2fsck says only pros should maybe fsck a mounted system.

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #5
reinstall vlc can help too
interesting problems on your computer. I have not yet encountered a similar problem with my computer

I already did a reinstall with pacman -R and then -S.

Now I tried inspecting the coredump. Its 249MB big (ulimit is at 500MB). But:
Code: [Select]
$ file core 
core: ELF 64-bit LSB core file, x86-64, version 1 (SYSV), SVR4-style, from 'vlc pmpc_desktop.mp4', real uid: 1000, effective uid: 1000, real gid: 1000, effective gid: 1000, execfn: '/usr/bin/vlc', platform: 'x86_64'
$ gdb core
GNU gdb (GDB) 10.1
Copyright (C) 2020 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 "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://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"...
"0x7ffe8074cc90s": not in executable format: file format not recognized
(gdb) bt
No stack.
(gdb)
Somethings up with the core file, but my latin ends here.

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #6
You could use this script here, copy it to a file and make it executable with chmod a+x.
https://github.com/eli-schwartz/dotfiles/blob/master/bin/pkg-list-linked-libraries
Then use this simple command (after running updatedb) to check if all the binary requirements for vlc are installed:
Code: [Select]
./pkg-list-linked-libraries /var/cache/pacman/pkg/vlc-3.0.11.1-6-x86_64.pkg.tar.zst  |grep NEEDED | sort | uniq | sed 's/^ *[^ ][^ ]*  *//' | xargs -n1 -I _solib bash -c 'locate _solib || echo "ERROR COULD NOT FIND _solib"'
It may say it can't find some that won't matter because they are optional, but it might help point you in the right direction, if it was related to any missing binary dependencies.
I think when you run gdb you do gdb executable coredumpfile, ie executable might be /usr/bin/vlc for example, it would tell you more if vlc is compiled with debugging symbols, but would still be helpful without. For a segfault you might get some helpful info running vlc with valgrind as well:
Code: [Select]
$ valgrind --tool=memcheck vlc video.mp4
I get various errors from that (and just running on the command line) even though VLC works for me, so some are "normal" errors.

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #7
Here are the errors.

ERROR COULD NOT FIND libaribb25.so.0
ERROR COULD NOT FIND libgoom2.so.0
ERROR COULD NOT FIND liblirc_client.so.0
ERROR COULD NOT FIND libnfs.so.13
ERROR COULD NOT FIND libpcsclite.so.1
ERROR COULD NOT FIND libprojectM.so.3
ERROR COULD NOT FIND libSDL_image-1.2.so.0
ERROR COULD NOT FIND libsmbclient.so.0
ERROR COULD NOT FIND libtiger.so.5

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #8
In my case I am also missing all of those, except these 2, which are installed:
/usr/lib/libtiger.so is owned by libtiger 0.3.4-6
/usr/lib/libsmbclient.so is owned by smbclient 4.13.3-2
Code: [Select]
ERROR COULD NOT FIND libaa.so.1
ERROR COULD NOT FIND libaribb25.so.0
ERROR COULD NOT FIND libcaca.so.0
ERROR COULD NOT FIND libchromaprint.so.1
ERROR COULD NOT FIND libdc1394.so.25
ERROR COULD NOT FIND libgme.so.0
ERROR COULD NOT FIND libgoom2.so.0
ERROR COULD NOT FIND liblirc_client.so.0
ERROR COULD NOT FIND libmicrodns.so.1
ERROR COULD NOT FIND libmtp.so.9
ERROR COULD NOT FIND libnfs.so.13
ERROR COULD NOT FIND libpcsclite.so.1
ERROR COULD NOT FIND libprojectM.so.3
ERROR COULD NOT FIND libprotobuf-lite.so.23
ERROR COULD NOT FIND libSDL_image-1.2.so.0
ERROR COULD NOT FIND libshout.so.3
ERROR COULD NOT FIND libtwolame.so.0
ERROR COULD NOT FIND libzvbi.so.0

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #9
Installing both packages doesn't help.

heres the backtrace
Code: [Select]
$ gdb /usr/bin/vlc core 
GNU gdb (GDB) 10.1
Copyright (C) 2020 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 "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://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 /usr/bin/vlc...
(No debugging symbols found in /usr/bin/vlc)
[New LWP 13774]
[New LWP 13771]
[New LWP 13770]
[New LWP 13772]
[New LWP 13775]
[New LWP 13773]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `vlc pmpc_desktop.mp4'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __cxxabiv1::__dynamic_cast (src_ptr=0x7f7160e818a0, src_type=0x7f716a4748a8 <typeinfo for TagLib::File>,
    dst_type=0x7f716a474570 <typeinfo for TagLib::APE::File>, src2dst=0)
    at /build/gcc/src/gcc/libstdc++-v3/libsupc++/dyncast.cc:68
68 /build/gcc/src/gcc/libstdc++-v3/libsupc++/dyncast.cc: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f716af1b640 (LWP 13774))]
(gdb) bt
#0  __cxxabiv1::__dynamic_cast(void const*, __cxxabiv1::__class_type_info const*, __cxxabiv1::__class_type_info const*, ptrdiff_t)
    (src_ptr=0x7f7160e818a0, src_type=0x7f716a4748a8 <typeinfo for TagLib::File>, dst_type=0x7f716a474570 <typeinfo for TagLib::APE::File>, src2dst=0) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/dyncast.cc:68
#1  0x00007f716a67019b in  () at /usr/lib/vlc/plugins/meta_engine/libtaglib_plugin.so
#2  0x00007f71706b894b in  () at /usr/lib/libvlccore.so.9
#3  0x00007f71706b8f0c in vlc_module_load () at /usr/lib/libvlccore.so.9
#4  0x00007f71706ed29f in  () at /usr/lib/libvlccore.so.9
#5  0x00007f71706f2d57 in  () at /usr/lib/libvlccore.so.9
#6  0x00007f71706f4e1d in  () at /usr/lib/libvlccore.so.9
#7  0x00007f71709773e9 in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f717089f293 in clone () at /usr/lib/libc.so.6
(gdb)


Re: vlc segfaults on vlc 3.0.11.1-6

Reply #10
From the backtrace it looks more like the problem is in VLC itself to me. You could try downgrading it, 3.0.11.1-4 worked for me when I tried just now, without needing to downgrade anything else. It gave a couple less error messages than the latest version too. VLC uses some complex graphics stuff and may not run the same code paths on different hardware.
Code: [Select]
3.0.11.1-6:
$ vlc vid1.mp4
VLC media player 3.0.11.1 Vetinari (revision 3.0.11.1-0-g52483f3ca2)
[0000558fe5c11f10] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[0000558fe5b2a580] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007fc46800d000] gl gl: Initialized libplacebo v2.72.0 (API v72)
Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory
[00007fc46800d000] gl gl: Initialized libplacebo v2.72.0 (API v72)
QObject::~QObject: Timers cannot be stopped from another thread

vs  3.0.11.1-4

$ vlc vid2.mp4
VLC media player 3.0.11.1 Vetinari (revision 3.0.11.1-0-g52483f3ca2)
[000055cda8d9f3c0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000055cda8ca8580] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory
QObject::~QObject: Timers cannot be stopped from another thread


Re: vlc segfaults on vlc 3.0.11.1-6

Reply #11
Downgrading 3.0.11.1-6 => 3.0.11.1-4 doesn't help.

 

Re: vlc segfaults on vlc 3.0.11.1-6

Reply #12
Vlc of course works without problem for mostly users. Seems, that (same as another your reported problems) some is messy in your computer  8)