Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 518338 - media-video/{vlc,mplayer,totem}: media-libs/ffmpeg-2.3 broke ABI (?)
Summary: media-video/{vlc,mplayer,totem}: media-libs/ffmpeg-2.3 broke ABI (?)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
: 519664 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-07-27 17:22 UTC by Kobboi
Modified: 2015-03-17 11:36 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2014-07-27 17:22:44 UTC
For the VLC case (only when actually starting a video)

$ vlc
VLC media player 2.1.4 Rincewind (revision 2.1.4-0-g2a072be)
[0x138d148] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
*** Error in `vlc': free(): invalid pointer: 0x00007f3fe4ec09f8 ***

Mplayer had similar issues, but I fixed that one by simply recompiling, which probably works for the VLC case as well, but going to leave that one the way it is for now.


Reproducible: Always
Comment 1 Rafał Mużyło 2014-07-27 20:07:31 UTC
...
If such problem happened in mplayer and recompiling was *actually* the thing that fixed it, it would suggest an ABI break took place, but upstream failed to bump library names.

So, please retest.
Comment 2 Kobboi 2014-07-27 21:09:42 UTC
Well, recompilation of vlc *actually* fixed it.
Comment 3 Kobboi 2014-07-28 07:07:35 UTC
totem dummy.avi 

ERROR: Caught a segmentation fault while loading plugin file:
/usr/lib64/gstreamer-1.0/libgstlibav.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
Comment 4 Rafał Mużyło 2014-07-28 13:41:39 UTC
...:sigh:...

libgstlibav.so isn't totem - it's media-plugins-libav

...and again it seems ffmpeg upstream (interesting question: libav too ?) broke ABI, but didn't bump libraries.
Comment 5 Rafał Mużyło 2014-07-28 15:19:38 UTC
...*media-plugins/gst-plugins-libav*...bah...
Comment 7 Chris Reffett (RETIRED) gentoo-dev Security 2014-07-30 00:23:52 UTC
Hit a similar issue here too (same deal as bug 518356, gst-plugins-ffmpeg). Agreed that these two bugs probably stem from the same issue.
Comment 8 Rafał Mużyło 2014-08-12 01:29:33 UTC
*** Bug 519664 has been marked as a duplicate of this bug. ***
Comment 9 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2014-08-13 17:54:49 UTC
Guessing this needs sub slot operators such that reverse dependencies rebuild.
Comment 10 Rafał Mużyło 2014-08-13 18:01:44 UTC
(In reply to Tom Wijsman (TomWij) from comment #9)
> Guessing this needs sub slot operators such that reverse dependencies
> rebuild.

Pretty much what I've already written - the subslot is based upon library versions and upstream failed to bump those when they've broken ABI.
Comment 11 Alexis Ballier gentoo-dev 2014-08-13 20:34:26 UTC
(In reply to Tom Wijsman (TomWij) from comment #9)
> Guessing this needs sub slot operators such that reverse dependencies
> rebuild.

eww no, offending packages need to be fixed; this is likely due to deprecated usage of ffmpeg api
Comment 12 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2014-08-13 21:45:45 UTC
(In reply to Alexis Ballier from comment #11)
> eww no, offending packages need to be fixed; this is likely due to
> deprecated usage of ffmpeg api

For VLC, comment #2 rules that out; deprecated usage doesn't allow recompilation.
Comment 13 Alexis Ballier gentoo-dev 2014-08-14 06:31:19 UTC
(In reply to Tom Wijsman (TomWij) from comment #12)
> (In reply to Alexis Ballier from comment #11)
> > eww no, offending packages need to be fixed; this is likely due to
> > deprecated usage of ffmpeg api
> 
> For VLC, comment #2 rules that out; deprecated usage doesn't allow
> recompilation.

did you have a look at the code ?

what I've seen is an AVFrame allocated on the stack while the API is clear that it should use ffmpeg's provided allocator. with refcounted frames, guess what happens when it automatically freees it.
Comment 14 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2014-08-14 11:13:00 UTC
(In reply to Alexis Ballier from comment #13)
> did you have a look at the code ?

No, there is no need for it; not a code problem, because a rebuild suffices.
Comment 15 Rafał Mużyło 2014-08-14 17:03:26 UTC
I thought the maintainers already knew...

FF_INPUT_BUFFER_PADDING_SIZE has been changed.
Due to the heavy use of that var not only in avcodec, but also in avformat (and a mention in avdevice) the library versions should have been bump, but upstream failed to do it.

I can't be 100% all of this comes from there (as I didn't test), but I strongly suspect that it does in most of these cases.
Comment 16 Alexis Ballier gentoo-dev 2015-03-17 11:36:35 UTC
seems to be fixed in 2.4+; ffmpeg 2.3 has been dropped a while ago