https://bugs.winehq.org/show_bug.cgi?id=50963
Bug ID: 50963 Summary: CreateProcess occasionally fails with access violation Product: Wine Version: 6.6 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: rpisl@seznam.cz Distribution: ---
Created attachment 69794 --> https://bugs.winehq.org/attachment.cgi?id=69794 Trace log
A relatively complex CI with windows version of cmake/ninja/llvm after series of regressions since Wine 6.0 almost works again in the version 6.6. But occasionally it fails on CreateProcess with EXCEPTION_ACCESS_VIOLATION. I think it is a wine bug as I also encountered such a strange behavior in another context with Wine. I have a feeling that it is related to recent ntdll changes.
It appears quickly if CPU is under stress, parallel build is enabled and empty WINEDEBUG. However I managed to trigger the bug also with parallel build disabled and WINEDEBUG set to +process,+relay,+seh,err+all. Maybe some unininitalized variable or race condition?
I'll wait for next version of Wine to test again.
https://bugs.winehq.org/show_bug.cgi?id=50963
--- Comment #1 from Roman Pišl rpisl@seznam.cz --- Maybe the original cause is that NtCreateUserProcess() fails with 0x40000003/STATUS_IMAGE_NOT_AT_BASE ?
https://bugs.winehq.org/show_bug.cgi?id=50963
Roman Pišl rpisl@seznam.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|CreateProcess occasionally |NtCreateUserProcess |fails with access violation |occasionally fails with | |STATUS_IMAGE_NOT_AT_BASE
https://bugs.winehq.org/show_bug.cgi?id=50963
--- Comment #2 from Roman Pišl rpisl@seznam.cz --- Another observation: a workaround is to disable ASLR.
https://bugs.winehq.org/show_bug.cgi?id=50963
Roman Pišl rpisl@seznam.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://github.com/llvm/llv | |m-project/releases/download | |/llvmorg-12.0.0/LLVM-12.0.0 | |-win64.exe
--- Comment #3 from Roman Pišl rpisl@seznam.cz --- How to reproduce:
1. Install LLVM for Windows in a clean prefix 2. wine cmd 3. check for clang-cl: "C:\Program Files\LLVM12\bin\clang-cl.exe" clang-cl: error: no input files 4. run clang-cl in a loop: for /L %N in () do "C:\Program Files\LLVM\bin\clang-cl.exe" 2>NUL
"wine: failed to start L"C:\Program Files\LLVM12\bin\clang-cl.exe" appears once in a while.
https://bugs.winehq.org/show_bug.cgi?id=50963
--- Comment #4 from Roman Pišl rpisl@seznam.cz --- The bug is present in Wine 6.5 and 6.6. It is not present in Wine 6.0 and 6.1. There is a crash instead of the error message with Wine 6.2, 6.3 and 6.4.
I'll try bisecting both changes later.
https://bugs.winehq.org/show_bug.cgi?id=50963
Roman Pišl rpisl@seznam.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org, | |rpisl@seznam.cz Regression SHA1| |a3c92a02cc7014cfdb1f90f1d07 | |0037868067097 Keywords| |regression
--- Comment #5 from Roman Pišl rpisl@seznam.cz --- Crash introduced by: commit a3c92a02cc7014cfdb1f90f1d070037868067097 Author: Alexandre Julliard julliard@winehq.org Date: Mon Feb 8 12:10:49 2021 +0100
server: Get the process entry point from the exe image info.
Signed-off-by: Alexandre Julliard julliard@winehq.org
Crash replaced with error message by: commit 28fe84da45bea7de56539b50eac8ebcec54342de Author: Alexandre Julliard julliard@winehq.org Date: Wed Mar 24 10:53:53 2021 +0100
ntdll: Load the main image from the Unix side.
Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=50963
--- Comment #6 from Roman Pišl rpisl@seznam.cz --- Created attachment 69905 --> https://bugs.winehq.org/attachment.cgi?id=69905 Fix for regression in open_main_image
Attaching a patch that fixes the second regression. With that patch, the problem is no longer easily reproducible with steps from comment 3. However, in much more complex scenarios, crashes appear again. There is still a bug with relocated images.
https://bugs.winehq.org/show_bug.cgi?id=50963
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |2e0a96a483bdb2e7609993ac8c5 | |5378dbec4dcec
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Thanks for the reproduction recipe! Fixed by 2e0a96a483bdb2e7609993ac8c55378dbec4dcec.
https://bugs.winehq.org/show_bug.cgi?id=50963
--- Comment #8 from Roman Pišl rpisl@seznam.cz --- A complex build finished ten times successfully. Thanks for the fix!
https://bugs.winehq.org/show_bug.cgi?id=50963
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.8.
https://bugs.winehq.org/show_bug.cgi?id=50963
Diederik van Bochove dvbochove@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dvbochove@hotmail.com