https://bugs.winehq.org/show_bug.cgi?id=51821
Bug ID: 51821 Summary: EVE Online Sisi Client Crashes Due to differences in how Wine and Windows handle LoadLibraryExW Undefined Behavior Product: Wine Version: 6.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: algebro@tuta.io Distribution: ---
I've been chasing this for the last few days and think I may finally have enough information to finally open a bug report. As of a few days ago, the Sisi testing client for EVE stopped working in recent versions of Wine, and the logs showed an unhandled Python error in a module called launchdarkly_client.pyd:
```ImportError: Failed to load DLL: Success```
I chased this down in a debugger and noticed they're passing a relative path to LoadLibraryExW for this library only (full/absolute paths for every other module), and 8 for dwFlags:
```hLibModule = LoadLibraryExW((LPCWSTR)plVar4[3],(HANDLE)0x0,8)```
Per the Microsoft documentation, 8 for dwFlags is undefined when the first argument is a relative path: https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloader...
Weirdly enough, the library loads fine on Windows (I've confirmed in windbg), but it fails with error code 0x7e (Module not found) when trying to load it in wine. Other users running Wine 4.4 say Sisi launches fine and doesn't run into the error, although I havent been able to get older versions to build to try and test it, but it sounds like there is a difference between how recent Wine versions implement LoadLibraryExW() and how Windows does, at least with regards to the undefined behavior.
Let me know if I can provide any other information that would be helpful for tracking this down.
Thanks!