Bug 92876

Summary: Wine crashes since XQuartz 2.7.9_beta1
Product: XQuartz Reporter: FX <fxcoudert>
Component: New BugsAssignee: Jeremy Huddleston Sequoia <jeremyhu>
Status: RESOLVED NOTOURBUG QA Contact: Jeremy Huddleston Sequoia <jeremyhu>
Severity: normal    
Priority: medium    
Version: development (betas, rcs, git)   
Hardware: x86-64 (AMD64)   
OS: Mac OS X (All)   
Whiteboard:
i915 platform: i915 features:

Description FX 2015-11-09 21:25:10 UTC
I have wine 1.3.16 installed, which was compiled against XQuartz 2.7.8 on Yosemite. After the move to El Capitan, it still worked fine. Now that I have updated to 2.7.9_beta1, it does not run anymore but bails out with an error related to the address sanitizer.

Running any simple program (here the winemine) gives:

$ /opt/wine/bin/wine /opt/wine/lib/wine/fakedlls/winemine.exe 
==16321==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING.
==16321==ASan shadow was supposed to be located in the [0x1ffff000-0x3fffffff] range.
==16321==Process memory map follows:
	0x43c0d000-0x43c9f000	/opt/X11/lib/asan/libclang_rt.asan_osx_dynamic.dylib
	0x43c9f000-0x44139000	/opt/X11/lib/asan/libclang_rt.asan_osx_dynamic.dylib
	0x44139000-0x4417e000	/opt/X11/lib/asan/libclang_rt.asan_osx_dynamic.dylib
	0x4384d000-0x43bb4000	/opt/X11/lib/libfreetype.6.dylib
	0x43bb4000-0x43bc3000	/opt/X11/lib/libfreetype.6.dylib
	0x43bc3000-0x43c0d000	/opt/X11/lib/libfreetype.6.dylib
	0x43720000-0x437dd000	/opt/wine-1.3.16/lib/wine/comctl32.dll.so
	0x437dd000-0x43808000	/opt/wine-1.3.16/lib/wine/comctl32.dll.so
	0x43808000-0x4384d000	/opt/wine-1.3.16/lib/wine/comctl32.dll.so
	0x434f7000-0x4359d000	/opt/wine-1.3.16/lib/wine/shell32.dll.so
	0x4359d000-0x436b6000	/opt/wine-1.3.16/lib/wine/shell32.dll.so
	0x436b6000-0x43720000	/opt/wine-1.3.16/lib/wine/shell32.dll.so
	0x43169000-0x431ba000	/opt/wine-1.3.16/lib/wine/shlwapi.dll.so
	0x431ba000-0x431c3000	/opt/wine-1.3.16/lib/wine/shlwapi.dll.so
	0x431c3000-0x431fe000	/opt/wine-1.3.16/lib/wine/shlwapi.dll.so
	0x433a5000-0x4347b000	/opt/wine-1.3.16/lib/wine/oleaut32.dll.so
	0x4347b000-0x43488000	/opt/wine-1.3.16/lib/wine/oleaut32.dll.so
	0x43488000-0x434f7000	/opt/wine-1.3.16/lib/wine/oleaut32.dll.so
	0x43300000-0x43364000	/opt/wine-1.3.16/lib/wine/rpcrt4.dll.so
	0x43364000-0x4336b000	/opt/wine-1.3.16/lib/wine/rpcrt4.dll.so
	0x4336b000-0x433a5000	/opt/wine-1.3.16/lib/wine/rpcrt4.dll.so
	0x41aa9000-0x41ac0000	/opt/wine-1.3.16/lib/wine/version.dll.so
	0x41ac0000-0x41ac1000	/opt/wine-1.3.16/lib/wine/version.dll.so
	0x41ac1000-0x41ac4000	/opt/wine-1.3.16/lib/wine/version.dll.so
[... the process memory map is too long for bugzilla, so I cut it here ...]
==16320==End of process memory map.
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for 80000101



The full error message (with full process map) can be found here: https://www.dropbox.com/s/ynhmvn8qx03n73j/wine-xquartz.txt?dl=0
Comment 1 Jeremy Huddleston Sequoia 2015-11-09 21:30:46 UTC
wine bugs should be filed at http://bugs.winehq.org
Comment 2 Jeremy Huddleston Sequoia 2015-11-09 22:29:49 UTC
Looks like WINE_DOS conflicts with ASan:

	0x00000000-0x40000000	/opt/wine/bin/wine.bin

Load command 3
      cmd LC_SEGMENT
  cmdsize 124
  segname WINE_DOS
   vmaddr 0x00001000
   vmsize 0x40000000
  fileoff 0
 filesize 0
  maxprot 0x00000007
 initprot 0x00000003
   nsects 1
    flags 0x0
Section
  sectname WINE_DOS
   segname WINE_DOS
      addr 0x00001000
      size 0x40000000
    offset 0
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Comment 3 Jeremy Huddleston Sequoia 2015-11-09 22:37:59 UTC
I'd be more inclined to consider this an ASan bug.  It should adapt to allocations like this to move its shadow region somewhere else.

https://llvm.org/bugs/show_bug.cgi?id=25466

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.