http://bugs.winehq.org/show_bug.cgi?id=60220 James <winebugs@protonmail.ch> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #3 from James <winebugs@protonmail.ch> --- Correcting my own report: the central claim here is wrong, and I am closing it. After filing, I built a focused native Win32 probe that exercises the failure paths this report names, and ran the SAME binary on two Wine versions. GetLastError is CORRECT in every case, including the FindNextFile-exhausted case I specifically called out: test wine-11.15 wine-10.0 (Sikarugir) -------------------------------------------- ----------- --------------------- CreateFile(missing file) -> 2 OK OK CreateFile(under missing dir) -> 3 OK OK DeleteFile(missing) -> 2 OK OK FindFirstFile(missing dir) -> 3 OK OK GetLastError after FindNextFile loop exhausted -> 18 OK OK RemoveDirectory(non-empty) -> 145 OK OK CreateFile(already held excl.) -> 32 OK OK DeleteFile(open handle) -> 32 OK OK RemoveDirectory(missing) -> 2 OK OK 9/9 correct on both versions. So the Win32 layer is behaving correctly and this bug, as written, is invalid. The underlying symptom is real and reproducible in the application (a .NET/Unity game): System.IO throws a generic IOException with the message "Success" (strerror(0)) instead of the typed DirectoryNotFoundException / FileNotFoundException. But the cause is not the raw Win32 error code, and I misattributed it. Two candidates I have not yet separated: 1. Unity's forked Mono runtime (mono-2.0-bdwgc.dll) mishandling the error in its P/Invoke layer -- this would be a wine-mono / mscoree matter, not kernel32, and may not be a Wine bug at all. 2. Concurrency. The failure was originally observed under the application's heavily concurrent IO. My probe is single-threaded and passes consistently, so it cannot reproduce a race. I would rather withdraw a wrong report than leave it consuming triage time. Closing as INVALID. If I can characterise it properly -- specifically, reproduce it under concurrency or isolate it to the managed layer -- I will file a new bug against the correct component with a reproducer that actually demonstrates it. Apologies for the noise, and thanks for maintaining Wine. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.