[FFmpeg-trac] #2288(undetermined:new): Decoding with h264_vda crashes ffplay

FFmpeg trac at avcodec.org
Wed Feb 20 23:24:04 CET 2013


#2288: Decoding with h264_vda crashes ffplay
-------------------------------------+-------------------------------------
             Reporter:  gjdfgh       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:
              Version:  git-master   |  undetermined
             Keywords:  crash        |               Resolution:
  SIGSEGV vda regression h264        |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by pigoz):

 I ran the rest of what is advised in the bugreports page you linked
 (Pasted them below). Is it possible to test that the culprit is really the
 h264_vda decoder and only using vda only through HWACCEL infrastructure
 works?

 {{{
 (gdb) bt
 #0  pred8x8_128_dc_8_c (_src=0x0, stride=0) at h264pred_template.c:559
 #1  0x0000000100230366 in hl_decode_mb_simple_8 (h=0x101464000) at
 h264_mb_template.c:161
 Previous frame inner to this frame (gdb could not unwind past this frame)
 Current language:  auto; currently minimal
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code for function pred8x8_128_dc_8_c:
 0x00000001002a7800 <pred8x8_128_dc_8_c+0>:      movl   $0x80808080,(%rdi)
 0x00000001002a7806 <pred8x8_128_dc_8_c+6>:      movl
 $0x80808080,0x4(%rdi)
 0x00000001002a780d <pred8x8_128_dc_8_c+13>:     movl
 $0x80808080,(%rdi,%rsi,1)
 0x00000001002a7814 <pred8x8_128_dc_8_c+20>:     movl
 $0x80808080,0x4(%rdi,%rsi,1)
 0x00000001002a781c <pred8x8_128_dc_8_c+28>:     movl
 $0x80808080,(%rdi,%rsi,2)
 0x00000001002a7823 <pred8x8_128_dc_8_c+35>:     movl
 $0x80808080,0x4(%rdi,%rsi,2)
 0x00000001002a782b <pred8x8_128_dc_8_c+43>:     lea    (%rsi,%rsi,2),%rax
 0x00000001002a782f <pred8x8_128_dc_8_c+47>:     movl
 $0x80808080,(%rdi,%rax,1)
 0x00000001002a7836 <pred8x8_128_dc_8_c+54>:     imul   $0x7,%rsi,%rcx
 0x00000001002a783a <pred8x8_128_dc_8_c+58>:     lea    (%rsi,%rsi,4),%rdx
 0x00000001002a783e <pred8x8_128_dc_8_c+62>:     movl
 $0x80808080,0x4(%rdi,%rax,1)
 0x00000001002a7846 <pred8x8_128_dc_8_c+70>:     movl
 $0x80808080,(%rdi,%rsi,4)
 0x00000001002a784d <pred8x8_128_dc_8_c+77>:     movl
 $0x80808080,0x4(%rdi,%rsi,4)
 0x00000001002a7855 <pred8x8_128_dc_8_c+85>:     movl
 $0x80808080,(%rdi,%rdx,1)
 0x00000001002a785c <pred8x8_128_dc_8_c+92>:     movl
 $0x80808080,0x4(%rdi,%rdx,1)
 0x00000001002a7864 <pred8x8_128_dc_8_c+100>:    movl
 $0x80808080,(%rdi,%rax,2)
 0x00000001002a786b <pred8x8_128_dc_8_c+107>:    movl
 $0x80808080,0x4(%rdi,%rax,2)
 0x00000001002a7873 <pred8x8_128_dc_8_c+115>:    movl
 $0x80808080,(%rdi,%rcx,1)
 0x00000001002a787a <pred8x8_128_dc_8_c+122>:    movl
 $0x80808080,0x4(%rdi,%rcx,1)
 0x00000001002a7882 <pred8x8_128_dc_8_c+130>:    retq
 End of assembler dump.
 (gdb) info all-registers
 rax            0x6      6
 rbx            0x0      0
 rcx            0x0      0
 rdx            0x0      0
 rsi            0x0      0
 rdi            0x0      0
 rbp            0x101464000      0x101464000
 rsp            0x7fff5fbf8b78   0x7fff5fbf8b78
 r8             0x0      0
 r9             0x101464000      4316348416
 r10            0x0      0
 r11            0x13     19
 r12            0x101464000      4316348416
 r13            0x0      0
 r14            0x0      0
 r15            0x0      0
 rip            0x1002a7800      0x1002a7800 <pred8x8_128_dc_8_c>
 eflags         0x10246  66118
 cs             0x2b     43
 ss             0x0      0
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x0      0
 st0            <invalid float value>    (raw 0xffff0000000000000000)
 st1            <invalid float value>    (raw 0xffff0000000000000000)
 st2            -nan(0x002000200)        (raw 0xffff0000000002000200)
 st3            -nan(0x200020002000200)  (raw 0xffff0200020002000200)
 st4            -nan(0x1010101010101010) (raw 0xffff1010101010101010)
 st5            -9223359428144598417     (raw 0xc03dffffe9109c9e1b22)
 st6            12608710177391   (raw 0x402ab77b1b0f26f00000)
 st7            12608710177391   (raw 0x402ab77b1b0f26f00000)
 fctrl          0x37f    895
 fstat          0x0      0
 ftag           0xffff   65535
 fiseg          0x2b     43
 fioff          0x97928d2b       -1752003285
 foseg          0x23     35
 fooff          0x5fbf5b30       1606376240
 fop            0x0      0
 xmm0           {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm1           {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm2           {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm3           {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm4           {
   v4_float = {8.90725532e+11, 183973696, 2.4375, 0},
   v2_double = {2.0460447893299908e+93, 7},
   v16_int8 = {83, 79, 99, 97, 77, 47, 115, 116, 64, 28, 0, 0, 0, 0, 0, 0},
   v8_int16 = {21327, 25441, 19759, 29556, 16412, 0, 0, 0},
   v4_int32 = {1397711713, 1294955380, 1075576832, 0},
   v2_int64 = {6003126097866093428, 4619567317775286272},
   uint128 = 0x534f63614d2f7374401c000000000000
 }       (raw 0x0000000000001c4074732f4d61634f53)
 xmm5           {
   v4_float = {0, 0, 2.87462521, -5.40669532e-07},
   v2_double = {0, 23.976023976023978},
   v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 64, 55, -7, -36, -75, 17, 34, -121},
   v8_int16 = {0, 0, 0, 0, 16439, -1572, -19183, 8839},
   v4_int32 = {0, 0, 1077410268, -1257168249},
   v2_int64 = {0, 4627441868472394375},
   uint128 = 9737364817122506560
 }       (raw 0x872211b5dcf937400000000000000000)
 xmm6           {
   v4_float = {-0.836791635, -5.53769217e-33, -0.836791635,
 -5.53769217e-33},
   v2_double = {-0.0013561197916662129, -0.0013561197916662129},
   v16_int8 = {-65, 86, 55, -6, -119, -26, 6, -40, -65, 86, 55, -6, -119,
 -26, 6, -40},
   v8_int16 = {-16554, 14330, -30234, 1752, -16554, 14330, -30234, 1752},
   v4_int32 = {-1084868614, -1981413672, -1084868614, -1981413672},
   v2_int64 = {-4659475215273294120, -4659475215273294120},
   uint128 = 0xbf5637fa89e606d8bf5637fa89e606d8
 }       (raw 0xd806e689fa3756bfd806e689fa3756bf)
 xmm7           {
   v4_float = {0, 0, 1.875, 0},
   v2_double = {0, 1},
   v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0},
   v8_int16 = {0, 0, 0, 0, 16368, 0, 0, 0},
   v4_int32 = {0, 0, 1072693248, 0},
   v2_int64 = {0, 4607182418800017408},
   uint128 = 61503
 }       (raw 0x000000000000f03f0000000000000000)
 xmm8           {
   v4_float = {0, 0, 0, 7.62939453e-06},
   v2_double = {0, 4.5589753321519522e-315},
   v16_int8 = {0 <repeats 12 times>, 55, 0, 0, 0},
   v8_int16 = {0, 0, 0, 0, 0, 0, 14080, 0},
   v4_int32 = {0, 0, 0, 922746880},
   v2_int64 = {0, 922746880},
   uint128 = 236223201280
 }       (raw 0x00000037000000000000000000000000)
 xmm9           {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm10          {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm11          {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm12          {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm13          {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm14          {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 xmm15          {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = {0 <repeats 16 times>},
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
 }       (raw 0x00000000000000000000000000000000)
 mxcsr          0x1fa0   8096
 (gdb)
 }}}

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


More information about the FFmpeg-trac mailing list