Opened 11 years ago

Closed 11 years ago

#2598 closed defect (fixed)

ffmpeg hangs when given any invalid option

Reported by: 191919 Owned by:
Priority: important Component: avformat
Version: git-master Keywords: md5 regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
ffmpeg hangs when given any invalid option

How to reproduce:

% ffmpeg -aaa bbb
ffmpeg version N-54349-g714aacc Copyright (c) 2000-2013 the FFmpeg developers
  built on May 22 2013 09:34:58 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --enable-shared --disable-static --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree --enable-libmp3lame --enable-libopus --enable-libaacplus
  libavutil      52. 33.100 / 52. 33.100
  libavcodec     55. 10.101 / 55. 10.101
  libavformat    55.  7.100 / 55.  7.100
  libavdevice    55.  1.100 / 55.  1.100
  libavfilter     3. 68.103 /  3. 68.103
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
^C^C^CReceived signal 2: terminating.

Change History (11)

comment:1 by Clément Bœsch, 11 years ago

I think this is a bug in the Mac LLVM. Can you try with another compiler?

comment:2 by Carl Eugen Hoyos, 11 years ago

Please provide backtrace etc. as explained on http://ffmpeg.org/bugreports.html to make this a valid ticket.

in reply to:  description comment:3 by Carl Eugen Hoyos, 11 years ago

Replying to 191919:

% ffmpeg -aaa bbb
ffmpeg version N-54349-g714aacc

The current version is 53346, and git doesn't know about 714aacc so I suggest you test FFmpeg first.

comment:4 by 191919, 11 years ago

This is what I got by running OS X's sample utility. It looked like there was an infinite loop in the code to match the codec.

Sampling process 990 for 10 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Sample analysis of process 990 written to file /tmp/ffmpeg_2013-05-22_182323_uh3s.sample.txt

Analysis of sampling ffmpeg (pid 990) every 1 millisecond
Process:         ffmpeg [990]
Path:            /usr/local/bin/ffmpeg
Load Address:    0x10cb5a000
Identifier:      ffmpeg
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  bash [987]

Date/Time:       2013-05-22 18:23:23.995 +0800
OS Version:      Mac OS X 10.8.3 (12D78)
Report Version:  7

