http://bugs.winehq.org/show_bug.cgi?id=28735
Bug #: 28735 Summary: ntdll/tests/exception.ok fails under valgrind Product: Wine Version: 1.3.30 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com Classification: Unclassified
Running "make exception.ok" in ntdll/tests under valgrind fails. This has been happening since at least early last year. Log:
valgrind: Unrecognised instruction at address 0x7f230000. Your program just tried to execute an instruction that Valgrind did not recognise. There are two possible reasons for this. 1. Your program has a bug and erroneously jumped to a non-code location. If you are running Memcheck and you just saw a warning about a bad jump, it's probably your program's fault. 2. The instruction is legitimate but Valgrind doesn't handle it, i.e. it's Valgrind's fault. If you think this is the case or you are not sure, please let us know and we'll try to fix it. Either way, Valgrind will now raise a SIGILL signal which will probably kill your program. err:seh:segv_handler Got unexpected trap 0 exception.c:396: Test failed: 15: Wrong exception code c000001d/c0000005 exception.c:399: Test failed: 15: Wrong exception address 0x7f230000/0x7f230006 exception.c:405: Test failed: 15: Wrong number of parameters 0/2 exception.c:396: Test failed: 15: Wrong exception code c000001d/c0000005 exception.c:399: Test failed: 15: Wrong exception address 0x7f230000/0x7f230006 exception.c:405: Test failed: 15: Wrong number of parameters 0/2 Conditional jump or move depends on uninitialised value(s) at handler (exception.c:418) by ??? (signal_i386.c:2522) by ??? (signal_i386.c:2522) by __regs_RtlUnwind (signal_i386.c:2397) by __wine_call_from_regs (in dlls/ntdll/ntdll.dll.so) by ??? (signal_i386.c:2413) by unwind_frame (exception.c:74) by __wine_exception_handler (exception.c:99) by ??? (signal_i386.c:2522) by ??? (signal_i386.c:2522) by call_stack_handlers (signal_i386.c:616) by raise_exception (signal_i386.c:694) by NtRaiseException (signal_i386.c:2422) by raise_segv_exception (signal_i386.c:1751) by 0xDEADBABD: ??? by func_exception (exception.c:465) by run_test (test.h:556) by main (test.h:624) Uninitialised value was created by a client request at setup_exception_record (signal_i386.c:1629) by segv_handler (signal_i386.c:1876) by ??? (in /lib/i386-linux-gnu/libpthread-2.13.so)
Might be a valgrind bug, but winehq is probably the right place for triaging it.
http://bugs.winehq.org/show_bug.cgi?id=28735
--- Comment #1 from Dan Kegel dank@kegel.com 2011-10-19 15:52:27 CDT --- Same cause as bug 20985, perhaps?
I'm seeing something similar in ddraw/tests/drawmodes.ok:
Unhandled exception: illegal instruction in 32-bit code (0x00000000). ... Backtrace: =>0 0x00000000 (0x7f23fc88) 1 0x049b77f5 test_DirectDrawEnumerateA+0x5b() [dlls/ddraw/tests/ddrawmodes.c:140] in ddraw_test (0x7f23fcb8) ... err:seh:segv_handler Got unexpected trap 0
The test and valgrind finish, but with exit status 29.
http://bugs.winehq.org/show_bug.cgi?id=28735
--- Comment #2 from Austin English austinenglish@gmail.com 2012-09-26 14:46:02 CDT --- Still in wine-1.5.13-346-g0445393
https://bugs.winehq.org/show_bug.cgi?id=28735
--- Comment #3 from Austin English austinenglish@gmail.com --- Created attachment 48239 --> https://bugs.winehq.org/attachment.cgi?id=48239 valgrind log in wine-1.7.17-42-g24c5728
https://bugs.winehq.org/show_bug.cgi?id=28735
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |valgrind
https://bugs.winehq.org/show_bug.cgi?id=28735
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase
https://bugs.winehq.org/show_bug.cgi?id=28735
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #4 from joaopa jeremielapuree@yahoo.fr --- What about this bug with current wine(3.20)?
https://bugs.winehq.org/show_bug.cgi?id=28735
jeffersoncarpenter2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeffersoncarpenter2@gmail.c | |om
--- Comment #5 from jeffersoncarpenter2@gmail.com --- Still occurs in 4.10. An even simpler test case: compile 'int main() { return 0; }' using mingw and wine it under valgrind. Valgrind prints an error that it has encountered an unrecognised instruction inside of set_cpu_context (signal_x86_64.c).
That attachment doesn't show the test running under valgrind, rather running as usual.
https://bugs.winehq.org/show_bug.cgi?id=28735
--- Comment #6 from jeffersoncarpenter2@gmail.com --- It seems to be caused by the iretq instruction.
See https://www.mail-archive.com/kde-bugs-dist@kde.org/msg342698.html
https://bugs.winehq.org/show_bug.cgi?id=28735
--- Comment #7 from Dan Kegel dank@kegel.com --- better link, perhaps: https://bugs.kde.org/show_bug.cgi?id=400538