[FFmpeg-devel] x264_cqm_init segmentation fault with gcc 4.8

Kelly Anderson kelly at xilka.com
Sat Mar 23 18:37:43 CET 2013


I just updated my compiler the other day to gcc 4.8.0.  After rebuilding 
X264 i ran into a segmentation fault int x264_cqm_init and found the 
following post on the trac.

http://comments.gmane.org/gmane.comp.video.ffmpeg.trac/12875

No solution was detailed, so I did a bit of research into the latest gcc 
features to see what may have caused the problem.

As per:
http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses a more aggressive analysis to derive an upper bound for the 
number of iterations of loops using constraints imposed by language 
standards. This may cause non-conforming programs to no longer work as 
expected, such as SPEC CPU 2006 464.h264ref and 416.gamess. A new 
option, |-fno-aggressive-loop-optimizations|, was added to disable this 
aggressive analysis. In some loops that have known constant number of 
iterations, but undefined behavior is known to occur in the loop before 
reaching or during the last iteration, GCC will warn about the undefined 
behavior in the loop instead of deriving lower upper bound of the number 
of iterations for the loop. The warning can be disabled with 
|-Wno-aggressive-loop-optimizations|.

So I added -fno-aggressive-loop-optimizations to the flags and the 
segfault is gone.  If someone has some time maybe they could look at  
x264_cqm_init and see if they can tune it to work properly with 
aggressive loop optimizations turned on.

Regards,

Kelly Anderson



More information about the ffmpeg-devel mailing list