http://bugs.winehq.org/show_bug.cgi?id=17277
Summary: Remote virtual memory allocation error Product: Wine Version: 1.1.13 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: loader AssignedTo: wine-bugs@winehq.org ReportedBy: gabmoa@yahoo.it
ZFlash is a win32 application used to simulate and edit part programs for a cnc. The simulator part is achieved running a reduced version of numerical control into a fixed memory map from 1 to 8 MB (the current version is from 1-16 MB but it's the same principle). The numerical control need to be mapped in this way because it uses fixed addresses. The application runs in NT 4 SP6, 2000, XP and Vista MS OS but in wine it doesn't work. I have seen there is a problem in the memory mapping when I try to run the application into wine so I've created a reduced example with the only "incriminated" part. In the attached zip file there are 3 projects: ZLoader, Z32Sim and Test. The steps involved are the same of the complete win32 application.
ZLoader.exe create the process 'Test', suspended, and try to reserve memory of 'Test' from 1 to 8 MB, then it resumes the process.
Test.exe is compiled with the linker flags /base:"0x800000" /stack:0x800000,0x1000 so the big stack can not be inserted into the first 8MB and the base of exe is changed from the default 4MB assigned by Visual Studio.
Z32Sim.dll is loaded into 'Test' and it have to map the memory (1-8MB).
To test it in the Debug directory we can execute ZLoader Test.exe In wine Test fail when ZLoader try to resume it (I've seen that with winedbg) with the following error:
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7ef9e617
Unfortunately it seems a not so easy task because with winedbg I can't attach to Test process when it's suspended.