https://bugs.winehq.org/show_bug.cgi?id=56227
Bug ID: 56227 Summary: Project CW: Unable to load engine.dll on Wine 9.0 Product: Wine Version: 9.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: charles2000wang@gmail.com Distribution: ---
A new game called Project CW by WarGaming has a game executable that loads an "engine.dll". The error messages: 0024:err:module:loader_init "engine.dll" failed to initialize, aborting 0024:err:module:loader_init Initializing dlls for L"Z:\home\user\CW\bin\engine_launcher.exe" failed, status c0000005
This does not occur in an older version of wine (tested with lutris-7.2.2 so wine 7.2)
https://bugs.winehq.org/show_bug.cgi?id=56227
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Can you do a regression test?
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #2 from Charles charles2000wang@gmail.com --- Testing of some wine builds: 8.21 does not work. 8.0.2 does not work. 7.22 does not work. 7.3 can not be built with -j. 7.3 does not work. 7.2 also does not work.
I now think that my problem has to do with my prefix and rather than a wine issue. It would be nice if wine can provide a better explanation of why a DLL could not be loaded.
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #3 from Rafał Mużyło galtgendo@o2.pl ---
It would be nice if wine can provide a better explanation...
Usually it does provide *some* clues. Are you sure there aren't any earlier lines that might be relevant ?
If you enable full 'module' channel, is there anything interesting there ?
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #4 from Charles charles2000wang@gmail.com --- Is 'module' a new debug channel in wine? I can't seem to find any documentation on it.
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #5 from Rafał Mużyło galtgendo@o2.pl --- (In reply to Charles from comment #4)
Is 'module' a new debug channel in wine? I can't seem to find any documentation on it.
No clue.
I simply picked the name from the line you've pasted. Besides, most channels aren't really documented, you either use one of the well known or just check what's defined at the top of the source file you suspect to be involved in the bug.
In this case it's likely dlls/ntdll/loader.c and 'module' is one of the sane options there (hint: neither 'relay' nor 'snoop' are).
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #6 from Charles charles2000wang@gmail.com --- I found out that Lutris Wine 7.2-2 is the only wine build that will be able to load engine.dll and start the game before it crashed for another reason. That other reason has to do with mimalloc not reporting that it is running causing the game to crash on an assertion.
Not sure what patches that particular build has that makes it able to "start" the game executable.
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #7 from Charles charles2000wang@gmail.com --- New finding. If I patch the game's exe using minject.exe which forces mimalloc-redirect.dll to be loaded first it allows other versions of wine to work. Based on info I got from mimalloc's Github: https://github.com/microsoft/mimalloc/issues/542
I don't know if wine can adjust the loading order for a specific DLL to be loaded first. Checking the user's guide I see WINEDLLOVERRIDES but it doesn't seem to change what DLL loads first.
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #8 from Fabian Maurer dark.shadow4@web.de --- Would be useful to have a simple test program to reproduce the issue with, do you think that is doable?
https://bugs.winehq.org/show_bug.cgi?id=56227
--- Comment #9 from Charles charles2000wang@gmail.com --- There is a test program as part of the mimalloc github. I will try to compile it and see if the issue occurs.