Opened 4 years ago

Closed 4 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 Changed 4 years ago by ubitux

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

comment:2 Changed 4 years ago by cehoyos

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

comment:3 in reply to: ↑ description Changed 4 years ago by cehoyos

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 Changed 4 years ago by 191919

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 Changed 4 years ago by cehoyos

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

comment:6 Changed 4 years ago by 191919

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

comment:7 Changed 4 years ago by cehoyos

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 Changed 4 years ago by 191919

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 Changed 4 years ago by cehoyos

  • Component changed from FFmpeg to avformat
  • Keywords md5 regression added
  • Reproduced by developer set
  • Status changed from new to open

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 Changed 4 years ago by cehoyos

Regression since 7d1d596

comment:11 Changed 4 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed by Reimar.

Note: See TracTickets for help on using tickets.