Call graph:
    9166 Thread_48551   DispatchQueue_1: com.apple.main-thread  (serial)
      9137 start  (in libdyld.dylib) + 1  [0x7fff8900f7e1]
      + 9137 main  (in ffmpeg) + 191  [0x10cb6e91f]
      +   9137 ffmpeg_parse_options  (in ffmpeg) + 121  [0x10cb5dd69]
      +     9137 split_commandline  (in ffmpeg) + 1117  [0x10cb7309d]
      +       9137 opt_default  (in ffmpeg) + 317  [0x10cb7142d]
      +         8407 av_opt_find2  (in libavutil.52.dylib) + 295  [0x10dc1f1b7]
      +         ! 2665 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86922  [0x10ccdb922]
      +         ! : 2665 av_iformat_next  (in libavformat.55.dylib) + 23,16,...  [0x10cd18a17,0x10cd18a10,...]
      +         ! 2477 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8691a  [0x10ccdb91a]
      +         ! 737 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86910  [0x10ccdb910]
      +         ! 700 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86925  [0x10ccdb925]
      +         ! 627 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8693e  [0x10ccdb93e]
      +         ! : 627 av_oformat_next  (in libavformat.55.dylib) + 23,16,...  [0x10cd18a37,0x10cd18a30,...]
      +         ! 575 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86936  [0x10ccdb936]
      +         ! 167 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86930  [0x10ccdb930]
      +         ! 91 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86991  [0x10ccdb991]
      +         ! : 91 av_oformat_next  (in libavformat.55.dylib) + 23,0,...  [0x10cd18a37,0x10cd18a20,...]
      +         ! 71 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86922  [0x10ccdb922]
      +         ! 51 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8692a  [0x10ccdb92a]
      +         ! 47 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86970  [0x10ccdb970]
      +         ! 47 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86984  [0x10ccdb984]
      +         ! 29 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86973  [0x10ccdb973]
      +         ! 17 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86939  [0x10ccdb939]
      +         ! 17 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8698c  [0x10ccdb98c]
      +         ! 16 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8693e  [0x10ccdb93e]
      +         ! 14 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86980  [0x10ccdb980]
      +         ! 13 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86966  [0x10ccdb966]
      +         ! 8 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86987  [0x10ccdb987]
      +         ! 7 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86969  [0x10ccdb969]
      +         ! 6 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8692c  [0x10ccdb92c]
      +         ! 5 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x868f0  [0x10ccdb8f0]
      +         ! 5 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8691d  [0x10ccdb91d]
      +         ! 4 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x868f2  [0x10ccdb8f2]
      +         ! 3 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x868fc  [0x10ccdb8fc]
      +         ! 3 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86998  [0x10ccdb998]
      +         ! 2 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x868f3  [0x10ccdb8f3]
      +         ! 2 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x868ff  [0x10ccdb8ff]
      +         ! 1 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86991  [0x10ccdb991]
      +         690 av_opt_find2  (in libavutil.52.dylib) + 338  [0x10dc1f1e2]
      +         ! 440 av_opt_find2  (in libavutil.52.dylib) + 146  [0x10dc1f122]
      +         ! : 440 strcmp  (in libsystem_c.dylib) + 150,156,...  [0x7fff828e73d6,0x7fff828e73dc,...]
      +         ! 250 av_opt_find2  (in libavutil.52.dylib) + 138,107,...  [0x10dc1f11a,0x10dc1f0fb,...]
      +         40 av_opt_find2  (in libavutil.52.dylib) + 338,300,...  [0x10dc1f1e2,0x10dc1f1bc,...]
      10 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8699d  [0x10ccdb99d]
      8 ???  (in <unknown binary>)  [0x7fff530a5dac]
      + 8 av_opt_find2  (in libavutil.52.dylib) + 516  [0x10dc1f294]
      4 ???  (in <unknown binary>)  [0xc1e0000000000000]
      + 4 ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8699c  [0x10ccdb99c]
      3 ff_wmv2_inter_table  (in libavcodec.55.dylib) + 20768  [0x10d4bd060]
      + 2 ff_matroska_video_stereo_plane  (in libavformat.55.dylib) + 8160  [0x10cd8afa0]
      + ! 2 av_opt_find2  (in libavutil.52.dylib) + 515  [0x10dc1f293]
      + 1 ff_matroska_video_stereo_plane  (in libavformat.55.dylib) + 8064  [0x10cd8af40]
      +   1 av_opt_find2  (in libavutil.52.dylib) + 515  [0x10dc1f293]
      2 DYLD-STUB$$strcmp  (in libavutil.52.dylib) + 0  [0x10dc2946c]
      1 ???  (in <unknown binary>)  [0x6e696c3d4d524554]
      + 1 0x0
      +   1 av_opt_find2  (in libavutil.52.dylib) + 524  [0x10dc1f29c]
      1 options  (in ffmpeg) + 5520  [0x10cb7efb0]
        1 av_opt_find2  (in libavutil.52.dylib) + 520  [0x10dc1f298]

Total number in stack (recursive counted multiple, when >=5):
        7       av_opt_find2  (in libavutil.52.dylib) + 0  [0x10dc1f090]

Sort by top of stack, same collapsed (when >= 5):
        av_iformat_next  (in libavformat.55.dylib)        2665
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8691a  [0x10ccdb91a] [STACK TOP]        2477
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86910  [0x10ccdb910] [STACK TOP]        737
        av_oformat_next  (in libavformat.55.dylib)        718
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86925  [0x10ccdb925] [STACK TOP]        700
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86936  [0x10ccdb936] [STACK TOP]        575
        strcmp  (in libsystem_c.dylib)        440
        av_opt_find2  (in libavutil.52.dylib)        303
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86930  [0x10ccdb930] [STACK TOP]        167
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86922  [0x10ccdb922] [STACK TOP]        71
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8692a  [0x10ccdb92a] [STACK TOP]        51
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86970  [0x10ccdb970] [STACK TOP]        47
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86984  [0x10ccdb984] [STACK TOP]        47
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86973  [0x10ccdb973] [STACK TOP]        29
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86939  [0x10ccdb939] [STACK TOP]        17
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8698c  [0x10ccdb98c] [STACK TOP]        17
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8693e  [0x10ccdb93e] [STACK TOP]        16
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86980  [0x10ccdb980] [STACK TOP]        14
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86966  [0x10ccdb966] [STACK TOP]        13
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8699d  [0x10ccdb99d] [STACK TOP]        10
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86987  [0x10ccdb987] [STACK TOP]        8
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x86969  [0x10ccdb969] [STACK TOP]        7
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8692c  [0x10ccdb92c] [STACK TOP]        6
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x868f0  [0x10ccdb8f0] [STACK TOP]        5
        ???  (in libavformat.55.dylib)  load address 0x10cc55000 + 0x8691d  [0x10ccdb91d] [STACK TOP]        5

Binary Images:
       0x10cb5a000 -        0x10cb7cff7 +ffmpeg (??? - ???) <DBBB05C8-5E58-3ED1-99E7-1C2DA00FB181> /usr/local/bin/ffmpeg
       0x10cb8d000 -        0x10cb8efff +libavdevice.55.dylib (55.1.100 - compatibility 55.0.0) <A94B6D0F-BDA4-3F5A-BB6D-71A7187BA9A8> /usr/local/lib/libavdevice.55.dylib
       0x10cb93000 -        0x10cc1ffff +libavfilter.3.dylib (3.68.103 - compatibility 3.0.0) <6C3231B2-7E93-3201-86A7-BA3CF32030A1> /usr/local/lib/libavfilter.3.dylib
       0x10cc55000 -        0x10cd76fef +libavformat.55.dylib (55.7.100 - compatibility 55.0.0) <31272A46-57D1-37C6-A354-C40499879C4F> /usr/local/lib/libavformat.55.dylib
       0x10cda8000 -        0x10d48efb7 +libavcodec.55.dylib (55.10.101 - compatibility 55.0.0) <6B869072-46C5-36F8-9F57-5C2A367AFDDE> /usr/local/lib/libavcodec.55.dylib
       0x10db66000 -        0x10db81ff7 +libpostproc.52.dylib (52.3.100 - compatibility 52.0.0) <BA31D316-F32A-35FE-BECA-06D2C078E4BF> /usr/local/lib/libpostproc.52.dylib
       0x10db84000 -        0x10db96fef +libswresample.0.dylib (0.17.102 - compatibility 0.0.0) <74AADEC7-1EF2-30C0-94FD-99A015F4867C> /usr/local/lib/libswresample.0.dylib
       0x10dba2000 -        0x10dbfffe7 +libswscale.2.dylib (2.3.100 - compatibility 2.0.0) <0E61E12F-A8EA-3D58-9912-10CB6AFBF477> /usr/local/lib/libswscale.2.dylib
       0x10dc10000 -        0x10dc34fef +libavutil.52.dylib (52.33.100 - compatibility 52.0.0) <B2F0AB11-03D2-348D-95DB-F02ADEDA37CD> /usr/local/lib/libavutil.52.dylib
       0x10dc4b000 -        0x10dc8dfe7 +libopus.0.dylib (4.0.0 - compatibility 4.0.0) <36134287-8103-3347-B32C-7333AC4CF4E1> /usr/local/lib/libopus.0.dylib
       0x10dca1000 -        0x10dcdffef +libmp3lame.0.dylib (??? - ???) <42C48FDB-DC63-3BE4-AEEC-069F39DB10D9> /usr/local/lib/libmp3lame.0.dylib
       0x10dd21000 -        0x10dd30fff +libfaac.0.dylib (??? - ???) <0EF7CFD3-ABBD-3A52-AB44-5146169089CC> /usr/local/lib/libfaac.0.dylib
       0x10dd3d000 -        0x10dd6aff7 +libaacplus.2.dylib (3.2.0 - compatibility 3.0.0) <11E156BE-D427-3052-A248-E428DCF95242> /usr/local/lib/libaacplus.2.dylib
    0x7fff6c75a000 -     0x7fff6c78e93f  dyld (210.2 - ???) <A40597AA-5529-3337-8C09-D8A014EB1578> /usr/lib/dyld
    0x7fff8191b000 -     0x7fff81930ff7  libdispatch.dylib (228.23.0 - compatibility 1.0.0) <D26996BF-FC57-39EB-8829-F63585561E09> /usr/lib/system/libdispatch.dylib
    0x7fff81931000 -     0x7fff81943ff7  libz.1.dylib (1.2.5 - compatibility 1.0.0) <2A1551E8-A272-3DE5-B692-955974FE1416> /usr/lib/libz.1.dylib
    0x7fff81963000 -     0x7fff819afff7  libauto.dylib (??? - ???) <73CDC482-16E3-3FC7-9BB4-FBA2DA44DBC2> /usr/lib/libauto.dylib
    0x7fff824de000 -     0x7fff824e3fff  libcache.dylib (57.0.0 - compatibility 1.0.0) <65187C6E-3FBF-3EB8-A1AA-389445E2984D> /usr/lib/system/libcache.dylib
    0x7fff82860000 -     0x7fff8286eff7  libsystem_network.dylib (??? - ???) <0D99F24E-56FE-380F-B81B-4A4C630EE587> /usr/lib/system/libsystem_network.dylib
    0x7fff8286f000 -     0x7fff82875fff  libmacho.dylib (829.0.0 - compatibility 1.0.0) <BF332AD9-E89F-387E-92A4-6E1AB74BD4D9> /usr/lib/system/libmacho.dylib
    0x7fff828e5000 -     0x7fff829b1ff7  libsystem_c.dylib (825.26.0 - compatibility 1.0.0) <4C9EB006-FE1F-3F8F-8074-DFD94CF2CE7B> /usr/lib/system/libsystem_c.dylib
    0x7fff829ff000 -     0x7fff82af4fff  libiconv.2.dylib (7.0.0 - compatibility 7.0.0) <FEE8B996-EB44-37FA-B96E-D379664DEFE1> /usr/lib/libiconv.2.dylib
    0x7fff82ea0000 -     0x7fff82f08ff7  libc++.1.dylib (65.1.0 - compatibility 1.0.0) <20E31B90-19B9-3C2A-A9EB-474E08F9FE05> /usr/lib/libc++.1.dylib
    0x7fff82f60000 -     0x7fff82f68fff  liblaunch.dylib (442.26.2 - compatibility 1.0.0) <2F71CAF8-6524-329E-AC56-C506658B4C0C> /usr/lib/system/liblaunch.dylib
    0x7fff846fb000 -     0x7fff846fdff7  libunc.dylib (25.0.0 - compatibility 1.0.0) <92805328-CD36-34FF-9436-571AB0485072> /usr/lib/system/libunc.dylib
    0x7fff84704000 -     0x7fff84705fff  libsystem_blocks.dylib (59.0.0 - compatibility 1.0.0) <D92DCBC3-541C-37BD-AADE-ACC75A0C59C8> /usr/lib/system/libsystem_blocks.dylib
    0x7fff857ed000 -     0x7fff8581bff7  libsystem_m.dylib (??? - ???) <B434BE5C-25AB-3EBD-BAA7-5304B34E3441> /usr/lib/system/libsystem_m.dylib
    0x7fff86862000 -     0x7fff8686dfff  libsystem_notify.dylib (98.5.0 - compatibility 1.0.0) <C49275CC-835A-3207-AFBA-8C01374927B6> /usr/lib/system/libsystem_notify.dylib
    0x7fff87b78000 -     0x7fff87b79ff7  libSystem.B.dylib (169.3.0 - compatibility 1.0.0) <365477AB-D641-389D-B8F4-A1FAE9657EEE> /usr/lib/libSystem.B.dylib
    0x7fff88ffd000 -     0x7fff88ffdfff  libkeymgr.dylib (25.0.0 - compatibility 1.0.0) <CC9E3394-BE16-397F-926B-E579B60EE429> /usr/lib/system/libkeymgr.dylib
    0x7fff88ffe000 -     0x7fff8900cfff  libcommonCrypto.dylib (50000.0.0 - compatibility 1.0.0) <BAAFE0C9-BB86-3CA7-88C0-E3CBA98DA06F> /usr/lib/system/libcommonCrypto.dylib
    0x7fff8900d000 -     0x7fff89010ff7  libdyld.dylib (210.2.3 - compatibility 1.0.0) <F59367C9-C110-382B-A695-9035A6DD387E> /usr/lib/system/libdyld.dylib
    0x7fff89957000 -     0x7fff8995fff7  libsystem_dnssd.dylib (??? - ???) <616FC901-151E-38BF-B2C4-24A351C5FAAD> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff89962000 -     0x7fff89963ff7  libsystem_sandbox.dylib (??? - ???) <6838A6FD-8626-3356-BB4F-BB4787216207> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff8a568000 -     0x7fff8a583ff7  libsystem_kernel.dylib (2050.22.13 - compatibility 1.0.0) <5A961E2A-CFB8-362B-BC43-122704AEB047> /usr/lib/system/libsystem_kernel.dylib
    0x7fff8a87f000 -     0x7fff8a881fff  libquarantine.dylib (52.0.0 - compatibility 1.0.0) <4BE2E642-A14F-340A-B482-5BD2AEFD9C24> /usr/lib/system/libquarantine.dylib
    0x7fff8a88c000 -     0x7fff8a892ff7  libunwind.dylib (35.1.0 - compatibility 1.0.0) <21703D36-2DAB-3D8B-8442-EAAB23C060D3> /usr/lib/system/libunwind.dylib
    0x7fff8ac7e000 -     0x7fff8accdff7  libcorecrypto.dylib (??? - ???) <CE0C29A3-C420-339B-ADAA-52F4683233CC> /usr/lib/system/libcorecrypto.dylib
    0x7fff8b775000 -     0x7fff8b77afff  libcompiler_rt.dylib (30.0.0 - compatibility 1.0.0) <08F8731D-5961-39F1-AD00-4590321D24A9> /usr/lib/system/libcompiler_rt.dylib
    0x7fff8b942000 -     0x7fff8b94ffff  libbz2.1.0.dylib (1.0.5 - compatibility 1.0.0) <CE9785E8-B535-3504-B392-82F0064D9AF2> /usr/lib/libbz2.1.0.dylib
    0x7fff8bd75000 -     0x7fff8bd9aff7  libc++abi.dylib (26.0.0 - compatibility 1.0.0) <D86169F3-9F31-377A-9AF3-DB17142052E4> /usr/lib/libc++abi.dylib
    0x7fff8bd9b000 -     0x7fff8bd9cff7  libdnsinfo.dylib (453.19.0 - compatibility 1.0.0) <14202FFB-C3CA-3FCC-94B0-14611BF8692D> /usr/lib/system/libdnsinfo.dylib
    0x7fff8c195000 -     0x7fff8c196ff7  libremovefile.dylib (23.2.0 - compatibility 1.0.0) <6763BC8E-18B8-3AD9-8FFA-B43713A7264F> /usr/lib/system/libremovefile.dylib
    0x7fff8c5a1000 -     0x7fff8c5a8fff  libcopyfile.dylib (89.0.0 - compatibility 1.0.0) <876573D0-E907-3566-A108-577EAD1B6182> /usr/lib/system/libcopyfile.dylib
    0x7fff8c5be000 -     0x7fff8c5e0ff7  libxpc.dylib (140.42.0 - compatibility 1.0.0) <BBE558BD-5E55-35E4-89ED-1AA6B056D05A> /usr/lib/system/libxpc.dylib
    0x7fff8c619000 -     0x7fff8c73192f  libobjc.A.dylib (228.0.0 - compatibility 1.0.0) <90D31928-F48D-3E37-874F-220A51FD9E37> /usr/lib/libobjc.A.dylib
    0x7fff8d004000 -     0x7fff8d03afff  libsystem_info.dylib (??? - ???) <4FFCA242-7F04-365F-87A6-D4EFB89503C1> /usr/lib/system/libsystem_info.dylib

comment:5 by Carl Eugen Hoyos, 11 years ago

Could you elaborate on the strange version information that your executable provides? Where did you get the sources from?

comment:6 by 191919, 11 years ago

I got it from git://source.ffmpeg.org/ffmpeg. Anything wrong?

comment:7 by Carl Eugen Hoyos, 11 years ago

As said the version number is too high and git does not know 714aacc indicating that you are not using (vanilla) FFmpeg from source.ffmpeg.org.

comment:8 by 191919, 11 years ago

I have recloned ffmpeg source from git://source.ffmpeg.org/ffmpeg (I guess SourceTree messed up the version number). The problem is still reproducible.

~/ffmpeg$ ffmpeg -aaa bbb
ffmpeg version N-53359-gc54a156 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 23 2013 12:21:45 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --enable-shared --disable-static --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree --enable-libmp3lame --enable-libopus --enable-libaacplus
  libavutil      52. 33.100 / 52. 33.100
  libavcodec     55. 10.101 / 55. 10.101
  libavformat    55.  7.100 / 55.  7.100
  libavdevice    55.  1.101 / 55.  1.101
  libavfilter     3. 69.100 /  3. 69.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
^C^C^CReceived signal 2: terminating.

The output of OS X's sample utility is identical as before.

Since Apple doesn't provide gcc as their compiler, I had to switch to the clang's svn version.

~/ffmpeg$ /opt/bin/clang -v
clang version 3.4 (trunk 182231)
Target: x86_64-apple-darwin12.3.0
Thread model: posix

This time:

~/ffmpeg$ ffmpeg -aaa bbb
ffmpeg version N-53359-gc54a156 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 23 2013 12:32:49 with clang version 3.4 (trunk 182231)
  configuration: --enable-shared --disable-static --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree --enable-libmp3lame --enable-libopus --enable-libaacplus --cc=/opt/bin/clang
  libavutil      52. 33.100 / 52. 33.100
  libavcodec     55. 10.101 / 55. 10.101
  libavformat    55.  7.100 / 55.  7.100
  libavdevice    55.  1.101 / 55.  1.101
  libavfilter     3. 69.100 /  3. 69.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
Unrecognized option 'aaa'.
Error splitting the argument list: Option not found

So the conclusion: it was a bug of Xcode compiler. I will commit a bug to their bug tracker and will try to find which caused the problem.

Thank you all guys.

comment:9 by Carl Eugen Hoyos, 11 years ago

Component: FFmpegavformat
Keywords: md5 regression added
Reproduced by developer: set
Status: newopen

Some information:
The following configure line allows to reproduce the problem

$ ./configure --disable-everything --enable-muxer=framemd5,md5 --disable-asm --disable-yasm --disable-optimizations --extra-cflags=-O2 && make ffmpeg

The problem disappears if libavformat/md5enc.o is compiled with -O1

Reimar suggested to rename the .class_name of the framemd5_class (which works), he has sent a patch.

Different backtraces possible:

0x000000010011eb30 in av_oformat_next ()
(gdb) bt
#0  0x000000010011eb30 in av_oformat_next ()
#1  0x00000001000e250e in format_child_class_next (prev=0x100840e40) at options.c:64
0x00000001000e24e4 in format_child_class_next (prev=0x100843eb0) at options.c:60
60	        if (ifmt->priv_class == prev)
(gdb) bt
#0  0x00000001000e24e4 in format_child_class_next (prev=0x100843eb0) at options.c:60
#1  0x000000010061f907 in av_opt_find2 (obj=0x7fff5fbff6a0, name=0x7fff5fbffc75 "a", unit=0x0, opt_flags=0, search_flags=1606416032, target_obj=0x7fff5fbff6a0) at opt.c:1298
0x000000010011eb20 in av_iformat_next ()
(gdb) bt
#0  0x000000010011eb20 in av_iformat_next ()
#1  0x00000001000e24f2 in format_child_class_next (prev=0x10083b420) at options.c:59

comment:10 by Carl Eugen Hoyos, 11 years ago

Regression since 7d1d596

comment:11 by Carl Eugen Hoyos, 11 years ago

Resolution: fixed
Status: openclosed

Fixed by Reimar.

Note: See TracTickets for help on using tickets.