VLC refusing to run

Hello all,
I seem to be having trouble with getting vlc to run. I’m using the following version:

Repository : Packman Repository
Name : vlc
Version : 2.2.4-32.4.1

When it tried to install, I noticed the following error:


( 6/14) Installing: vlc-noX-2.2.4-32.4.1.x86_64 ......................................................................................................................[done]
Additional rpm output:
/var/tmp/rpm-tmp.C2uF9X: line 2:  3648 Segmentation fault      (core dumped) /usr/lib64/vlc/vlc-cache-gen -f /usr/lib64/vlc/plugins
warning: %post(vlc-noX-2.2.4-32.4.1.x86_64) scriptlet failed, exit status 139


( 7/14) Installing: vlc-qt-2.2.4-32.4.1.x86_64 .......................................................................................................................[done]
Additional rpm output:
/var/tmp/rpm-tmp.wTbG0q: line 1:  3653 Segmentation fault      (core dumped) /usr/lib64/vlc/vlc-cache-gen -f /usr/lib64/vlc/plugins
warning: %post(vlc-qt-2.2.4-32.4.1.x86_64) scriptlet failed, exit status 139


( 8/14) Installing: vlc-2.2.4-32.4.1.x86_64 ..........................................................................................................................[done]
Additional rpm output:
/var/tmp/rpm-tmp.6hAiCF: line 1:  3660 Segmentation fault      (core dumped) /usr/lib64/vlc/vlc-cache-gen -f /usr/lib64/vlc/plugins
warning: %post(vlc-2.2.4-32.4.1.x86_64) scriptlet failed, exit status 139


( 9/14) Installing: vlc-lang-2.2.4-32.4.1.noarch .....................................................................................................................[done]
(10/14) Installing: vlc-codec-gstreamer-2.2.4-32.4.1.x86_64 ..........................................................................................................[done]
(11/14) Installing: vlc-codecs-2.2.4-32.4.1.x86_64 ...................................................................................................................[done]
Additional rpm output:
/var/tmp/rpm-tmp.yte1F7: line 1:  3666 Segmentation fault      (core dumped) /usr/lib64/vlc/vlc-cache-gen -f /usr/lib64/vlc/plugins
warning: %post(vlc-codecs-2.2.4-32.4.1.x86_64) scriptlet failed, exit status 139


When trying to rerun the the above command:


# /usr/lib64/vlc/vlc-cache-gen -f /usr/lib64/vlc/plugins
Segmentation fault (core dumped)

It still fails. However, if I run it using gdb, then it works just fine.

Because of this, vlc has been very flakey and updates will sometimes break it.

Does anyone have any ideas or how I can capture more data for analysis?

Helpful info:


uname -a
Linux linux 4.4.73-18.17-default #1 SMP Fri Jun 23 20:25:06 UTC 2017 (f462a66) x86_64 x86_64 x86_64 GNU/Linux

That’s a known problem on some systems with the nvidia driver.

Because of this, vlc has been very flakey

It shouldn’t be flakey if you generate the cache once.

As you noticed, it does run fine in gdb, but also using strace.
So run this to generate the cache:

sudo strace  /usr/lib64/vlc/vlc-cache-gen -f /usr/lib64/vlc/plugins

Then vlc should work fine as it doesn’t load all the plugins on start any more.
(it’s one particular plugin that crashes)

and updates will sometimes break it.

There are no updates to VLC on 42.2.
Only rebuilds, but they shouldn’t make a difference.

Another option: install vlc-beta instead. IIRC people that were affected reported no more problems with the beta.

You could also uninstall the nvidia driver, but that’s probably not what you want… :wink:

(it’s one particular plugin that crashes)

Do we know which plugin that is or is there a way to disable it?

That’s a known problem on some systems with the nvidia driver.

Do you have a bug-report link? I’d be very interested in understanding what is going on behind the scenes and why running it in gdb or strace seems to remedy the problem.

I don’t know. It doesn’t crash here.

You could find out though by moving them away one by one.

or is there a way to disable it?

The only way would be to delete it AFAIK.
But updates would reinstall it.

Do you have a bug-report link?

No. I do remember one for some other distribution, but I don’t have the link handy at the moment.
There have been forum and mailinglist threads about that though.

I’d be very interested in understanding what is going on behind the scenes and why running it in gdb or strace seems to remedy the problem.

It depends on the order that dynamic link libraries get loaded I suppose. The nvidia driver changes that causing the crash. strace or gdb modify that too (to be able to do their work) which “fixes” it again.
IIRC there’s also a workaround via using LD_PRELOAD (instead of strace), but I forgot the details.

PS, one thread is here:
https://forums.opensuse.org/showthread.php/521722-Packman-s-VLC-Player-v2-2-4-29-1-Seg-Faults/page4

Thanks for posting the workaround. It worked like a charm! :slight_smile: