Bug 3329

Summary: Problem playing H264 videos; libavcodec_plugin cannot be dlopen-ed and had to be specified as an LD_PRELOAD
Product: Fedora Reporter: Michel Alexandre Salim <michel>
Component: vlcAssignee: Nicolas Chauvet <kwizart>
Status: RESOLVED MOVED    
Severity: normal CC: matteo-ml
Priority: P5    
Version: 21   
Hardware: All   
OS: GNU/Linux   
namespace:

Description Michel Alexandre Salim 2014-08-12 11:21:35 CEST
Software components:
vlc-core-2.1.5-2.fc21.x86_64
x264-libs-0.142-6.20140728gitaf8e768.fc21.x86_64
ffmpeg-libs-2.3.1-1.fc21.x86_64


I'm trying to play a downloaded H264 video (treynor.mp4, downloadable from https://www.usenix.org/conference/srecon14/technical-sessions/presentation/keys-sre) and got the following error:

[0x7f8875151458] main decoder error: corrupt module: /usr/lib64/vlc/plugins/codec/libavcodec_plugin.so
[0x7f8875151458] main decoder error: no suitable decoder module for fourcc `h264'. VLC probably does not support this sound or video format.

Upon running in higher verbosity (using -v3) the following log is produced:

[0x7f9174c01518] mp4 stream warning: unknown box type colr (incompletely loaded)
[0x7f9174c01518] mp4 stream warning: unknown box type fiel (incompletely loaded)
[0x7f9174c01518] mp4 stream warning: unknown box type titl (incompletely loaded)
[0x7f9174c01788] mp4 demux warning: elst box found
[0x7f9174c01788] mp4 demux warning: elst box found
[0x7f9174c01788] mp4 demux warning: CTTS table
[0x7f9175151538] main decoder warning: cannot load module `/usr/lib64/vlc/plugins/codec/libavcodec_plugin.so' (dlopen: cannot load any more object with static TLS)
[0x7f9175151538] main decoder error: corrupt module: /usr/lib64/vlc/plugins/codec/libavcodec_plugin.so
[0x7f9175151538] main decoder error: no suitable decoder module for fourcc `h264'. VLC probably does not support this sound or video format.

which seems related to this problem previously reported to the libc mailing list:
https://www.cygwin.com/ml/libc-help/2013-11/msg00033.html

I'm currently circumventing it by setting LD_PRELOAD=/usr/lib64/vlc/plugins/codec/libavcodec_plugin.so
Comment 1 Nicolas Chauvet 2014-09-24 23:21:43 CEST
Resolved by a glibc update (tls issue)