Opened 11 years ago

Closed 11 years ago

#2560 closed defect (invalid)

Xcode 4.6.2 (Apple clang 425.0.28) breaks tests (4.6.1 -> clang 425.0.27 was ok)

Reported by: Hanspeter Niederstrasser Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: osx
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

OS X 10.7/xcode 4.6.2

This is the build log output:

TEST    force_key_frames
/src/ffmpeg/tests/fate-run.sh fate-force_key_frames "/src/ffmpeg/fate-suite" "" "/src/ffmpeg/build" 'enc_dec "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth2.yuv avi "-c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5" framecrc "" "" "-skip_frame nokey"' '' '' '' '' '' '' '' '' '' '' ''
 /src/ffmpeg/build/ffmpeg -nostats -cpuflags all -f rawvideo -s 352x288 -pix_fmt yuv420p -threads 1 -idct simple -flags +bitexact -sws_flags +accurate_rnd+bitexact -threads 1 -thread_type frame+slice -i /src/ffmpeg/build/tests/data/vsynth2.yuv -threads 1 -idct simple -dct fastint -c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -f avi -y /src/ffmpeg/build/tests/data/fate/force_key_frames.avi
 /src/ffmpeg/build/ffmpeg -nostats -cpuflags all -skip_frame nokey -threads 1 -idct simple -flags +bitexact -sws_flags +accurate_rnd+bitexact -threads 1 -thread_type frame+slice -i /src/ffmpeg/build/tests/data/fate/force_key_frames.avi -threads 1 -idct simple -dct fastint -flags +bitexact -sws_flags +accurate_rnd+bitexact -f framecrc -y /src/ffmpeg/build/tests/data/fate/force_key_frames.out.framecrc
--- /src/ffmpeg/tests/ref/fate/force_key_frames	2013-02-19 20:12:56.000000000 -0500
+++ tests/data/fate/force_key_frames	2013-05-10 18:20:40.000000000 -0400
@@ -1,4 +1,4 @@
-5423335cd809e631a2e03f97585348e0 *tests/data/fate/force_key_frames.avi
+5423335cd809e631a2e03f97585348e0  tests/data/fate/force_key_frames.avi
 113308 tests/data/fate/force_key_frames.avi
-8f68ad2e602ecd87a3e0c097ba99d773 *tests/data/fate/force_key_frames.out.framecrc
+8f68ad2e602ecd87a3e0c097ba99d773  tests/data/fate/force_key_frames.out.framecrc
 stddev:34363.01 PSNR:  5.61 MAXDIFF:56305 bytes:  7603200/      186
