DFHack / dfhack

Memory hacking library for Dwarf Fortress and a set of tools that use it
Other
1.88k stars 477 forks source link

game freezed in 50.08 when play in wine on linux #3032

Closed Dawn-Xu-helloworld closed 6 months ago

Dawn-Xu-helloworld commented 1 year ago

In 50.0x in wine the game freeze when I generate a new world or load a current game,without any errors or warnings appear.

Dawn-Xu-helloworld commented 1 year ago

Oh I forgot it. My computer running Gentoo with OpenRC ,wine version 8.3

myk002 commented 1 year ago

I've been running DF (and DFHack) successfully in Proton 7.0 (Steam's fork of wine). Does that work for you? I'm also on Gentoo, incidentally.

Dawn-Xu-helloworld commented 1 year ago

I've been running DF (and DFHack) successfully in Proton 7.0 (Steam's fork of wine). Does that work for you? I'm also on Gentoo, incidentally.

hmmm , have you tried 50.0x classic ? proton is a big package, I don't want to waste too much time on completing

Dawn-Xu-helloworld commented 1 year ago

I've been running DF (and DFHack) successfully in Proton 7.0 (Steam's fork of wine). Does that work for you? I'm also on Gentoo, incidentally.

hmmm , have you tried 50.0x classic ? proton is a big package, I don't want to waste too much time on completing

50.07 classic version got freezed...

melissaboiko commented 1 year ago

having a freeze during loading of fortress mode, running 50.08, wine 8.7, no Proton. will be happy to provide more debug information if wanted.

lethosor commented 1 year ago

What version of DFHack are you both using?

melissaboiko commented 1 year ago

dfhack-50.08-r1-Windows-64bit for me, from the github zipfile.

melissaboiko commented 1 year ago

did a bit more testing:

 0114:err:ole:com_get_class_object apartment not initialised
lethosor commented 1 year ago

Does it hang if you uninstall DFHack?

melissaboiko commented 1 year ago

yup! just rename dfhooks and vanilla works again, I'm playing it like that rn with no issues.

Dawn-Xu-helloworld commented 1 year ago

Does it hang if you uninstall DFHack?

DF could work fine with no DFHack

seeschloss commented 1 year ago

Same problem, with DF classic 50.08 and dfhack-50.08-r3-Windows-64bit.zip.

Works fine when I uninstall DFHack/rename dfhooks.dll.

myk002 commented 1 year ago

is there any output in stderr.log? This one is hard to debug since DFHack doesn't actually do anything during worldgen. Is this at the beginning or end of the worldgen process?

seeschloss commented 1 year ago

Ok I realize wasn't clear, I didn't even try worldgen because it freezes when loading a game.

There is nothing in stderr.log, the last line is "Invoking: enable work-now" but that happens on the main screen. No new message while loading, and no message once it freezes.

I have to note that the music keeps playing.

Edit I built Proton to try it, and the result is the same.

myk002 commented 1 year ago

And this is during the savegame loading process, not at the end?

Did you have DFHack installed when you saved the game in the first place?

If you upload your savegame and mods directory and paste the link here, I can try to reproduce the hang on my system and investigate.

seeschloss commented 1 year ago

It's at the very end of the loading process as far as I can tell, so maybe it's not even the loading process but just the actual play that hangs. Screen is just blank (with music playing).

The same save loads well with dfhack under Windows (in a virtual machine).

It's a save from a world generated under 0.50.8 without dfhack, I'm going to try and upload it tomorrow.

14 juin 2023 18:39:09 Myk @.***>:

And this is /during/ the savegame loading process, not at the end?

Did you have DFHack installed when you saved the game in the first place?

If you upload your savegame and mods directory and paste the link here, I can try to reproduce the hang on my system and investigate.

— Reply to this email directly, view it on GitHub[https://github.com/DFHack/dfhack/issues/3032#issuecomment-1591619656], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAKUMHF5AXJBQC7S4K2ANBDXLHR7PANCNFSM6AAAAAAV6LR5LA]. You are receiving this because you commented.[Image de pistage][https://github.com/notifications/beacon/AAKUMHCD4DG4MASLEQE7WNDXLHR7PA5CNFSM6AAAAAAV6LR5LCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS63YYEQ.gif]

seeschloss commented 1 year ago

So I just generated a pocket world (without dfhack), started a fortress (without dfhack) and then enabled dfhack, loaded it and it froze. And I have no mods.

Here is the save: region2.tar.gz

Tried to generate worlds without dfhack, and it froze at "running rivers" every time with a pocket world, but at "forming lakes" starting from "smaller" size.

For the sake of completeness, I just tried to generate a (pocket) world without dfhack and to start a new fortress with dfhack. It freezes at "Preparing graphics... Vanilla Music". Here is this save if you need it: region3.tar.gz

seeschloss commented 1 year ago

Just tried r4 and the same problem is still present.

I noticed something though, not sure if it has any meaning but the wine output has a line that repeats every minute about a wait:

0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
ac_compute_device_uuid's output is based on invalid pci bus info.
ac_compute_device_uuid's output is based on invalid pci bus info.
011c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00000001800725B7, 28) stub
0130:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0130:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 10003241, 28) stub
wine: configuration in L"/home/seeschloss/.wine" has been updated.
0148:fixme:keyboard:LoadKeyboardLayoutW name L"00000409", flags 80, semi-stub!
0148:fixme:keyboard:LoadKeyboardLayoutW name L"00000409", flags 1, semi-stub!
0148:fixme:keyboard:X11DRV_ActivateKeyboardLayout 0x4090409, 0000: semi-stub!
0150:fixme:menu:NtUserGetSystemMenu not supported on other process window 0x600a4
0150:err:ole:com_get_class_object apartment not initialised
0170:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 0000000005D5FE10
0158:err:sync:RtlpWaitForCriticalSection section 000000000198B040 (null) wait timed out in thread 0158, blocked by 0150, retrying (60 sec)
0158:err:sync:RtlpWaitForCriticalSection section 000000000198B040 (null) wait timed out in thread 0158, blocked by 0150, retrying (60 sec)
0158:err:sync:RtlpWaitForCriticalSection section 000000000198B040 (null) wait timed out in thread 0158, blocked by 0150, retrying (60 sec)
0158:err:sync:RtlpWaitForCriticalSection section 000000000198B040 (null) wait timed out in thread 0158, blocked by 0150, retrying (60 sec)
quietust commented 1 year ago

For the record, this hang can be avoided by running wine[64] explorer Dwarf\ Fortress.exe or wineconsole Dwarf\ Fortress.exe.

seeschloss commented 1 year ago

It does work! Thanks for this info.

myk002 commented 6 months ago

keeping this open so we remember to document the need for wineconsole