Bug 15311

Summary: Applications that use libvlc and a Qt version different from the one vlc was linked against crash because libqt4_plugin.so is loaded
Product: Mageia Reporter: David Walser <luigiwalser>
Component: RPM PackagesAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: cjw, lmenut, loginov_alex, mageia, rverschelde, shlomif
Version: Cauldron   
Target Milestone: ---   
Hardware: i586   
OS: Linux   
Whiteboard:
Source RPM: phonon, phonon-vlc, vlc, amarok CVE:
Status comment:
Attachments: KCrash dump backtrace of Amarok segfault
KCrash dump backtrace of systemsettings multimedia/phonon module

Description David Walser 2015-02-17 19:53:31 CET
Christiaan updated VLC to a February 14th nightly snapshot in SVN, in preparation for updating to the 2.2.0 release which is imminent.

I've been testing locally to make sure there aren't any obvious issues before asking for a freeze push.

One minor packaging issue:
Christiaan added the plugin-vdpau as a requirement of the -devel package, and the plugin-vdpau requires the main vlc package, so now the -devel package transitively requires vlc, which wasn't the case before, and really shouldn't be.

Proper libification of libvlc_vdpau.so should fix that.

The bigger issue is in the Bug title, once libvlccore8, libvlc5, vlc-plugin-common, and vlc-plugin-pulse are updated to 2.2.0 and phonon-vlc is rebuilt against the updated libvlc-devel, if you try to start Amarok it segfaults.

Reproducible: 

Steps to Reproduce:
David Walser 2015-02-17 19:54:07 CET

CC: (none) => cjw, lmenut, mageia, shlomif

Comment 1 David Walser 2015-02-17 19:55:18 CET
Created attachment 5927 [details]
KCrash dump backtrace of Amarok segfault

I don't have debuginfo packages installed, so the backtrace isn't as detailed as it could be.  I'm wondering if the issue is a simple conflict between the Qt4 that Phonon is built against and Qt5 that VLC is built against, or if there's more to it.  Maybe someone has an idea?
Comment 2 Christiaan Welvaart 2015-02-17 21:26:19 CET
We could also remove the dependency of vlc-plugin-vdpau on vlc... The vdpau lib is in a subdir so it can't be properly packaged as-is. Of course an improper library package is an option as well (:
Comment 3 David Walser 2015-02-17 21:58:05 CET
(In reply to Christiaan Welvaart from comment #2)
> We could also remove the dependency of vlc-plugin-vdpau on vlc... The vdpau
> lib is in a subdir so it can't be properly packaged as-is. Of course an
> improper library package is an option as well (:

Ahh, true.  Yeah you could drop that dep and also remove the libvlc_vdpau.so file from the devel package, as it's probably not really needed by anything.

Summary: VLC 2.2.0 kills amarok => VLC 2.2.0 kills phonon

Comment 4 David Walser 2015-02-17 21:59:32 CET
Created attachment 5928 [details]
KCrash dump backtrace of systemsettings multimedia/phonon module

If I try to go to the Multimedia module in systemsettings to configure the phonon backend, I get a similar backtrace, so this problem is really with phonon, not specific to Amarok.
Comment 5 David Walser 2015-02-17 22:00:29 CET
Christiaan pointed out to me on IRC that if you remove /usr/lib/vlc/plugins/gui/libqt4_plugin.so, the crashes go away and things work.
Comment 6 David Walser 2015-02-17 22:23:32 CET
Rémi pointed out that this is the same as this issue:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755154

It looks like the solution is to have vlc-plugin-common *not* ship the /usr/lib/vlc/plugins/plugins.dat file, and have it install file trigger that matches on /usr/lib/vlc/plugins/*/*.so and runs /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins
Comment 7 David Walser 2015-02-17 22:24:40 CET
And indeed, after running that command, Amarok and systemsettings module work.
Rémi Verschelde 2015-02-17 23:00:19 CET

CC: (none) => remi

Comment 8 Christiaan Welvaart 2015-02-18 08:30:33 CET
I added a rpm file trigger in vlc-plugin-common, in svn. Please review and test if this fixes the crashes.
Christiaan Welvaart 2015-02-18 13:40:17 CET

Summary: VLC 2.2.0 kills phonon => Applications that use libvlc and a Qt version different from the one vlc was linked against crash because libqt4_plugin.so is loaded

Comment 9 Christiaan Welvaart 2015-02-18 13:42:32 CET
*** Bug 14623 has been marked as a duplicate of this bug. ***

CC: (none) => loginov_alex

Comment 10 David Walser 2015-02-18 17:07:26 CET
Looks good.  I made extra sure that the plugins.dat file isn't shipped in the package, and I also cleaned up the messy cosmetics in the SPEC.  Freeze push request sent.
Comment 11 David Walser 2015-02-18 23:35:07 CET
vlc-2.2.0-0.rc2.2.mga5 is now uploaded, fixing this.

Status: NEW => RESOLVED
Resolution: (none) => FIXED