Test force_key_frames failed. Look at tests/data/fate/force_key_frames.err for details.
make: *** [fate-force_key_frames] Error 1
make: Leaving directory `/src/ffmpeg/build'

tests/data/fate/force_key_frames.err:

ffmpeg version N-52966-ga9705e4 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 10 2013 18:18:42 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
  configuration: --prefix=/usr/local/ffmpeg-clang --samples=/src/ffmpeg/fate-suite --enable-shared --disable-static --enable-gpl --enable-version3 --enable-pthreads --enable-vda --enable-bzlib --enable-frei0r --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libcelt --enable-libcdio --enable-libfreetype --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libquvi --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-zlib --extra-cflags='-I/sw/include -I/usr/X11R6/include' --extra-ldflags='-L/sw/lib/libopenjpeg -L/sw/lib -L/usr/X11R6/lib' --cc=clang
  libavutil      52. 30.100 / 52. 30.100
  libavcodec     55.  7.100 / 55.  7.100
  libavformat    55.  4.101 / 55.  4.101
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 64.100 /  3. 64.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
[rawvideo @ 0x7fba0a83d800] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from '/src/ffmpeg/build/tests/data/vsynth2.yuv':
  Duration: 00:00:02.00, start: 0.000000, bitrate: 30412 kb/s
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, 30412 kb/s, 25 tbr, 25 tbn, 25 tbc
Please use -q:a or -q:v, -qscale is ambiguous
Output #0, avi, to '/src/ffmpeg/build/tests/data/fate/force_key_frames.avi':
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 352x288, q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> mpeg4)
Press [q] to stop, [?] for help
frame=   50 fps=0.0 q=10.0 Lsize=     111kB time=00:00:02.00 bitrate= 453.2kbits/s    
video:104kB audio:0kB subtitle:0 global headers:0kB muxing overhead 6.459463%
ffmpeg version N-52966-ga9705e4 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 10 2013 18:18:42 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
  configuration: --prefix=/usr/local/ffmpeg-clang --samples=/src/ffmpeg/fate-suite --enable-shared --disable-static --enable-gpl --enable-version3 --enable-pthreads --enable-vda --enable-bzlib --enable-frei0r --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libcelt --enable-libcdio --enable-libfreetype --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libquvi --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-zlib --extra-cflags='-I/sw/include -I/usr/X11R6/include' --extra-ldflags='-L/sw/lib/libopenjpeg -L/sw/lib -L/usr/X11R6/lib' --cc=clang
  libavutil      52. 30.100 / 52. 30.100
  libavcodec     55.  7.100 / 55.  7.100
  libavformat    55.  4.101 / 55.  4.101
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 64.100 /  3. 64.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
Input #0, avi, from '/src/ffmpeg/build/tests/data/fate/force_key_frames.avi':
  Duration: 00:00:02.00, start: 0.000000, bitrate: 453 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46), yuv420p, 352x288 [SAR 1:1 DAR 11:9], 25 tbr, 25 tbn, 25 tbc
Output #0, framecrc, to '/src/ffmpeg/build/tests/data/fate/force_key_frames.out.framecrc':
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288 [SAR 1:1 DAR 11:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 -> rawvideo)
Press [q] to stop, [?] for help
frame=    3 fps=0.0 q=0.0 Lsize=       0kB time=00:00:01.56 bitrate=   1.0kbits/s    
video:446kB audio:0kB subtitle:0 global headers:0kB muxing overhead -99.959228%

Running tests used to work with Xcode 4.6.1, which used a slightly older clang revision (425.0.27). There are two fate machines using 425.0.27, so it's clear that revision of Xcode/clang is OK. It's unclear from "force_key_frames.err" what the actual error is (if it's even a compiler error or some other system file updated by this Xcode). The diff is just an "*" before the file names.

Change History (5)

comment:1 by Carl Eugen Hoyos, 11 years ago

Keywords: osx added

What does md5 -v or md5 --version report for old and new Xcode?
Or is there a md5sum executable?

comment:2 by Hanspeter Niederstrasser, 11 years ago

(Mostly) False alarm.

The Xcode update is not the cause, it just happened right before the failures started and I figured it would be the most likely cause. Found the problem thanks to your md5/md5sum hint.

dpkg was updated on this machine at around the same time, and the newer dpkg we are using in Fink no longer carries md5sum. Because md5sum is still used for some things, we have a wrapper replacing it, but it uses /sbin/md5 behind the scenes. If I modify ffmpeg/tests/md5.sh to search for /sbin/md5 first, then the tests pass. Clearly the wrapper is not 100% equivalent to the binary md5sum (our maintainer has been informed).

So if anything, maybe the search order logic in md5.sh might need to be modified, but otherwise this isn't really a bug in FFmpeg. Sorry about the noise.

comment:3 by Carl Eugen Hoyos, 11 years ago

If you *don't* modify anything in the FFmpeg sources:
What does 'which md5' show, what does 'which md5sum' show?

FFmpeg fate is supposed to also work if md5 is installed but md5sum is not.

comment:4 by Hanspeter Niederstrasser, 11 years ago

$ which md5
/sbin/md5 <- untouched system version

$ which md5sum
/sw/bin/md5sum

/sw/bin/md5sum is (now) a Fink-derived perl wrapper to /sbin/md5. When tests worked, /sw/bin/md5sum was a binary that came with dpkg-1.10.

comment:5 by Carl Eugen Hoyos, 11 years ago

Resolution: invalid
Status: newclosed

Then I suggest to remove /sw/bin/md5sum and please consider reporting this bug to fink.

Note: See TracTickets for help on using tickets.