DFHack / stonesense

A retro isometric visualizer for Dwarf Fortress
https://github.com/DFHack/dfhack
Other
372 stars 54 forks source link

DF crashes when launching stonesense #92

Closed Scrixx closed 1 year ago

Scrixx commented 1 year ago

Dwarf Fortress Steam Version

Specs Windows 10 AMD Ryzen 5900x NVIDIA RTX 3070

Steps

  1. Install Dwarf Fortress 50.05
  2. Download DFHack 50.05-alpha1
  3. Extract and copy contents to DF folder and replace SDL.dll file
  4. Start a world, embark.
  5. In console type stonesense
  6. Crash to desktop

The only thing in the error log is this

Midmap effective coordinate check out of bounds
Midmap effective coordinate check out of bounds
Midmap effective coordinate check out of bounds
Midmap effective coordinate check out of bounds

I tried searching old issues and found a 2018 one that says to set NVDIA control panel to use NVIDIA GPU, I tried turning off extra monitors, I tried fullscreen/windowed, everything still crashes. Please help.

lethosor commented 1 year ago

Moving to Stonesense repo. Possible duplicate of https://github.com/DFHack/stonesense/issues/63, but that can't be determined for sure because the save predates v50.

lethosor commented 1 year ago

What exactly does the behavior look like? Does the Stonesense window appear at all (e.g. #63)? If so, for how long? Does anything appear in the DFHack console?

Scrixx commented 1 year ago

I seem to be getting the same error as that one, something about sRGB profile, but my DF crashes regardless of window size, I've tried fullscreen/windowed with various resolutions. DF just closes after stonesense opens.

If I'm not in an embark then stonesense opens to this image below image

If I'm in an embark, paused or play, then stonesense opens to this below, then everything closes after 2~ seconds. image

stderr

DFHack build: 50.05-alpha1-0-g3958d376 Starting with working directory: C:\Users\Scrixx\Downloads\Dwarf.Fortress.v50.05\Dwarf.Fortress.v50.05 Identifying DF version. Loading hack\symbols.xml ... OK v0.50.05-steam SDL win64 (windows): PE: 0x63B6063B v0.50.04-steam SDL win64 (windows): PE: 0x63a2a9ad Loaded 2 DF symbol tables. Version: v0.50.05-steam SDL win64 Initializing Console. Console is running. Binding to SDL. Initializing textures. Initializing plugins. loading plugin autobutcher loaded plugin autobutcher; DFHack build 50.05-alpha1-0-g3958d376 loading plugin autochop loaded plugin autochop; DFHack build 50.05-alpha1-0-g3958d376 loading plugin autofarm loaded plugin autofarm; DFHack build 50.05-alpha1-0-g3958d376 loading plugin blueprint loaded plugin blueprint; DFHack build 50.05-alpha1-0-g3958d376 loading plugin changelayer loaded plugin changelayer; DFHack build 50.05-alpha1-0-g3958d376 loading plugin changevein loaded plugin changevein; DFHack build 50.05-alpha1-0-g3958d376 loading plugin cleanconst loaded plugin cleanconst; DFHack build 50.05-alpha1-0-g3958d376 loading plugin cleaners loaded plugin cleaners; DFHack build 50.05-alpha1-0-g3958d376 loading plugin cleanowned loaded plugin cleanowned; DFHack build 50.05-alpha1-0-g3958d376 loading plugin cursecheck loaded plugin cursecheck; DFHack build 50.05-alpha1-0-g3958d376 loading plugin debug loaded plugin debug; DFHack build 50.05-alpha1-0-g3958d376 loading plugin dig-now loaded plugin dig-now; DFHack build 50.05-alpha1-0-g3958d376 loading plugin eventful loaded plugin eventful; DFHack build 50.05-alpha1-0-g3958d376 loading plugin fastdwarf loaded plugin fastdwarf; DFHack build 50.05-alpha1-0-g3958d376 loading plugin filltraffic loaded plugin filltraffic; DFHack build 50.05-alpha1-0-g3958d376 loading plugin hotkeys loaded plugin hotkeys; DFHack build 50.05-alpha1-0-g3958d376 loading plugin liquids loaded plugin liquids; DFHack build 50.05-alpha1-0-g3958d376 loading plugin misery loaded plugin misery; DFHack build 50.05-alpha1-0-g3958d376 loading plugin nestboxes loaded plugin nestboxes; DFHack build 50.05-alpha1-0-g3958d376 loading plugin orders loaded plugin orders; DFHack build 50.05-alpha1-0-g3958d376 loading plugin overlay loaded plugin overlay; DFHack build 50.05-alpha1-0-g3958d376 loading plugin pathable loaded plugin pathable; DFHack build 50.05-alpha1-0-g3958d376 loading plugin probe loaded plugin probe; DFHack build 50.05-alpha1-0-g3958d376 loading plugin regrass loaded plugin regrass; DFHack build 50.05-alpha1-0-g3958d376 loading plugin RemoteFortressReader loaded plugin RemoteFortressReader; DFHack build 50.05-alpha1-0-g3958d376 loading plugin reveal loaded plugin reveal; DFHack build 50.05-alpha1-0-g3958d376 loading plugin seedwatch loaded plugin seedwatch; DFHack build 50.05-alpha1-0-g3958d376 loading plugin showmood loaded plugin showmood; DFHack build 50.05-alpha1-0-g3958d376 loading plugin stonesense loaded plugin stonesense; DFHack build 50.05-alpha1-0-g3958d376 loading plugin tiletypes loaded plugin tiletypes; DFHack build 50.05-alpha1-0-g3958d376 loading plugin xlsxreader loaded plugin xlsxreader; DFHack build 50.05-alpha1-0-g3958d376 Starting the TCP listener. Starting IO thread. Starting DF input capture thread. Listening on port 5000 DFHack is running. Loading script: dfhack-config/init/default.dfhack.init Invoking: script hack/init/dfhack.default.init Loading script: hack/init/dfhack.default.init Invoking: script hack/init/dfhack.keybindings.init Loading script: hack/init/dfhack.keybindings.init Invoking: keybinding add gui/launcher Invoking: keybinding add Ctrl-Shift-D gui/launcher Invoking: keybinding add Ctrl-Shift-P "gui/launcher --minimal" Invoking: keybinding add Ctrl-Shift-C hotkeys Invoking: keybinding add Ctrl-Shift-K gui/cp437-table Invoking: script hack/init/dfhack.tools.init Loading script: hack/init/dfhack.tools.init Invoking: enable overlay Loading script: dfhack-config/init/dfhack.init Invoking: gui/prerelease-warning loaded map in prerelease build Loading script: dfhack-config/init/default.onLoad.init Invoking: script hack/init/onLoad.default.init Loading script: hack/init/onLoad.default.init Loading script: dfhack-config/init/onLoad.init Invoking: stonesense libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: out-of-date sRGB profile with no signature Loading script: dfhack-config/init/default.onMapLoad.init Invoking: script hack/init/onMapLoad.default.init Loading script: hack/init/onMapLoad.default.init Loading script: dfhack-config/init/onMapLoad.init Invoking: stonesense libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: out-of-date sRGB profile with no signature `

stdout.log

Resetting textures Resetting textures Resetting textures Resetting textures Resetting textures Resetting textures Resetting textures Resetting textures Resetting textures

stdout.txt

`Loading bindings from prefs/interface.txt Loading bindings from data/init/interface.txt New window size: 1200x800 Font size: 8x12 Resizing grid to 150x66 Resizing font to 8x12

Resetting textures New window size: 1200x800 Font size: 8x12 Resizing grid to 150x66 Resizing font to 8x12

dfhack: redirecting stdout to stdout.log (again) `

mkoponen commented 1 year ago

I seem to be getting the same error as that one, something about sRGB profile

As I mentioned in my issue, although the sRGB warning was the only line of interest either in the logs or the stderr, I determined it to be almost certainly irrelevant to the crash. Because it also occurred in non-crash scenarios. That is to say, if I allowed the game to proceed a bit from the problem save, and then went through the same process. I had the warning and no crash. In other words, my conclusion is that there is nothing informative about the crash in any output.

EDIT: If one were to get really desperate about catching this bug in its current form in a repeatable way, then my old save could theoretically still be useful: Find the old DF and Stonesense that I used, compile Stonesense with full debugging on and attach to a debugger, and see where it crashes. It will probably be a segfault. Then see if the scenario that you found is applicable to the current version of the code. Now, obviously it is not optimal to have to track the bug in this way, but normally you encounter the crash in a totally unreproducible way. I happened to get incredibly lucky to have saved exactly when the problem scenario was active.