https://bugs.winehq.org/show_bug.cgi?id=43121
Bug ID: 43121 Summary: Game crashes during DLL load if sound is enabled Product: Wine Version: 2.9 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: zaplo00@mailfence.com Distribution: ---
Created attachment 58325 --> https://bugs.winehq.org/attachment.cgi?id=58325 Logs and winedump of DLL
I have a game that uses DirectSound. It tries to load a DLL on new game and it succeeds if sound=disabled but with alsa or pulse program crashes in loader.c:tls_alloc_slot. The problem is that the .reloc information in DLL is corrupt. There are multiple entries for the same page, so what wine does is to "relocate twice".
Game works with sound using a modified DLL where section size is changed to remove duplicates. Windows 7 and Windows 8.1 both work with original DLL and don't need compatibility mode.
Attached are logs with and without sound and winedump output.
https://bugs.winehq.org/show_bug.cgi?id=43121
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=43121
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #1 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Please, indicate the name of the game/application in the summary and description.
https://bugs.winehq.org/show_bug.cgi?id=43121
zaplo00@mailfence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Game crashes during DLL |Katahane (English patch) |load if sound is enabled |crashes during DLL load if | |sound is enabled
https://bugs.winehq.org/show_bug.cgi?id=43121
zaplo00@mailfence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |loader Distribution|--- |ArchLinux
https://bugs.winehq.org/show_bug.cgi?id=43121
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|loader |-unknown
https://bugs.winehq.org/show_bug.cgi?id=43121
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sagawa.aki+winebugs@gmail.c | |om
https://bugs.winehq.org/show_bug.cgi?id=43121
--- Comment #2 from zaplo00@mailfence.com --- This problem still happens but at least in wine-staging 2.21 game is fully playable when i remove nnl.dll completely. With dll game crashes, and with modified dll it works normally. IIRC game crashed with some earlier wine version if nnl.dll was removed so something could have changed that fixed this.
https://bugs.winehq.org/show_bug.cgi?id=43121
--- Comment #3 from zaplo00@mt2015.com --- Happens in wine 4.2, it works with dll without duplicate relocations, but crashes with original nnl.dll in ntdll fixup_imports+0x1f4.