Bug 349804

Summary: wine/osx: mmap-FIXED(0x1000, 1073741824) failed in UME (load_segment2)
Product: [Developer tools] valgrind Reporter: Austin English <austinenglish>
Component: generalAssignee: Rhys Kidd <rhyskidd>
Status: CONFIRMED ---    
Severity: major CC: rhyskidd
Priority: NOR    
Version: 3.10 SVN   
Target Milestone: ---   
Platform: Compiled Sources   
OS: macOS   
See Also: https://bugs.kde.org/show_bug.cgi?id=262390
https://bugs.kde.org/show_bug.cgi?id=352384
Latest Commit: Version Fixed In:
Bug Depends on:    
Bug Blocks: 339017    
Attachments: wine+valgrind output

Description Austin English 2015-07-01 23:54:08 UTC
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
Comment 1 Rhys Kidd 2015-07-02 07:36:13 UTC
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).
Comment 2 Austin English 2015-07-02 14:22:46 UTC
(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).
Comment 3 Rhys Kidd 2015-07-02 22:48:51 UTC
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.
Comment 4 Rhys Kidd 2015-07-09 02:53:58 UTC
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.
Comment 5 Austin English 2015-07-09 03:26:30 UTC
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.
Comment 6 Rhys Kidd 2015-07-09 03:37:00 UTC
Hrmm, okay, well that avenue is closed off for now.
Comment 7 Rhys Kidd 2015-07-10 08:15:25 UTC
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.
Comment 8 Austin English 2015-08-25 02:09:03 UTC
Created attachment 94210 [details]
wine+valgrind output

Using wine-1.7.50-26-g6038e2a and valgrind-3.11.0-SVN-r15588.
Comment 9 Austin English 2017-02-12 08:11:08 UTC
(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
Comment 10 Austin English 2017-02-12 08:35:38 UTC
(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.