Continuation of bug 347988 Austins-Mac-mini:valgrind austin$ svn info Path: . Working Copy Root Path: /Users/austin/src/valgrind URL: svn://svn.valgrind.org/valgrind/trunk Repository Root: svn://svn.valgrind.org/valgrind Repository UUID: a5019735-40e9-0310-863c-91ae7b9d1cf9 Revision: 15391 Node Kind: directory Schedule: normal Last Changed Author: rhyskidd Last Changed Rev: 15391 Last Changed Date: 2015-07-01 18:04:58 -0500 (Wed, 01 Jul 2015) running, e.g., advapi32/tests/cred.c: ../../../tools/runtest -q -P wine -T ../../.. -M advapi32.dll -p advapi32_test.exe.so cred && touch cred.ok --9909:0:syswrap- WARNING: Ignoring sigreturn( ..., UC_RESET_ALT_STACK ); ==9912== Invalid read of size 32 ==9912== at 0x1004D9C1D: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9912== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x1002D1C9A: puts (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x10000DB77: ??? (in /bin/sh) ==9912== by 0x100021C8F: ??? (in /bin/sh) ==9912== by 0x1000206F7: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001F9E3: ??? (in /bin/sh) ==9912== by 0x100011BED: ??? (in /bin/sh) ==9912== by 0x100040D1A: ??? (in /bin/sh) ==9912== by 0x10003F5D9: ??? (in /bin/sh) ==9912== by 0x10003E335: ??? (in /bin/sh) ==9912== by 0x10003DF95: ??? (in /bin/sh) ==9912== by 0x10003E259: ??? (in /bin/sh) ==9912== by 0x10003D9F5: ??? (in /bin/sh) ==9912== by 0x100041F7C: ??? (in /bin/sh) ==9912== by 0x10001FD09: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001D003: ??? (in /bin/sh) ==9912== by 0x100001F2C: ??? (in /bin/sh) ==9912== Address 0x100936040 is 23 bytes after a block of size 57 free'd ==9912== at 0x1000A28FD: free (vg_replace_malloc.c:480) ==9912== by 0x10000D91D: ??? (in /bin/sh) ==9912== by 0x10000D734: ??? (in /bin/sh) ==9912== by 0x100021C8F: ??? (in /bin/sh) ==9912== by 0x1000206F7: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001F955: ??? (in /bin/sh) ==9912== by 0x100011BED: ??? (in /bin/sh) ==9912== by 0x100040D1A: ??? (in /bin/sh) ==9912== by 0x10003F5D9: ??? (in /bin/sh) ==9912== by 0x10003E335: ??? (in /bin/sh) ==9912== by 0x10003DF95: ??? (in /bin/sh) ==9912== by 0x10003E259: ??? (in /bin/sh) ==9912== by 0x10003D9F5: ??? (in /bin/sh) ==9912== by 0x100041F7C: ??? (in /bin/sh) ==9912== by 0x10001FD09: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001D003: ??? (in /bin/sh) ==9912== by 0x100001F2C: ??? (in /bin/sh) ==9912== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9912== ==9912== Invalid read of size 32 ==9912== at 0x1004D9C6A: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9912== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x1002D1C9A: puts (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x10000DB77: ??? (in /bin/sh) ==9912== by 0x100021C8F: ??? (in /bin/sh) ==9912== by 0x1000206F7: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001F9E3: ??? (in /bin/sh) ==9912== by 0x100011BED: ??? (in /bin/sh) ==9912== by 0x100040D1A: ??? (in /bin/sh) ==9912== by 0x10003F5D9: ??? (in /bin/sh) ==9912== by 0x10003E335: ??? (in /bin/sh) ==9912== by 0x10003DF95: ??? (in /bin/sh) ==9912== by 0x10003E259: ??? (in /bin/sh) ==9912== by 0x10003D9F5: ??? (in /bin/sh) ==9912== by 0x100041F7C: ??? (in /bin/sh) ==9912== by 0x10001FD09: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001D003: ??? (in /bin/sh) ==9912== by 0x100001F2C: ??? (in /bin/sh) ==9912== Address 0x1009360a0 is 20 bytes after a block of size 28 alloc'd ==9912== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9912== by 0x10004E46F: ??? (in /bin/sh) ==9912== by 0x10000E8B3: ??? (in /bin/sh) ==9912== by 0x10000D915: ??? (in /bin/sh) ==9912== by 0x10000D734: ??? (in /bin/sh) ==9912== by 0x100021C8F: ??? (in /bin/sh) ==9912== by 0x1000206F7: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001F955: ??? (in /bin/sh) ==9912== by 0x100011BED: ??? (in /bin/sh) ==9912== by 0x100040D1A: ??? (in /bin/sh) ==9912== by 0x10003F5D9: ??? (in /bin/sh) ==9912== by 0x10003E335: ??? (in /bin/sh) ==9912== by 0x10003DF95: ??? (in /bin/sh) ==9912== by 0x10003E259: ??? (in /bin/sh) ==9912== by 0x10003D9F5: ??? (in /bin/sh) ==9912== by 0x100041F7C: ??? (in /bin/sh) ==9912== by 0x10001FD09: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001D003: ??? (in /bin/sh) ==9912== ==9912== Conditional jump or move depends on uninitialised value(s) ==9912== at 0x1004D9C7A: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9912== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x1002D1C9A: puts (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x10000DB77: ??? (in /bin/sh) ==9912== by 0x100021C8F: ??? (in /bin/sh) ==9912== by 0x1000206F7: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001F9E3: ??? (in /bin/sh) ==9912== by 0x100011BED: ??? (in /bin/sh) ==9912== by 0x100040D1A: ??? (in /bin/sh) ==9912== by 0x10003F5D9: ??? (in /bin/sh) ==9912== by 0x10003E335: ??? (in /bin/sh) ==9912== by 0x10003DF95: ??? (in /bin/sh) ==9912== by 0x10003E259: ??? (in /bin/sh) ==9912== by 0x10003D9F5: ??? (in /bin/sh) ==9912== by 0x100041F7C: ??? (in /bin/sh) ==9912== by 0x10001FD09: ??? (in /bin/sh) ==9912== by 0x10001D3B9: ??? (in /bin/sh) ==9912== by 0x10001D003: ??? (in /bin/sh) ==9912== by 0x100001F2C: ??? (in /bin/sh) ==9912== ==9912== 19 bytes in 1 blocks are definitely lost in loss record 127 of 367 ==9912== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9912== by 0x10004E46F: ??? (in /bin/sh) ==9912== by 0x10004DE42: ??? (in /bin/sh) ==9912== by 0x10004CBB9: ??? (in /bin/sh) ==9912== by 0x100029E74: ??? (in /bin/sh) ==9912== by 0x100029E1C: ??? (in /bin/sh) ==9912== by 0x10002A006: ??? (in /bin/sh) ==9912== by 0x100001705: ??? (in /bin/sh) ==9912== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9912== by 0x3: ??? ==9912== by 0x10809C806: ??? ==9912== by 0x10809C80E: ??? ==9912== by 0x10809C81C: ??? ==9912== by 0x10809C831: ??? ==9912== ==9912== 231 bytes in 1 blocks are definitely lost in loss record 319 of 367 ==9912== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9912== by 0x1002C48C8: currentlocale (in /usr/lib/system/libsystem_c.dylib) ==9912== by 0x100029914: ??? (in /bin/sh) ==9912== by 0x100000B4B: ??? (in /bin/sh) ==9912== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9912== by 0x3: ??? ==9912== by 0x10809C806: ??? ==9912== by 0x10809C80E: ??? ==9912== by 0x10809C81C: ??? ==9912== by 0x10809C831: ??? ==9912== ==9913== 231 bytes in 1 blocks are definitely lost in loss record 63 of 91 ==9913== at 0x100008351: malloc (vg_replace_malloc.c:303) ==9913== by 0x1001E98C8: currentlocale (in /usr/lib/system/libsystem_c.dylib) ==9913== by 0x100000AC9: ??? (in /usr/bin/uname) ==9913== by 0x1001605C8: start (in /usr/lib/system/libdyld.dylib) ==9913== by 0x1: ??? ==9913== by 0x108002792: ??? ==9913== by 0x1080027A1: ??? ==9913== --9909:0:syswrap- WARNING: Ignoring sigreturn( ..., UC_RESET_ALT_STACK ); --9909:0:syswrap- WARNING: Ignoring sigreturn( ..., UC_RESET_ALT_STACK ); --9909:0:syswrap- WARNING: Ignoring sigreturn( ..., UC_RESET_ALT_STACK ); --9909:0:syswrap- WARNING: Ignoring sigreturn( ..., UC_RESET_ALT_STACK ); ==9909== Invalid read of size 32 ==9909== at 0x1004D9C21: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9909== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D7FE5: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FD9AE: __v2printf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FDC80: __xvprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D3B71: vfprintf_l (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002CC5FF: fprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x10001C8AA: ??? (in /bin/sh) ==9909== by 0x100021491: ??? (in /bin/sh) ==9909== by 0x100011F4C: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== Address 0x100925ba0 is 2 bytes after a block of size 14 alloc'd ==9909== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9909== by 0x10004E46F: ??? (in /bin/sh) ==9909== by 0x100004435: ??? (in /bin/sh) ==9909== by 0x1000047C0: ??? (in /bin/sh) ==9909== by 0x100001F52: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== ==9909== Conditional jump or move depends on uninitialised value(s) ==9909== at 0x1004D9C3F: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9909== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D7FE5: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FD9AE: __v2printf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FDC80: __xvprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D3B71: vfprintf_l (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002CC5FF: fprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x10001C8AA: ??? (in /bin/sh) ==9909== by 0x100021491: ??? (in /bin/sh) ==9909== by 0x100011F4C: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== ==9909== Invalid read of size 32 ==9909== at 0x1004D9C1D: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9909== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D7FE5: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FD9AE: __v2printf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FDC80: __xvprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D3BD1: vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x10001C8E1: ??? (in /bin/sh) ==9909== by 0x100021491: ??? (in /bin/sh) ==9909== by 0x100011F4C: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== Address 0x100944740 is 16 bytes after a block of size 16 in arena "client" ==9909== ==9909== Invalid read of size 32 ==9909== at 0x1004D9C6A: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9909== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D7FE5: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FD9AE: __v2printf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FDC80: __xvprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D3BD1: vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x10001C8E1: ??? (in /bin/sh) ==9909== by 0x100021491: ??? (in /bin/sh) ==9909== by 0x100011F4C: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== Address 0x1009447a0 is 8 bytes after a block of size 40 alloc'd ==9909== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9909== by 0x10004E46F: ??? (in /bin/sh) ==9909== by 0x1000033C5: ??? (in /bin/sh) ==9909== by 0x100011E5B: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== ==9909== Conditional jump or move depends on uninitialised value(s) ==9909== at 0x1004D9C7A: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==9909== by 0x1002CDB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D7FE5: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FD9AE: __v2printf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002FDC80: __xvprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x1002D3BD1: vfprintf (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x10001C8E1: ??? (in /bin/sh) ==9909== by 0x100021491: ??? (in /bin/sh) ==9909== by 0x100011F4C: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== ../../../wine: line 107: /Users/austin/wine-valgrind/loader/wine: cannot execute binary file ../../../wine: line 107: /Users/austin/wine-valgrind/loader/wine: Undefined error: 0 ==9909== 98 (32 direct, 66 indirect) bytes in 1 blocks are definitely lost in loss record 306 of 380 ==9909== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9909== by 0x10004E46F: ??? (in /bin/sh) ==9909== by 0x10006D567: ??? (in /bin/sh) ==9909== by 0x100011E31: ??? (in /bin/sh) ==9909== by 0x100021C8F: ??? (in /bin/sh) ==9909== by 0x1000206F7: ??? (in /bin/sh) ==9909== by 0x10001D3B9: ??? (in /bin/sh) ==9909== by 0x10001D003: ??? (in /bin/sh) ==9909== by 0x100001F2C: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== ==9909== 231 bytes in 1 blocks are definitely lost in loss record 329 of 380 ==9909== at 0x1000A2351: malloc (vg_replace_malloc.c:303) ==9909== by 0x1002C48C8: currentlocale (in /usr/lib/system/libsystem_c.dylib) ==9909== by 0x100029914: ??? (in /bin/sh) ==9909== by 0x100000B4B: ??? (in /bin/sh) ==9909== by 0x10023B5C8: start (in /usr/lib/system/libdyld.dylib) ==9909== by 0x3: ??? ==9909== by 0x10809C806: ??? ==9909== by 0x10809C80E: ??? ==9909== by 0x10809C81C: ??? ==9909== by 0x10809C831: ??? ==9909== make: *** [cred.ok] Error 1
What is the executable which is being attempted to run here: ... ../../../wine: line 107: /Users/austin/wine-valgrind/loader/wine: cannot execute binary file ../../../wine: line 107: /Users/austin/wine-valgrind/loader/wine: Undefined error: 0 ... i.e. can you successfully run $ ./loader/wine from the top directory? I had a look through Wine's Git code, but without setting up a build environment myself it is a little hard to follow. Knowing the executable will help narrow a fix down, as we can attempt to run it directly with V (avoiding any working path issues that might crop up).
(In reply to Rhys Kidd from comment #1) > What is the executable which is being attempted to run here: > ... > ../../../wine: line 107: /Users/austin/wine-valgrind/loader/wine: cannot > execute binary file > ../../../wine: line 107: /Users/austin/wine-valgrind/loader/wine: Undefined > error: 0 > ... > > i.e. can you successfully run $ ./loader/wine from the top directory? Yes, I can: Austins-Mac-mini:wine-valgrind austin$ pwd /Users/austin/wine-valgrind Austins-Mac-mini:wine-valgrind austin$ ./loader/wine --version wine-1.7.46-118-g7a3c988 with valgrind, it fails: Austins-Mac-mini:wine-valgrind austin$ /opt/valgrind/bin/valgrind ./loader/wine --version valgrind: mmap-FIXED(0x1000, 1073741824) failed in UME (load_segment2).
Thanks, that error is something we can work with. Although noting something similar has been seen before in various guises. There's some discussion on the meta Wine bug that goes into what is happening with Valgrind's memory space reservation.
Is it possible for you to try a Wine configured for 64 bit and also configure Valgrind, temporarily, for 64 bit only? This may help with the memory layout conflict being experienced here. From review of the WIne documentation, I understand this is done by configuring Wine as follows: ============== ./configure --enable-win64 # usual make steps ============== For Valgrind, this is done as follows: ============== ./autogen.sh ./configure --enable-only64bit ============== What you may find though is that there are less applications available to run with Wine64. For instance, I am hoping the Wine test suite works okay on 64 bit only to give you a reasonable corpus to work with. Keen to hear results of your testing. I'm also going to push a few commits that improve the error reporting on OS X in that function, thereby aligning it with Linux in the equivalent function.
Hi Rhyss, Wine doesn't compile at 64-bit on OSX currently. There's some discussion of adding support for it, but as clang doesn't properly compile 64-bit wine yet either, and there are some more fundamental features missing/broken with OSX, it may be a while.. 64-bit valgrind/wine had some other issues on linux/wine last I tried, but I haven't done so extensively.
Hrmm, okay, well that avenue is closed off for now.
I improved the error reporting in r15408, for the section of code you are having issues with as regards Wine. It now more closely matches the output of other platforms.
Created attachment 94210 [details] wine+valgrind output Using wine-1.7.50-26-g6038e2a and valgrind-3.11.0-SVN-r15588.
(In reply to Austin English from comment #8) > Created attachment 94210 [details] > wine+valgrind output > > Using wine-1.7.50-26-g6038e2a and valgrind-3.11.0-SVN-r15588. With wine-2.1-153-g9c72376, and valgrind-3.13.0.SVN-16222-vex-3303, every wine unit test fails with: ../../../tools/runtest -q -P wine -T ../../.. -M advapi32.dll -p advapi32_test.exe.so cred && touch cred.ok valgrind: mmap-FIXED(0x0, 253952) failed in UME (load_segment1) with error 12 (Cannot allocate memory). make[1]: *** [cred.ok] Error 1
(In reply to Austin English from comment #9) > (In reply to Austin English from comment #8) > > Created attachment 94210 [details] > > wine+valgrind output > > > > Using wine-1.7.50-26-g6038e2a and valgrind-3.11.0-SVN-r15588. > > With wine-2.1-153-g9c72376, and valgrind-3.13.0.SVN-16222-vex-3303, every > wine unit test fails with: > > ../../../tools/runtest -q -P wine -T ../../.. -M advapi32.dll -p > advapi32_test.exe.so cred && touch cred.ok > valgrind: mmap-FIXED(0x0, 253952) failed in UME (load_segment1) with error > 12 (Cannot allocate memory). > make[1]: *** [cred.ok] Error 1 I also just confirmed that modern wine does work on OSX in 64-bit mode, but it has the same issue: ../../../tools/runtest -q -P wine -T ../../.. -M advapi32.dll -p advapi32_test.exe.so cred && touch cred.ok valgrind: mmap-FIXED(0x0, 253952) failed in UME (load_segment1) with error 12 (Cannot allocate memory). make[1]: *** [cred.ok] Error 1 To be clear, while getting this working for 64-bit would be great, my main interest is 32-bit.