[FFmpeg-devel] yuv420p_to_rgb24 core dump

Stevens, Andrew J PNNL Andrew.Stevens
Sat Sep 18 00:01:31 CEST 2010


>Hi,
>
>On Fri, Sep 17, 2010 at 3:07 PM, Stevens, Andrew J (PNNL)
><Andrew.Stevens at pnl.gov> wrote:
>>> 0x0000000000899cc8 in yuv420_rgb24_MMX2
>[..]
>> (gdb) disass $pc-30 $pc+30
>> Dump of assembler code from 0x899efa to 0x899f36:
>
>No, we should see 899cc8-30 to 899cc8+30. Or did it now crash in a
>different place? Also, what does info all-registers say?
>
>Ronald


Yes, but I don't know why. The info this time is also at different place...
I compiled ffmpeg with --disable-optimizations both times

(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/d3y231/work/LH/src/tests/lighthouse/videoTestRunner
[Thread debugging using libthread_db enabled]
240

Program received signal SIGSEGV, Segmentation fault.
0x0000000000855228 in yuv420_rgb24_MMX2 (c=0x1963370, src=0x7fffffffda70, srcStride=0x7fffffffda40, srcSliceY=0, srcSliceH=800,
    dst=0x7fffffffda50, dstStride=0x7fffffffda30) at libswscale/x86/yuv2rgb_template2.c:327
327             YUV2RGB_INITIAL_LOAD
(gdb) disass $pc-30 $pc+30
Dump of assembler code from 0x85520a to 0x855246:
0x000000000085520a <yuv420_rgb24_MMX2+365>:     add    %rax,%rax
0x000000000085520d <yuv420_rgb24_MMX2+368>:     mov    %rax,%rdx
0x0000000000855210 <yuv420_rgb24_MMX2+371>:     mov    -0x28(%rbp),%rax
0x0000000000855214 <yuv420_rgb24_MMX2+375>:     mov    %rax,%rcx
0x0000000000855217 <yuv420_rgb24_MMX2+378>:     sub    %rdx,%rcx
0x000000000085521a <yuv420_rgb24_MMX2+381>:     mov    -0x10(%rbp),%rdx
0x000000000085521e <yuv420_rgb24_MMX2+385>:     mov    -0x30(%rbp),%rax
0x0000000000855222 <yuv420_rgb24_MMX2+389>:     mov    %rdx,%rbx
0x0000000000855225 <yuv420_rgb24_MMX2+392>:     mov    %rax,%r9
0x0000000000855228 <yuv420_rgb24_MMX2+395>:     movq   (%rcx,%rbx,2),%mm6
0x000000000085522c <yuv420_rgb24_MMX2+399>:     movd   (%r8,%rbx,1),%mm0
0x0000000000855231 <yuv420_rgb24_MMX2+404>:     movd   (%rsi,%rbx,1),%mm1
0x0000000000855235 <yuv420_rgb24_MMX2+408>:     movq   %mm6,%mm7
0x0000000000855238 <yuv420_rgb24_MMX2+411>:     punpcklbw %mm4,%mm0
0x000000000085523b <yuv420_rgb24_MMX2+414>:     punpcklbw %mm4,%mm1
0x000000000085523e <yuv420_rgb24_MMX2+417>:     pand   0x976728,%mm6
End of assembler dump.
(gdb) info all-registers
rax            0x14631d0        21377488
rbx            0xfffffffffffffd80       -640
rcx            0x500    1280
rdx            0xfffffffffffffd80       -640
rsi            0x280    640
rdi            0x19680e8        26640616
rbp            0x7fffffffd9c0   0x7fffffffd9c0
rsp            0x7fffffffd9b8   0x7fffffffd9b8
r8             0x280    640
r9             0x14631d0        21377488
r10            0x7fffffffda70   140737488345712
r11            0x1963370        26620784
r12            0x0      0
r13            0x7fffffffe2c0   140737488347840
r14            0x0      0
r15            0x0      0
rip            0x855228 0x855228 <yuv420_rgb24_MMX2+395>
eflags         0x10207  [ CF PF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st1            -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st2            -inf     (raw 0xffff0000000000000000)
st3            -inf     (raw 0xffff0000000000000000)
st4            -inf     (raw 0xffff0000000000000000)
st5            -nan(0x606060606060606)  (raw 0xffff0606060606060606)
st6            -nan(0x303030303030303)  (raw 0xffff0303030303030303)
st7            -nan(0x101010101010101)  (raw 0xffff0101010101010101)
fctrl          0x37f    895
fstat          0x0      0
ftag           0xaaaa   43690
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x11 <repeats 12 times>, 0x13, 0x13, 0x14, 0x14},
  v8_int16 = {0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1313, 0x1414}, v4_int32 = {0x11111111, 0x11111111, 0x11111111,
    0x14141313}, v2_int64 = {0x1111111111111111, 0x1414131311111111}, uint128 = 0x14141313111111111111111111111111}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
    0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14}, v8_int16 = {0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1212, 0x1313, 0x1414}, v4_int32 = {
    0x11111111, 0x11111111, 0x12121111, 0x14141313}, v2_int64 = {0x1111111111111111, 0x1414131312121111},
  uint128 = 0x14141313121211111111111111111111}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
    0x11, 0x12, 0x13, 0x12, 0xe, 0xd, 0x14}, v8_int16 = {0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1312, 0xe12, 0x140d}, v4_int32 = {
    0x11111111, 0x11111111, 0x13121111, 0x140d0e12}, v2_int64 = {0x1111111111111111, 0x140d0e1213121111},
  uint128 = 0x140d0e12131211111111111111111111}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x12, 0x0, 0x12, 0x0, 0x11, 0x0, 0x10, 0x0, 0xe, 0x0,
    0x12, 0x0, 0x27, 0x0, 0x32, 0x0}, v8_int16 = {0x12, 0x12, 0x11, 0x10, 0xe, 0x12, 0x27, 0x32}, v4_int32 = {0x120012, 0x100011,
    0x12000e, 0x320027}, v2_int64 = {0x10001100120012, 0x3200270012000e}, uint128 = 0x003200270012000e0010001100120012}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x12, 0x0, 0x12, 0x0, 0x11, 0x0, 0x10, 0x0, 0xe, 0x0,
    0x10, 0x0, 0x8, 0x0, 0xa, 0x0}, v8_int16 = {0x12, 0x12, 0x11, 0x10, 0xe, 0x10, 0x8, 0xa}, v4_int32 = {0x120012, 0x100011, 0x10000e,
    0xa0008}, v2_int64 = {0x10001100120012, 0xa00080010000e}, uint128 = 0x000a00080010000e0010001100120012}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x4, 0x0, 0x4, 0x0, 0x4, 0x0, 0x4, 0x0, 0x4, 0x0,
    0x4, 0x0, 0x4, 0x0, 0x4, 0x0}, v8_int16 = {0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4}, v4_int32 = {0x40004, 0x40004, 0x40004, 0x40004},
  v2_int64 = {0x4000400040004, 0x4000400040004}, uint128 = 0x00040004000400040004000400040004}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x7, 0x1, 0x7, 0x1, 0x7, 0x1, 0x7, 0x1, 0x7, 0x1,
    0x7, 0x1, 0x7, 0x1, 0x7, 0x1}, v8_int16 = {0x107, 0x107, 0x107, 0x107, 0x107, 0x107, 0x107, 0x107}, v4_int32 = {0x1070107, 0x1070107,
    0x1070107, 0x1070107}, v2_int64 = {0x107010701070107, 0x107010701070107}, uint128 = 0x01070107010701070107010701070107}
xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12,
    0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0}, v8_int16 = {0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12}, v4_int32 = {0x120012, 0x120012,
    0x120012, 0x120012}, v2_int64 = {0x12001200120012, 0x12001200120012}, uint128 = 0x00120012001200120012001200120012}
xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12,
    0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0}, v8_int16 = {0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12}, v4_int32 = {0x120012, 0x120012,
    0x120012, 0x120012}, v2_int64 = {0x12001200120012, 0x12001200120012}, uint128 = 0x00120012001200120012001200120012}
xmm10          {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0}, v16_int8 = {0x6d, 0x7d, 0xbf, 0xbb, 0x27, 0xaf, 0xf5, 0x3f, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x7d6d, 0xbbbf, 0xaf27, 0x3ff5, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0xbbbf7d6d,
    0x3ff5af27, 0x0, 0x0}, v2_int64 = {0x3ff5af27bbbf7d6d, 0x0}, uint128 = 0x00000000000000003ff5af27bbbf7d6d}
xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x34, 0x0, 0x34, 0x0, 0x34, 0x0, 0x34, 0x0, 0x34,
    0x0, 0x34, 0x0, 0x34, 0x0, 0x34, 0x0}, v8_int16 = {0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34}, v4_int32 = {0x340034, 0x340034,
    0x340034, 0x340034}, v2_int64 = {0x34003400340034, 0x34003400340034}, uint128 = 0x00340034003400340034003400340034}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12,
    0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0}, v8_int16 = {0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12}, v4_int32 = {0x120012, 0x120012,
    0x120012, 0x120012}, v2_int64 = {0x12001200120012, 0x12001200120012}, uint128 = 0x00120012001200120012001200120012}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x10, 0x0, 0x10, 0x0, 0x10, 0x0, 0x10, 0x0, 0x10,
    0x0, 0x10, 0x0, 0x10, 0x0, 0x10, 0x0}, v8_int16 = {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, v4_int32 = {0x100010, 0x100010,
    0x100010, 0x100010}, v2_int64 = {0x10001000100010, 0x10001000100010}, uint128 = 0x00100010001000100010001000100010}
xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x5, 0x0, 0x5, 0x0, 0x5, 0x0, 0x5, 0x0, 0x5, 0x0,
    0x5, 0x0, 0x5, 0x0, 0x5, 0x0}, v8_int16 = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5}, v4_int32 = {0x50005, 0x50005, 0x50005, 0x50005},
  v2_int64 = {0x5000500050005, 0x5000500050005}, uint128 = 0x00050005000500050005000500050005}
xmm15          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]



More information about the ffmpeg-devel mailing list