https://bugs.winehq.org/show_bug.cgi?id=44988
Bug ID: 44988 Summary: win86emu says "unable to reserve memory" when i try to run an x86 app on arm Product: Wine Version: 3.6 Hardware: arm OS: Android Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: skompc@gmail.com
this is actually an old issue that should be brought back up in my opinion since wine now runs on android and win86emu would allow regular windows apps to run.
I've uploaded a copy of win86emu onto mega for download
https://mega.nz/#F!omABTTwC!aQ4qOIxu1U3aOPge5hj4xw
https://bugs.winehq.org/show_bug.cgi?id=44988
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #1 from Austin English austinenglish@gmail.com --- Please attach the terminal output.
What app are you trying to run? Does it run on x86 wine?
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #2 from Nathan skompc@gmail.com --- the bug affects any and all apps i try to run with win86emu. all apps i tested work with x86 wine on ubuntu. how do i attach terminal output for an android app though?
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #3 from Nathan skompc@gmail.com --- Created attachment 61126 --> https://bugs.winehq.org/attachment.cgi?id=61126 logfile from win86emu
Apparently the file at fault is peloader.exe
https://bugs.winehq.org/show_bug.cgi?id=44988
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 URL| |https://forum.xda-developer | |s.com/showthread.php?t=2095 | |934 Component|-unknown |ntdll Keywords| |download CC| |focht@gmx.net Status|UNCONFIRMED |NEW Summary|win86emu says "unable to |Win86emu for Windows RT |reserve memory" when i try |fails with error 'Can't |to run an x86 app on arm |reserve memory (file is too | |big or corrupted)' when | |trying to run x86 apps (PE | |loader / PE32 executables | |for ARMv7 require ASLR)
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. Not that it matters here but the project has been abandoned for many years:
https://forum.xda-developers.com/showthread.php?t=2095934
The backtrace from comment #3 is invalid. You are not supposed to run 'peloader.exe' standalone. The app expects the environment variable 'EMU_PROGRAM' properly set. If the variable is empty you end up exactly with that crash due to non-existing error handling. Use the .cmd wrappers or pass environment/parameters properly.
--- snip --- hikey960:~/projects/x86node/Windows$ file *.exe
autohook.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows cmd.86.exe: PE32 executable (console) Intel 80386, for MS Windows launcher.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows peloader.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows peloaderc.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows postinstall.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows regedit.86.exe: PE32 executable (GUI) Intel 80386, for MS Windows regsvr32.86.exe: PE32 executable (GUI) Intel 80386, for MS Windows rundll32.86.exe: PE32 executable (GUI) Intel 80386, for MS Windows thunk86.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows thunk86c.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows --- snip ---
Using the provided 'regedit.86.exe' for testing:
--- snip --- $ WINEDEBUG=+seh,+relay,+process,+loaddll,+ntdll,+server,+virtual,+module EMU_PROGRAM=regedit.86.exe wine ./thunk86.exe >>log.txt 2>&1 ... 0024:trace:process:CreateProcessInternalW app L"E:\home\focht\projects\x86node\Windows\peloader.exe" cmdline L"thunk86.exe " ... 00c4: load_dll( dbg_offset=0, base=00400000, name=7fe30a98, dbg_size=0, filename=L"E:\home\focht\projects\x86node\Windows\peloader.exe" ) 00c4: load_dll() = 0 00c4:trace:loaddll:load_native_dll Loaded L"E:\home\focht\projects\x86node\Windows\peloader.exe" at 0x400000: native ... 00c4: init_process_done( gui=1, module=00400000, ldt_copy=00000000, entry=00401679, usd_handle=001c ) ... 0024:trace:process:CreateProcessInternalW started process pid 00c0 tid 00c4 ... 00c4:Starting process L"E:\home\focht\projects\x86node\Windows\peloader.exe" (entryproc=0x401679) ... 00c4:Call KERNEL32.CreateFileW(7fe7bc20 L"regedit.86.exe",80000000,00000003,00000000,00000003,00000000,00000000) ret=004010c3 00c4:Ret KERNEL32.CreateFileW() retval=00000034 ret=004010c3 00c4:Call KERNEL32.ReadFile(00000034,8011fa98,00000200,8011fa8c,00000000) ret=004010f5 00c4:Ret KERNEL32.ReadFile() retval=00000001 ret=004010f5 00c4:Call KERNEL32.SetFilePointer(00000034,00000080,00000000,00000000) ret=0040112d 00c4:Ret KERNEL32.SetFilePointer() retval=00000080 ret=0040112d 00c4:Call KERNEL32.ReadFile(00000034,8011fa98,00000200,8011fa8c,00000000) ret=0040114d 00c4:Ret KERNEL32.ReadFile() retval=00000001 ret=0040114d 00c4:Call KERNEL32.VirtualAlloc(00400000,000c0000,00003000,00000004) ret=004011c7 00c4:Call ntdll.NtAllocateVirtualMemory(ffffffff,8011fa1c,00000000,8011fa14,00003000,00000004) ret=7fb5c800 00c4:Ret ntdll.NtAllocateVirtualMemory() retval=c0000018 ret=7fb5c800 00c4:Call ntdll.RtlNtStatusToDosError(c0000018) ret=7fb5c81c 00c4:Ret ntdll.RtlNtStatusToDosError() retval=000001e7 ret=7fb5c81c 00c4:Ret KERNEL32.VirtualAlloc() retval=00000000 ret=004011c7 ... 00c4:Call KERNEL32.ExitProcess(bad00000) ret=00401935 00c4: terminate_process( handle=0000, exit_code=-1160773632 ) 00c4: terminate_process() = 0 { self=1 } ... 0024:Call KERNEL32.GetExitCodeProcess(00000060,80167b10) ret=00401187 0024:trace:process:NtQueryInformationProcess (0x60,0x00000000,0x80167a78,0x00000018,(nil)) 0024: get_process_info( handle=0060 ) 0024: get_process_info() = 0 { pid=00c0, ppid=0020, affinity=000000ff, peb=7ffcf000, start_time=1d63293fa98231a (-0.5552090), end_time=1d63293faebfeea (-0.0056330), exit_code=-1160773632, priority=2, cpu=ARM, debugger_present=0, debug_children=1 } 0024:Ret KERNEL32.GetExitCodeProcess() retval=00000001 ret=00401187 ... 0024:Call KERNEL32.CreateProcessA(80167b80 "E:\home\focht\projects\x86node\Windows\peloader.exe",80167c88 "thunk86.exe ",00000000,00000000,00000001,00000000,00000000,00000000,80167b18,80167b00) ret=00401135 ... <retries to start process two times before giving up> ... 0024:Call user32.MessageBoxW(00000000,0040a2e0 L"Can't reserve memory (file is too big or corrupted)",0040a248 L"Error",00000010) ret=00401231 --- snip ---
The PE loader/hosting process main executable (armv7) occupies the default load address 0x400000. The loader reads the PE header of the x86 executable and tries to reserve the same region in order to map the executable there later (same load base). This obviously can't work.
Some notes from the developer:
https://forum.xda-developers.com/showthread.php?t=2095934&page=9
--- quote --- This is exactly what I'm doing now. peloader.exe - is a tiny loader that reserves the memory at its start. It determines the program image base and image size and reserves the memory at that address. If the address is already used - it exits complaining about ASLR. Here I abuse ASLR for my own needs - at next program start OS would be using different addresses for its data (environment block and so on), so I usually can reserve needed memory at 1-2 restarts. There is a bug in peloader. It reserves the memory for the whole EXE file size, including the overlayed data in its end. So self-extracting archives would require too much memory to be loaded successfully. ... --- quote ---
Which implies Windows RT OS loader uses ASLR by default. PE32 executables for ARMv7 should not be mapped at 0x400000 (default load base from PE header). Does someone have WinRT device to confirm?
$ sha1sum x86node.zip a85eec05496c1abc24ba7f26a8fb368d11449e4a x86node.zip
$ du -sh x86node.zip 48M x86node.zip
$ wine --version wine-5.9
Regards
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
to check ASLR working on Windows RT device I suggest to get ARM32/ARM64 'Debugging Tools for Windows'. It's part of the Windows 10 SDK.
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging...
Follow the instructions from the article:
--- quote --- Getting ARM Debugging Tools for Windows
You can get debugging tools for ARM64 by downloading the Windows 10 SDK (version 10.0.16299 or later). During the installation, select the Debugging Tools for Windows box.
The debugging tools are located in the Debuggers folder in the kit installation directory. The x86 tools are under Debuggers\x86, the ARM32 tools are under Debuggers\ARM, and the ARM64 tools are under Debuggers\ARM64. --- quote ---
After installation on x86 host PC (Windows/Linux+Wine whatever), copy the contents of the 'ARM' directory to the target device.
Start whatever app (unique name) and use 'cdb' to dump modules list/information of the running process:
--- snip --- $ cdb -pv -pn myapp.exe -loga lm.txt -c "lm;q" --- snip ---
('pv' = noninvasive attach mode)
Exit the app and start it another time. Dump info with 'cdb' again.
--- snip --- $ cdb -pv -pn myapp.exe -loga lm.txt -c "lm;q" --- snip ---
The information is written to console and appended to log file 'lm.txt'. The load addresses should be different from the two consecutive runs if the assumption is correct.
Regards
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #6 from Austin English austinenglish@gmail.com --- (In reply to Anastasius Focht from comment #5)
--- snip --- $ cdb -pv -pn myapp.exe -loga lm.txt -c "lm;q" --- snip ---
Thanks for the info. Unfortunately, cdb fails to run, it's missing api-ms-win-downlevel-kernel32-l2-1.0.dll. It is bundled in the sdk, but it's only the x86 version afaict, none for arm. Haven't found one online yet, either.
Maybe the exe is only meant to be invoked from Visual Studio on x86/x64?
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello Austin,
MS ships the debuggers for all target architectures. From the installed Windows 10 SDK (on x86_64 host):
Windows 10 SDK, version 1903 = 18362.1.190318-1202.19h1_release_WindowsSDK.iso
--- snip --- $ find . -iname "cdb.exe" -exec file {} ;
./drive_c/Program Files (x86)/Windows Kits/10/Debuggers/arm64/cdb.exe: PE32+ executable (console), for MS Windows ./drive_c/Program Files (x86)/Windows Kits/10/Debuggers/x86/cdb.exe: PE32 executable (console) Intel 80386, for MS Windows ./drive_c/Program Files (x86)/Windows Kits/10/Debuggers/arm/cdb.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows --- snip ---
--- snip --- $ pwd /home/focht/projects/win10-psdk/wineprefix64-psdk/drive_c/Program Files (x86)/Windows Kits/10/Debuggers/arm
$ file *.exe adplus.exe: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows adplusmanager.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows agestore.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows breakin.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows cdb.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows convertstore.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows dbengprx.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows dbgrpc.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows dbgsrv.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows dbh.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows dumpchk.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows dumpexam.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows gflags.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows kdbgctrl.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows kd.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows kdnet.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows kdsrv.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows KernelDumpDecrypt.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows kill.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows list.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows ntkd.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows ntsd.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows pdbcopy.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows plmdebug.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows remote.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows rtlist.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows symchk.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows symstore.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows tlist.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows umdh.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows usbview.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows windbg.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows --- snip ---
Most of executables are certainly the be run on ARMv7 processor.
'api-ms-win-downlevel-kernel32-l2-1.0.dll' -> introduced with Windows 8.1
https://www.geoffchappell.com/studies/windows/win32/apisetschema/history/set...
What exact Windows version is your Windows RT device? Windows RT 8.0 maybe? I've searched older versions of the Windows 10 SDK if there is any that ships tools compatible with Windows RT 8.0.
https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
From:
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging...
--- quote --- Getting ARM Debugging Tools for Windows
You can get debugging tools for ARM64 by downloading the Windows 10 SDK (version 10.0.16299 or later). During the installation, select the Debugging Tools for Windows box. --- quote ---
https://go.microsoft.com/fwlink/p/?linkid=864422
The 'cdb.exe' from that SDK version is older -> 2017-11-11. Sadly it still seems to (delay) link against 'api-ms-win-downlevel-kernel32-l2-1-0.dll'.
To be honest, at this point it might be easier if you just cross-compile this small example app which uses Toolhelp API for the Windows RT (ARMv7) device:
https://docs.microsoft.com/en-us/windows/win32/toolhelp/taking-a-snapshot-an...
It should do the same job ;-)
Regards
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #8 from Austin English austinenglish@gmail.com --- Created attachment 67293 --> https://bugs.winehq.org/attachment.cgi?id=67293 testcase/logs
To be honest, at this point it might be easier if you just cross-compile this small example app which uses Toolhelp API for the Windows RT (ARMv7) device:
https://docs.microsoft.com/en-us/windows/win32/toolhelp/taking-a-snapshot- and-viewing-processes
It should do the same job ;-)
Heh, indeed, it was easy:
copy/paste > test.c winemaker . make
winemine.exe &
./foo.exe &> before.txt notepad & ./foo.exe &> notepad1_process.txt killall notepad ./foo.exe &> notepad2_process.txt
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #9 from Austin English austinenglish@gmail.com --- --- notepad1 2020-05-29 01:40:34.133677925 -0500 +++ notepad2 2020-05-29 01:41:28.291348168 -0500 @@ -782,7 +782,7 @@ ===================================================== PROCESS NAME: notepad.exe ------------------------------------------------------- - Process ID = 0x000000CC + Process ID = 0x000000E4 Thread count = 1 Parent process ID = 0x00000000 Priority base = 2 @@ -790,189 +790,189 @@
MODULE NAME: notepad.exe Executable = C:\windows\system32\notepad.exe - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7F780000 - Base size = 237568 + Base address = 0x7F740000 + Base size = 294912
MODULE NAME: ntdll.dll Executable = C:\windows\system32\ntdll.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0xACB10000 - Base size = 954368 + Base address = 0xAD050000 + Base size = 946176
MODULE NAME: kernel32.dll Executable = C:\windows\system32\kernel32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7FA00000 - Base size = 2293760 + Base address = 0x7F9D0000 + Base size = 2285568
MODULE NAME: kernelbase.dll Executable = C:\windows\system32\kernelbase.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7F940000 - Base size = 724992 + Base address = 0x7F910000 + Base size = 716800
MODULE NAME: comdlg32.dll Executable = C:\windows\system32\comdlg32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7F580000 + Base address = 0x7F540000 Base size = 983040
MODULE NAME: shell32.dll Executable = C:\windows\system32\shell32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7EBB0000 + Base address = 0x7EB70000 Base size = 10231808
MODULE NAME: shlwapi.dll Executable = C:\windows\system32\shlwapi.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7EB50000 + Base address = 0x7EB10000 Base size = 307200
MODULE NAME: shcore.dll Executable = C:\windows\system32\shcore.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x80000000 - Base size = 77824 + Base address = 0x7EAF0000 + Base size = 73728
MODULE NAME: user32.dll Executable = C:\windows\system32\user32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E950000 - Base size = 2039808 + Base address = 0x7E8F0000 + Base size = 2027520
MODULE NAME: setupapi.dll Executable = C:\windows\system32\setupapi.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E8D0000 - Base size = 430080 + Base address = 0x7E860000 + Base size = 483328
MODULE NAME: version.dll Executable = C:\windows\system32\version.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E8B0000 - Base size = 45056 + Base address = 0x7E850000 + Base size = 32768
MODULE NAME: ucrtbase.dll Executable = C:\windows\system32\ucrtbase.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E7E0000 - Base size = 806912 + Base address = 0x7E780000 + Base size = 794624
MODULE NAME: advapi32.dll Executable = C:\windows\system32\advapi32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E770000 - Base size = 331776 + Base address = 0x7E710000 + Base size = 319488
MODULE NAME: sechost.dll Executable = C:\windows\system32\sechost.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E740000 - Base size = 163840 + Base address = 0x7E6E0000 + Base size = 151552
MODULE NAME: rpcrt4.dll Executable = C:\windows\system32\rpcrt4.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E6C0000 - Base size = 479232 + Base address = 0x7E660000 + Base size = 466944
MODULE NAME: gdi32.dll Executable = C:\windows\system32\gdi32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E590000 - Base size = 1183744 + Base address = 0x7E530000 + Base size = 1171456
MODULE NAME: ole32.dll Executable = C:\windows\system32\ole32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E470000 - Base size = 1122304 + Base address = 0x7E410000 + Base size = 1110016
MODULE NAME: comctl32.dll Executable = C:\windows\system32\comctl32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E330000 - Base size = 1200128 + Base address = 0x7E2C0000 + Base size = 1253376
MODULE NAME: usp10.dll Executable = C:\windows\system32\usp10.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E2E0000 - Base size = 258048 + Base address = 0x7E280000 + Base size = 245760
MODULE NAME: imm32.dll Executable = C:\windows\system32\imm32.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E2C0000 - Base size = 102400 + Base address = 0x7E260000 + Base size = 90112
MODULE NAME: winspool.drv Executable = C:\windows\system32\winspool.drv - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7E270000 - Base size = 290816 + Base address = 0x7E210000 + Base size = 278528
MODULE NAME: winex11.drv Executable = C:\windows\system32\winex11.drv - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7DA50000 + Base address = 0x7D9E0000 Base size = 638976
MODULE NAME: uxtheme.dll Executable = C:\windows\system32\uxtheme.dll - Process ID = 0x000000CC + Process ID = 0x000000E4 Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7D7B0000 + Base address = 0x7D740000 Base size = 196608
- THREAD ID = 0x000000D0 + THREAD ID = 0x000000E8 Base priority = 0 Delta priority = 0
@@ -981,7 +981,7 @@ ===================================================== PROCESS NAME: 44988_testcase.exe ------------------------------------------------------- - Process ID = 0x000000D4 + Process ID = 0x000000EC Thread count = 1 Parent process ID = 0x00000000 Priority base = 2 @@ -989,23 +989,23 @@
MODULE NAME: 44988_testcase.exe Executable = Z:\home\austin\44988-testcase\44988_testcase.exe - Process ID = 0x000000D4 + Process ID = 0x000000EC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7FFF0000 - Base size = 86016 + Base address = 0x7F7B0000 + Base size = 40960
MODULE NAME: ntdll.dll Executable = C:\windows\system32\ntdll.dll - Process ID = 0x000000D4 + Process ID = 0x000000EC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0xAD130000 - Base size = 962560 + Base address = 0xB5160000 + Base size = 958464
MODULE NAME: kernel32.dll Executable = C:\windows\system32\kernel32.dll - Process ID = 0x000000D4 + Process ID = 0x000000EC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF Base address = 0x7FA00000 @@ -1013,7 +1013,7 @@
MODULE NAME: kernelbase.dll Executable = C:\windows\system32\kernelbase.dll - Process ID = 0x000000D4 + Process ID = 0x000000EC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF Base address = 0x7F940000 @@ -1021,12 +1021,12 @@
MODULE NAME: ucrtbase.dll Executable = C:\windows\system32\ucrtbase.dll - Process ID = 0x000000D4 + Process ID = 0x000000EC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF - Base address = 0x7F5F0000 + Base address = 0x7F5E0000 Base size = 786432
- THREAD ID = 0x000000D8 + THREAD ID = 0x000000F0 Base priority = 0 Delta priority = 0
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #10 from Austin English austinenglish@gmail.com --- Sorry, ignore those logs (executables are valid though); wasn't thinking and ran those on wine, not windows. New logs coming shortly.
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #11 from Austin English austinenglish@gmail.com --- Created attachment 67854 --> https://bugs.winehq.org/attachment.cgi?id=67854 arm test binary
$ sha256sum a.exe b079eefb752b285ece8795973d468696bb537fe1f9ca8836f57ed6ba933cb030 a.exe
https://bugs.winehq.org/show_bug.cgi?id=44988
--- Comment #12 from Austin English austinenglish@gmail.com --- (In reply to Austin English from comment #10)
Sorry, ignore those logs (executables are valid though); wasn't thinking and ran those on wine, not windows. New logs coming shortly.
Sorry, took a bit longer than expected, broke the tablet and had to reformat it.
Anyway, got a working binary with mingw. I ran notepad, then the testcase, closed and reopend notepad, then the testcase. Isolating the notepad process output, and running diff, gives: --- notepad1.txt 2020-08-01 13:13:08.000000000 -0500 +++ notepad2.txt 2020-08-01 13:12:22.000000000 -0500 @@ -1,7 +1,7 @@ ===================================================== PROCESS NAME: notepad.exe ------------------------------------------------------- - Process ID = 0x00000C6C + Process ID = 0x00000BBC Thread count = 5 Parent process ID = 0x00000DB4 Priority base = 8 @@ -9,7 +9,7 @@
MODULE NAME: notepad.exe Executable = C:\Windows\system32\notepad.exe - Process ID = 0x00000C6C + Process ID = 0x00000BBC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF Base address = 0x00E70000 @@ -17,7 +17,7 @@
MODULE NAME: ntdll.dll Executable = C:\Windows\SYSTEM32\ntdll.dll - Process ID = 0x00000C6C + Process ID = 0x00000BBC Ref count (g) = 0xFFFF Ref count (p) = 0xFFFF Base address = 0x77CF0000
(Other dlls show the same behavior).
https://bugs.winehq.org/show_bug.cgi?id=44988
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #67293|0 |1 is obsolete| |
--- Comment #13 from Austin English austinenglish@gmail.com --- Created attachment 67855 --> https://bugs.winehq.org/attachment.cgi?id=67855 logs from try 2