[x264-devel] Bug with Leopard introduced into r742
Roman Himmes
roman.himmes at post.rwth-aachen.de
Mon Mar 10 18:20:48 CET 2008
Hi,
today I found a bug introduced into r742 (r741 worked well), while
encodeing a file with leopard. (Segmentation fault)
I have no Idea why the gdb looks into shared_ptr.hpp from boost for
predict_8x8_ddl_sse2 ...
Leopard 10.5.2 on intel MacBookPro 15".
cheers,
Roman Himmes
>bt:
#0 0x001897d8 in predict_8x8_ddl_sse2 () at shared_ptr.hpp:131
#1 0x0013c129 in x264_slicetype_mb_cost (h=0xe0f4000, a=0xbfffaa84,
frames=0xbfffa8a8, p0=0, p1=0, b=0, dist_scale_factor=128) at
slicetype.c:226
#2 0x0013c4b2 in x264_slicetype_frame_cost (h=0xe0f4000,
a=0xbfffaa84, frames=0xbfffaa3c, p0=0, p1=0, b=0, b_intra_penalty=0)
at slicetype.c:304
#3 0x0013c6fd in x264_rc_analyse_slice (h=0xe0f4000) at slicetype.c:530
#4 0x0015ea2d in rate_estimate_qscale (h=0xe0f4000) at encoder/
ratecontrol.c:1344
#5 0x0015f153 in x264_ratecontrol_start (h=0xe0f4000, i_force_qp=0)
at encoder/ratecontrol.c:691
#6 0x00174b0f in x264_encoder_encode (h=0xe0f4000, pp_nal=0xbfffd6cc,
pi_nal=0xbfffd6c8, pic_in=0x2134030, pic_out=0xbfffd68c) at encoder/
encoder.c:1412
#7 0x00475ae6 in X264_frame (ctx=0x20d4a00, buf=0x11e2e000 "",
bufsize=500000, data=0xe48c410) at libx264.c:91
>disass $pc-32 $pc+32
Dump of assembler code from 0x1897b8 to 0x1897f8:
x001897b8 <predict_8x8_ddr_sse2+136>: psrldq $0x2,%mm1
0x001897bc <predict_8x8_ddr_sse2+140>: movq %xmm0,0x20(%eax)
0x001897c1 <predict_8x8_ddr_sse2+145>: movq %xmm1,(%eax)
0x001897c5 <predict_8x8_ddr_sse2+149>: ret
0x001897c6 <predict_8x8_ddr_sse2+150>: nop
0x001897c7 <predict_8x8_ddr_sse2+151>: nop
0x001897c8 <predict_8x8_ddr_sse2+152>: nop
0x001897c9 <predict_8x8_ddr_sse2+153>: nop
0x001897ca <predict_8x8_ddr_sse2+154>: nop
0x001897cb <predict_8x8_ddr_sse2+155>: nop
0x001897cc <predict_8x8_ddr_sse2+156>: nop
0x001897cd <predict_8x8_ddr_sse2+157>: nop
0x001897ce <predict_8x8_ddr_sse2+158>: nop
0x001897cf <predict_8x8_ddr_sse2+159>: nop
0x001897d0 <predict_8x8_ddl_sse2+0>: mov 0x8(%esp),%edx
0x001897d4 <predict_8x8_ddl_sse2+4>: mov 0x4(%esp),%eax
0x001897d8 <predict_8x8_ddl_sse2+8>: movdqa 0x10(%edx),%xmm3
0x001897dd <predict_8x8_ddl_sse2+13>: movdqu 0x11(%edx),%xmm2
0x001897e2 <predict_8x8_ddl_sse2+18>: movdqa %xmm3,%xmm1
0x001897e6 <predict_8x8_ddl_sse2+22>: pslldq $0x1,%xmm1
0x001897eb <predict_8x8_ddl_sse2+27>: movdqa %xmm1,%xmm4
0x001897ef <predict_8x8_ddl_sse2+31>: pavgb %xmm2,%xmm1
0x001897f3 <predict_8x8_ddl_sse2+35>: pxor %xmm4,%xmm2
0x001897f7 <predict_8x8_ddl_sse2+39>: movdqa %xmm3,%xmm0
(gdb) info all-registers
eax 0xbfffa8a8 -1073764184
ecx 0xe0f4018 235880472
edx 0xbfffa788 -1073764472
ebx 0x15e4eb 1434859
esp 0xbfffa6bc 0xbfffa6bc
ebp 0xbfffa9a8 0xbfffa9a8
esi 0x0 0
edi 0xe0f4000 235880448
eip 0x1897d8 0x1897d8 <predict_8x8_ddl_sse2+8>
eflags 0x206 518
cs 0x17 23
ss 0x1f 31
ds 0x1f 31
es 0x1f 31
fs 0x0 0
gs 0x37 55
st0 -nan(0x210021002100210) (raw 0xffff0210021002100210)
st1 -nan(0x210021002100210) (raw 0xffff0210021002100210)
st2 <invalid float value> (raw 0xffff0000000000000000)
st3 <invalid float value> (raw 0xffff0000000000000000)
st4 <invalid float value> (raw 0xffff0000000000000000)
st5 -nan(0x1010101010101010) (raw 0xffff1010101010101010)
st6 -nan(0x10001000100010) (raw 0xffff0010001000100010)
st7 <invalid float value> (raw 0xffff0000000000000000)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xaaaa 43690
fiseg 0x17 23
fioff 0x161d76 1449334
foseg 0x1f 31
fooff 0xbfffd5d8 -1073752616
fop 0x59d 1437
xmm0 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = '\0' <repeats 15 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 15 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 15 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 15 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 = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = '\0' <repeats 15 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)
xmm5 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = '\0' <repeats 15 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)
xmm6 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = '\0' <repeats 15 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)
xmm7 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = '\0' <repeats 15 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 0x1fa3 8099
mm0 {
uint64 = 148621055480562192,
v2_int32 = {34603536, 34603536},
v4_int16 = {528, 528, 528, 528},
v8_int8 = "\020\002\020\002\020\002\020\002"
} (raw 0x0210021002100210)
mm1 {
uint64 = 148621055480562192,
v2_int32 = {34603536, 34603536},
v4_int16 = {528, 528, 528, 528},
v8_int8 = "\020\002\020\002\020\002\020\002"
} (raw 0x0210021002100210)
mm2 {
uint64 = 0,
v2_int32 = {0, 0},
v4_int16 = {0, 0, 0, 0},
v8_int8 = "\000\000\000\000\000\000\000"
} (raw 0x0000000000000000)
mm3 {
uint64 = 0,
v2_int32 = {0, 0},
v4_int16 = {0, 0, 0, 0},
v8_int8 = "\000\000\000\000\000\000\000"
} (raw 0x0000000000000000)
mm4 {
uint64 = 0,
v2_int32 = {0, 0},
v4_int16 = {0, 0, 0, 0},
v8_int8 = "\000\000\000\000\000\000\000"
} (raw 0x0000000000000000)
mm5 {
uint64 = 1157442765409226768,
v2_int32 = {269488144, 269488144},
v4_int16 = {4112, 4112, 4112, 4112},
v8_int8 = "\020\020\020\020\020\020\020\020"
} (raw 0x1010101010101010)
mm6 {
uint64 = 4503668347895824,
v2_int32 = {1048592, 1048592},
v4_int16 = {16, 16, 16, 16},
v8_int8 = "\020\000\020\000\020\000\020"
} (raw 0x0010001000100010)
mm7 {
uint64 = 0,
v2_int32 = {0, 0},
v4_int16 = {0, 0, 0, 0},
v8_int8 = "\000\000\000\000\000\000\000"
} (raw 0x0000000000000000)
Roman Himmes
roman at himmes.com
More information about the x264-devel
mailing list