[FFmpeg-trac] #2093(avcodec:new): ffplay: crash when seeking with the mouse

FFmpeg trac at avcodec.org
Thu Jan 3 15:23:51 CET 2013


#2093: ffplay: crash when seeking with the mouse
-------------------------------------+-------------------------------------
             Reporter:  ami_stuff    |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  crash        |               Blocked By:
  SIGSEGV leak                       |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by ami_stuff):

 by default there is no output to console when program is linked to libsdl
 under mingw.

 here is an output from modified libsdl + ffplay combination (not my
 build):

 {{{
 C:\>ffplay problem.rm
 ffplay version N-48409-g43adc62 Copyright (c) 2003-2013 the FFmpeg
 developers
   built on Jan  2 2013 18:44:16 with gcc 4.7.2 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-av
 isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls
 --enab
 le-libass --enable-libbluray --enable-libcaca --enable-libfreetype
 --enable-libg
 sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-
 amrwb --e
 nable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --e
 nable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
 amrwben
 c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs
 --enable-
 libxvid --enable-zlib
   libavutil      52. 13.100 / 52. 13.100
   libavcodec     54. 85.100 / 54. 85.100
   libavformat    54. 59.100 / 54. 59.100
   libavdevice    54.  3.102 / 54.  3.102
   libavfilter     3. 30.102 /  3. 30.102
   libswscale      2.  1.103 /  2.  1.103
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  2.100 / 52.  2.100
 [rm @ 02607b60] Unsupported stream type 000003a4
 [rm @ 02607b60] Unsupported stream type 00000292
 [rm @ 02607b60] DATA tag in middle of chunk, file may be broken.
 [rm @ 02607b60] DTS discontinuity in stream 3: packet 10 with DTS 2228226,
 packe
 t 11 with DTS 8453465
 [rm @ 02607b60] DTS discontinuity in stream 3: packet 15 with DTS 8462709,
 packe
 t 16 with DTS 311043454
 [rm @ 02607b60] DTS discontinuity in stream 3: packet 36 with DTS 164687,
 packet
  37 with DTS 209101495
 [rm @ 02607b60] DTS discontinuity in stream 3: packet 59 with DTS 16297,
 packet
 60 with DTS 8487753
 [rm @ 02607b60] DTS discontinuity in stream 3: packet 67 with DTS 8520781,
 packe
 t 68 with DTS 914045114
 [rm @ 02607b60] max_analyze_duration 5000000 reached at 5000000
 Input #0, rm, from 'problem.rm':
   Metadata:
     Audiences       : 16k Substream for 28k Dial-up;28k Dial-up;56k Dial-
 up;256k
  DSL or Cable;
     audioMode       : music
     Creation Date   : 4/30/2005 11:23:03
     Generated By    : RealProducer(R) Plus 10.0 for Windows, Build
 10.0.0.545
     Modification Date: 4/30/2005 11:29:42
     videoMode       : normal
     ASMRuleBook     : #($Bandwidth < 20000),Stream7Bandwidth = 10000,
 Stream8Ban
 dwidth = 6000;#($Bandwidth >= 20000) && ($Bandwidth < 34000),Stream7B
     title           :
     author          :
     copyright       : (C) 2004
     comment         :
   Duration: 00:03:43.49, start: 0.000000, bitrate: 292 kb/s
     Stream #0:0: Data: none
     Stream #0:1: Data: none
     Stream #0:2: Video: rv40 (RV40 / 0x30345652), yuv420p, 360x288, 10
 kb/s, 15
 fps, 15 tbr, 1k tbn, 1k tbc
     Stream #0:3: Video: rv40 (RV40 / 0x30345652), yuv420p, 360x288, 12
 kb/s, 15
 fps, 15 tbr, 1k tbn, 1k tbc
     Stream #0:4: Video: rv40 (RV40 / 0x30345652), yuv420p, 360x288, 26
 kb/s, 15
 fps, 15 tbr, 1k tbn, 1k tbc
     Stream #0:5: Video: rv40 (RV40 / 0x30345652), yuv420p, 360x288, 180
 kb/s, 25
  fps, 25 tbr, 1k tbn, 1k tbc
     Stream #0:6: Audio: cook (cook / 0x6B6F6F63), 8000 Hz, mono, fltp, 6
 kb/s
     Stream #0:7: Audio: cook (cook / 0x6B6F6F63), 8000 Hz, mono, fltp, 8
 kb/s
     Stream #0:8: Audio: cook (cook / 0x6B6F6F63), 44100 Hz, stereo, fltp,
 44 kb/
 s
     Stream #0:9: Video: rv40 (RV40 / 0x30345652), yuv420p, 360x288, 10
 kb/s, 15
 fps, 15 tbr, 1k tbn, 1k tbc
 [rv40 @ 0260f040] First slice header is incorrect
     La   0.73 A-V:  0.000 fd=   0 aq= st message repeate   0KB vq=  742KB
 d 50 t
      0.88 A-V:  0.000  fd=   0 aq=    0KB Last message repe vq=  532KB sq=
 ate
       0.94 A-V:  0.00 Last message repe0 fd=   0 aq=    0ated 79 timess
 [rv40 @ 0260f040] KB vq=    0KB sq= Changing dimensions to 160x132
 [rv40 @ 0260f040] Need DQUANT
     Last message repeated 1 times
 [rv40 @ 0260f040] New frame but still 79 MB left.
 [rv40 @ 0260f040] concealing 79 DC, 79 AC, 79 MV errors in I frame
    0.97 A-V: [rv40 @ 0260f040] First slice header is incorrect
     Last messag   1.00 A-V:  0.000 fd=   0 aqe repeated 1 times=    0KB
 vq=    0
     Last message repeated 11 times 0KB vq=    0KB sq=    0B f=0/0
 [rm @ 02607b60] DATA tag in middle of chunk, file may be broken.
 [rv40 @ 0260f040] First slice header is incorrect
     Last message repeated 28 times 0KB vq=    0KB sq=    0B f=0/0   es
 Frame changed from size:0x0 to size:160x132
 Seek to 19% ( 0:00:43) of total duration ( 0:03:43)         0B f=0/0
 [rm @ 02607b60] DATA tag in middle of chunk, file may be broken.
    2.62 A-V:-55 310.98   Las1 fd= t mess  0 aqage re=    0peatedKB vq= 2
 tim
 peated 2 times  0B t messf=0/0 age re
 [rv40 @ 0260f040] First slice header is incorrect
  message rep   Last meseated 5 timsage repeatesKd 4 tiB sq= mes
 [rm @ 02607b60] DATA tag in middle of chunk, file may be broken.
 [rv40 @ 0260f040] First slice header is incorrect
     Last message repeated 69 times rB f=0/epeate0     d 25 t 0KB vimes
 [rv40 @ 0260f040] New frame but still 88 MB left.
 [rv40 @ 0260f040] concealing 88 DC, 88 AC, 88 MV errors in I frame
    3.94 A-V:-55310.981 fd=   0 aq=    0KB vq=  496KB sq=    0B f=0/0
 }}}

 {{{
 (gdb) r problem.rm
 Starting program: d:\mingw\msys\1.0\ffmpeg-head-7d66bc7\ffplay_g.exe
 problem.rm
 [New Thread 248.0x6c0]
 [New Thread 248.0x6d0]
 [New Thread 248.0x464]
 [New Thread 248.0x4a4]
 [New Thread 248.0x6b4]
 [New Thread 248.0x134]
 [New Thread 248.0x798]
 [New Thread 248.0x1b0]

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 248.0x798]
 0x0067ba93 in ff_MPV_frame_end (s=0x4d97048) at
 libavcodec/mpegvideo.c:1592
 1592        s->last_lambda_for [s->pict_type] =
 s->current_picture_ptr->f.qualit
 y;
 (gdb) bt
 #0  0x0067ba93 in ff_MPV_frame_end (s=0x4d97048)
     at libavcodec/mpegvideo.c:1592
 #1  0x009ca897 in ff_rv34_decode_frame (avctx=0x4d77760, data=0x515b008,
     got_picture_ptr=0xfabfefc, avpkt=0xfabfbf0) at libavcodec/rv34.c:1656
 #2  0x00561a5e in avcodec_decode_video2 (avctx=0x4d77760,
 picture=0x515b008,
     got_picture_ptr=0xfabfefc, avpkt=0xfabfe90) at libavcodec/utils.c:1621
 #3  0x00402245 in get_video_frame (serial=<optimized out>,
     pkt=<optimized out>, pts=<optimized out>, frame=<optimized out>,
     is=<optimized out>) at ffplay.c:1663
 #4  video_thread (arg=0x4bb0020) at ffplay.c:1837
 #5  0x681097ee in SDL_RunThread (data=0x4de2620)
     at ./src/thread/SDL_thread.c:204
 #6  0x681327d3 in RunThread (data=0x51f3e08)
     at ./src/thread/win32/SDL_systhread.c:74
 #7  RunThreadViaBeginThreadEx (data=0x51f3e08)
     at ./src/thread/win32/SDL_systhread.c:95
 #8  0x77c2a3b0 in msvcrt!_endthreadex () from
 C:\WINDOWS\system32\msvcrt.dll
 #9  0x7c80b729 in KERNEL32!GetModuleFileNameA ()
    from C:\WINDOWS\system32\kernel32.dll
 #10 0x00000000 in ?? ()
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x67ba73 to 0x67bab3:
    0x0067ba73 <ff_MPV_frame_end+39>:    add    %eax,(%eax)
    0x0067ba75 <ff_MPV_frame_end+41>:    add    %ch,%al
    0x0067ba77 <ff_MPV_frame_end+43>:    sub
 %ebx,0x7401a800(%esi,%eax,2)
    0x0067ba7e <ff_MPV_frame_end+50>:    add    (%edi),%cl
    0x0067ba80 <ff_MPV_frame_end+52>:    ja     0x67ba0d
 <ff_MPV_frame_start+2741
 >
    0x0067ba82 <ff_MPV_frame_end+54>:    andl
 $0xffffff83,-0x76ffffec(%eax)
    0x0067ba89 <ff_MPV_frame_end+61>:    test   $0x14,%al
    0x0067ba8b <ff_MPV_frame_end+63>:    add    %al,(%eax)
    0x0067ba8d <ff_MPV_frame_end+65>:    mov    0x1400(%ebx),%edx
 => 0x0067ba93 <ff_MPV_frame_end+71>:    mov    0xa8(%edx),%ecx
    0x0067ba99 <ff_MPV_frame_end+77>:    mov    %ecx,0x14c0(%ebx,%eax,4)
    0x0067baa0 <ff_MPV_frame_end+84>:    cmp    $0x3,%eax
    0x0067baa3 <ff_MPV_frame_end+87>:    je     0x67baab
 <ff_MPV_frame_end+95>
    0x0067baa5 <ff_MPV_frame_end+89>:    mov    %eax,0x14ac(%ebx)
    0x0067baab <ff_MPV_frame_end+95>:    mov    0x38(%ebx),%esi
    0x0067baae <ff_MPV_frame_end+98>:    test   %esi,%esi
    0x0067bab0 <ff_MPV_frame_end+100>:   je     0x67bb38
 <ff_MPV_frame_end+236>
 End of assembler dump.
 (gdb) info all-registers
 eax            0x1      1
 ecx            0x0      0
 edx            0x0      0
 ebx            0x4d97048        81358920
 esp            0xfabfa80        0xfabfa80
 ebp            0x108    0x108
 esi            0x0      0
 edi            0x4d9d805        81385477
 eip            0x67ba93 0x67ba93 <ff_MPV_frame_end+71>
 eflags         0x10202  [ IF RF ]
 cs             0x1b     27
 ss             0x23     35
 ds             0x23     35
 es             0x23     35
 fs             0x3b     59
 gs             0x0      0
 st0            -nan(0x001010101)        (raw 0xffff0000000001010101)
 st1            0        (raw 0x00000000000000000000)
 st2            0        (raw 0x00000000000000000000)
 st3            0        (raw 0x00000000000000000000)
 st4            0        (raw 0x00000000000000000000)
 st5            0        (raw 0x00000000000000000000)
 st6            1000000  (raw 0x4012f424000000000000)
 st7            1357222889.84375 (raw 0x401da1cb27d3b0000000)
 fctrl          0xffff027f       -64897
 fstat          0xffff0020       -65504
 ftag           0xffffffff       -1
 fiseg          0x0      0
 fioff          0x0      0
 foseg          0xffff0000       -65536
 fooff          0x0      0
 fop            0x0      0
 xmm0           {v4_float = {0x0, 0x0, 0x2, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xc, 0x9c, 0x91, 0x7c, 0x0, 0x0,
 0x8d,
     0x4, 0x68, 0x0, 0x0, 0x40, 0xdb, 0x1, 0x91, 0x7c}, v8_int16 = {0x9c0c,
     0x7c91, 0x0, 0x48d, 0x68, 0x4000, 0x1db, 0x7c91}, v4_int32 =
 {0x7c919c0c,
     0x48d0000, 0x40000068, 0x7c9101db}, v2_int64 = {0x48d00007c919c0c,
     0x7c9101db40000068}, uint128 = 0x7c9101db40000068048d00007c919c0c}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xc0, 0x27, 0x13, 0x68, 0x88, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0xfa, 0x9f, 0x91, 0x7c}, v8_int16 = {0x27c0,
     0x6813, 0x88, 0x0, 0x0, 0x0, 0x9ffa, 0x7c91}, v4_int32 = {0x681327c0,
     0x88, 0x0, 0x7c919ffa}, v2_int64 = {0x88681327c0, 0x7c919ffa00000000},
   uint128 = 0x7c919ffa0000000000000088681327c0}
 xmm2           {v4_float = {0x0, 0x0, 0x2, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xc, 0x9c, 0x91, 0x7c, 0x0, 0x0,
 0x8d,
     0x4, 0x60, 0x0, 0x0, 0x40, 0xdb, 0x1, 0x91, 0x7c}, v8_int16 = {0x9c0c,
     0x7c91, 0x0, 0x48d, 0x60, 0x4000, 0x1db, 0x7c91}, v4_int32 =
 {0x7c919c0c,
     0x48d0000, 0x40000060, 0x7c9101db}, v2_int64 = {0x48d00007c919c0c,
     0x7c9101db40000060}, uint128 = 0x7c9101db40000060048d00007c919c0c}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xb8, 0x7f, 0x13, 0x5, 0x8, 0x0, 0x0,
     0x0, 0x98, 0x7c, 0x13, 0x5, 0xfa, 0x9f, 0x91, 0x7c}, v8_int16 =
 {0x7fb8,
     0x513, 0x8, 0x0, 0x7c98, 0x513, 0x9ffa, 0x7c91}, v4_int32 =
 {0x5137fb8,
     0x8, 0x5137c98, 0x7c919ffa}, v2_int64 = {0x805137fb8,
     0x7c919ffa05137c98}, uint128 = 0x7c919ffa05137c980000000805137fb8}
 xmm4           {v4_float = {0x0, 0x0, 0x2, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xc, 0x9c, 0x91, 0x7c, 0x0, 0x0,
 0x8d,
     0x4, 0x60, 0x0, 0x0, 0x40, 0xdb, 0x1, 0x91, 0x7c}, v8_int16 = {0x9c0c,
     0x7c91, 0x0, 0x48d, 0x60, 0x4000, 0x1db, 0x7c91}, v4_int32 =
 {0x7c919c0c,
     0x48d0000, 0x40000060, 0x7c9101db}, v2_int64 = {0x48d00007c919c0c,
     0x7c9101db40000060}, uint128 = 0x7c9101db40000060048d00007c919c0c}
 xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0xb8, 0x7f, 0x13, 0x5, 0x10, 0x0, 0x0, 0x0, 0x98, 0x7c,
 0x13,
     0x5, 0x4c, 0x7, 0x0, 0x0}, v8_int16 = {0x7fb8, 0x513, 0x10, 0x0,
 0x7c98,
     0x513, 0x74c, 0x0}, v4_int32 = {0x5137fb8, 0x10, 0x5137c98, 0x74c},
   v2_int64 = {0x1005137fb8, 0x74c05137c98},
   uint128 = 0x0000074c05137c980000001005137fb8}
 xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x50, 0xfd, 0x6, 0x5, 0x91, 0x25, 0x13,
     0x68, 0xa4, 0xfa, 0x6, 0x5}, v8_int16 = {0x0, 0x0, 0xfd50, 0x506,
 0x2591,
     0x6813, 0xfaa4, 0x506}, v4_int32 = {0x0, 0x506fd50, 0x68132591,
     0x506faa4}, v2_int64 = {0x506fd5000000000, 0x506faa468132591},
   uint128 = 0x0506faa4681325910506fd5000000000}
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xa8, 0x2f, 0x0, 0x0, 0xa4, 0xff,
 0x6,
     0x5, 0x94, 0x5c, 0xc2, 0x77, 0x70, 0x20, 0xc0, 0x77}, v8_int16 =
 {0x2fa8,
     0x0, 0xffa4, 0x506, 0x5c94, 0x77c2, 0x2070, 0x77c0}, v4_int32 =
 {0x2fa8,
     0x506ffa4, 0x77c25c94, 0x77c02070}, v2_int64 = {0x506ffa400002fa8,
     0x77c0207077c25c94}, uint128 = 0x77c0207077c25c940506ffa400002fa8}
 mxcsr          0x1f80   [ IM DM ZM OM UM PM ]
 mm0            {uint64 = 0x1010101, v2_int32 = {0x1010101, 0x0}, v4_int16
 = {
     0x101, 0x101, 0x0, 0x0}, v8_int8 = {0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0,
     0x0}}
 mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm5            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm6            {uint64 = 0xf424000000000000, v2_int32 = {0x0, 0xf4240000},
   v4_int16 = {0x0, 0x0, 0x0, 0xf424}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x24, 0xf4}}
 mm7            {uint64 = 0xa1cb27d3b0000000, v2_int32 = {0xb0000000,
     0xa1cb27d3}, v4_int16 = {0x0, 0xb000, 0x27d3, 0xa1cb}, v8_int8 = {0x0,
     0x0, 0x0, 0xb0, 0xd3, 0x27, 0xcb, 0xa1}}
 (gdb)
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2093#comment:7>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list