Opened 13 years ago
Closed 12 years ago
#1592 closed defect (fixed)
filter-amix FATE tests errors on win64
Reported by: | jamal | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | fate amix win64 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
The tiny_psnr tool is failing with the filter-amix FATE tests in certain configurations.
Here's the gdb output for mine.
$ gdb tests/tiny_psnr.exe GNU gdb (GDB) 7.1.90.20100730-cvs Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-w64-mingw32". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from D:\msys\1.0\ffmpeg\build/tests/tiny_psnr.exe...done. (gdb) r ../samples/filter/amix_transition.pcm tests/data/fate/filter-amix-transition f32 Starting program: D:\msys\1.0\ffmpeg\build/tests/tiny_psnr.exe ../samples/filter/amix_transition.pcm tests/data/fate/filter-amix-transition f32 [New Thread 3944.0x11dc] Program received signal SIGFPE, Arithmetic exception. 0x000000000040152d in log16 (a=0) at D:/msys/1.0/ffmpeg/src/tests/tiny_psnr.c:79 79 return -log16((1LL << 32) / a); (gdb) bt #0 0x000000000040152d in log16 (a=0) at D:/msys/1.0/ffmpeg/src/tests/tiny_psnr.c:79 #1 0x0000000000401e3a in run_psnr (f=0x22fe20, len=4, shift=0, skip_bytes=0) at D:/msys/1.0/ffmpeg/src/tests/tiny_psnr.c:201 #2 0x0000000000402219 in main (argc=4, argv=0x322310) at D:/msys/1.0/ffmpeg/src/tests/tiny_psnr.c:255 (gdb) disass $pc-32,$pc+32 Dump of assembler code from 0x40150d to 0x40154d: 0x000000000040150d <log16+13>: movl $0x0,-0x18(%rbp) 0x0000000000401514 <log16+20>: cmpq $0xffff,0x10(%rbp) 0x000000000040151c <log16+28>: ja 0x401541 <log16+65> 0x000000000040151e <log16+30>: movabs $0x100000000,%rax 0x0000000000401528 <log16+40>: mov $0x0,%edx => 0x000000000040152d <log16+45>: divq 0x10(%rbp) 0x0000000000401531 <log16+49>: mov %rax,%rcx 0x0000000000401534 <log16+52>: callq 0x401500 <log16> 0x0000000000401539 <log16+57>: neg %rax 0x000000000040153c <log16+60>: jmpq 0x401607 <log16+263> 0x0000000000401541 <log16+65>: shlq $0x10,0x10(%rbp) 0x0000000000401546 <log16+70>: movl $0x14,-0x14(%rbp) End of assembler dump. (gdb) info all-registers rax 0x100000000 4294967296 rbx 0x330a00 3344896 rcx 0x0 0 rdx 0x0 0 rsi 0x4 4 rdi 0x321e90 3284624 rbp 0x22ed00 0x22ed00 rsp 0x22ecb0 0x22ecb0 r8 0xadad436d591005 48885676079910917 r9 0x0 0 r10 0x0 0 r11 0x246 582 r12 0x322310 3285776 r13 0x0 0 r14 0x0 0 r15 0x0 0 rip 0x40152d 0x40152d <log16+45> eflags 0x10293 [ CF AF SF IF RF ] cs 0x33 51 ss 0x293002b 43188267 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x2b0000 2818048 st0 0 (raw 0x00000000000000000000) st1 0 (raw 0x00000000000000000000) st2 0 (raw 0x00000000000000000000) st3 0 (raw 0x00000000000000000000) st4 0 (raw 0x00000000000000000000) st5 0 (raw 0x00000000000000000000) st6 0 (raw 0x00000000000000000000) st7 0 (raw 0x00000000000000000000) fctrl 0x37f 895 fstat 0x0 0 ftag 0x0 0 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 = {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} xmm2 {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} xmm3 {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} xmm4 {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} xmm5 {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} xmm6 {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} xmm7 {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} xmm8 {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} xmm9 {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} xmm10 {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} xmm11 {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} xmm12 {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} xmm13 {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} xmm14 {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} 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 ] (gdb)
Change History (3)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Keywords: | win64 added |
---|---|
Summary: | filter-amix FATE tests errors → filter-amix FATE tests errors on win64 |
comment:3 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
It seems the tests dont fail anymore (fate.ffmpeg.org), maybe one of the msvc fixes fixed it too. If it still fails for you, please reopen
Note:
See TracTickets
for help on using tickets.
Just in case I'll add that this problem was fixed with commit c99d3e2. tiny_psnr doesn't crash anymore in any platform, but for some reason the tests still fail in win64.