stonesense icon indicating copy to clipboard operation
stonesense copied to clipboard

Crashes on resize

Open moozaad opened this issue 9 years ago • 20 comments

@lethosor adds: see duplicates for some more details:

  • https://github.com/DFHack/stonesense/issues/69#issue-614550227

I move the window to my second monitor and resize it (approx 1800x1300, on 1440p monitor) by dragging the border. It promptly crashes DF. Same for maximise.

Faulting application name: Dwarf Fortress.exe, version: 0.0.0.0, time stamp: 0x54ad7e66
Faulting module name: MSVCR100.dll, version: 10.0.30319.1, time stamp: 0x4ba1dbbe
Exception code: 0xc0000005
Fault offset: 0x00010aac
Faulting process id: 0x1894
Faulting application start time: 0x01d09c6cd39617e4
Faulting application path: R:\DWARFF~1\DWARFF~2\Dwarf Fortress 0.40.24\Dwarf Fortress.exe
Faulting module path: R:\DWARFF~1\DWARFF~2\Dwarf Fortress 0.40.24\MSVCR100.dll
Report Id: a57230fe-0861-11e5-91e7-94de806f3893

DF 40.24 DF Hack 40.24 r3

moozaad avatar Jun 01 '15 13:06 moozaad

I tried incrementally increasing the size to catch the limitation

backbuffer w, h: 1300, 845
backbuffer w, h: 1390, 902
backbuffer w, h: 1424, 921
backbuffer w, h: 1440, 932
backbuffer w, h: 1459, 943

Then crashed. Another time I crashed at approx. 880x1100 (guess).

First-chance exception at 0x554990DD (stonesense.plug.dll) in Dwarf Fortress.exe: 0xC0000005: Access violation reading location 0x0000000C.
Unhandled exception at 0x554990DD (stonesense.plug.dll) in Dwarf Fortress.exe: 0xC0000005: Access violation reading location 0x0000000C.

Are the debug symbols anywhere?

    stonesense.plug.dll!554990dd()  Unknown
    [Frames below may be incorrect and/or missing, no symbols loaded for stonesense.plug.dll]   
    stonesense.plug.dll!55483860()  Unknown
    stonesense.plug.dll!55473f75()  Unknown
    stonesense.plug.dll!5549910c()  Unknown
    stonesense.plug.dll!55486c60()  Unknown
    stonesense.plug.dll!5548787b()  Unknown
    stonesense.plug.dll!55547242()  Unknown
    stonesense.plug.dll!5549495d()  Unknown
    stonesense.plug.dll!554a68e0()  Unknown
554990B0  push        ebp  
554990B1  mov         ebp,esp  
554990B3  sub         esp,14h  
554990B6  mov         eax,dword ptr ds:[55584720h]  
554990BB  xor         eax,ebp  
554990BD  mov         dword ptr [ebp-4],eax  
554990C0  mov         eax,dword ptr [ebp+8]  
554990C3  mov         ecx,dword ptr [ebp+0Ch]  
554990C6  mov         edx,dword ptr [ebp+10h]  
554990C9  mov         dword ptr [ebp-14h],eax  
554990CC  mov         eax,dword ptr [ebp+14h]  
554990CF  mov         dword ptr [ebp-10h],ecx  
554990D2  mov         dword ptr [ebp-0Ch],edx  
554990D5  mov         dword ptr [ebp-8],eax  
554990D8  call        55493890  
554990DD  test        byte ptr [eax+0Ch],1  <----- exception

eax = 0 0C = 12

moozaad avatar Jun 01 '15 14:06 moozaad

Note; it crashes even if on the primary monitor. It's only the resizing that causes it.

moozaad avatar Jun 04 '15 10:06 moozaad

I get this crash as well, but I have no idea what causes it, but I'm sure it's related to having Stonesense and Dwarf Fortress sharing memory together. If that's the case, the fix is not trivial at all.

RosaryMala avatar Jun 11 '15 04:06 RosaryMala

Can confirm that this still occurs, I'm using the Windows LNP 0.43.03-r06. Pretty easy to reproduce, I try and resize stonesense and it crashes.

omcnoe avatar Sep 11 '16 23:09 omcnoe

I'm also observing this on Mac OS X with a recent LNP (running DF 0.43.x I believe).

kenny-evitt avatar Feb 14 '17 01:02 kenny-evitt

Observed on Win10 (DF 0.43.05). Resizing to half screen does not crash, but full screen (1080p) does. Embarking or loading a save while stonesense is maximized (from a previous fortress) similarly crashes immediately.

allaryin avatar May 09 '17 17:05 allaryin

Same crash on macOS 10.13.1, DFHack 0.43.05-r2, attempting to resize the small window stonesize draws:

[DFHack]# stonesense
Stonesense launched
Using allegro version 5.2.2 r1
backbuffer w, h: 3360, 2100
backbuffer w, h: 3360, 2100
[DFHack]# /Users/alex/bin/dfhack: line 15: 51965 Segmentation fault: 11  DYLD_INSERT_LIBRARIES=./hack/libdfhack.dylib ./dwarfort.exe "$@"

alexchandel avatar Nov 04 '17 20:11 alexchandel

Any resize immediately crashes my df, mac os 10.12.6

chrstfer avatar May 16 '18 07:05 chrstfer

Same issue on Windows 10 with DFHack 0.43.03

RobertPeetsalu avatar Aug 30 '18 18:08 RobertPeetsalu

We're not going to fix any issues with older DF versions, particularly ones as old as 0.43.03.

lethosor avatar Aug 30 '18 19:08 lethosor

@lethosor As a matter of fact after updating to 0.44.12 the issue is gone - resizing doesn't crash, so I think you can close the issue as fixed.

RobertPeetsalu avatar Aug 30 '18 21:08 RobertPeetsalu

Note that there haven't been any significant changes to Stonesense in a while, particularly in 2018, so it's possible that this is still an issue. If this does occur in 0.44.12+, feel free to let us know, but I can't guarantee that it'll be fixed, because not many people are familiar enough with Stonesense to figure out why this could occur.

lethosor avatar Aug 31 '18 03:08 lethosor

Still happens to me .

Win10-1803, DF v0.44.12, DF-Hack version 0.44.12-r1

Mainly happens when I double click title bar or try to maximize by WIN+Up Arrow

mebu83 avatar Nov 13 '18 20:11 mebu83

Still happens to me to. Mac os 10.14.3 DF v0.44.12 DF-hack version 0.44.12-r2

tikka0000 avatar Mar 07 '19 13:03 tikka0000

Same, still happens to me.

Win10, DF v0.44.12 DF-hack version 0.44.12-r2

RaulMarq avatar Mar 16 '19 16:03 RaulMarq

How has this not been fixed it's happening to me as well.

pJotoro avatar Jan 17 '20 20:01 pJotoro

@helloguysmaster

How has this not been fixed ...

Please be friendlier. This is a free project. Someone needs to be able to reliably reproduce this issue – and they might not have access to the same hardware, or the same version of DF, DFHack, etc.. And then someone needs to spend their own time – and possibly a considerable amount too – actually investigating the problem, it's likely causes, and what might possibly be done or changed to mitigate or prevent the crashes. That's potentially a LOT of work, and there's little hope of anyone being paid for it, so there's a real opportunity cost – not just in potential paid work not done, but everything else that anyone could be doing instead (including playing DF).

This is also an open source project. Everyone has access to the source code. So you personally should have access to all of the tools and resources you might need to fix this yourself. I'd suggest starting by compiling and building DFHack – according to the DF wiki page for Stonesense:

Stonesense is one of the many DFHack plugins. It comes with DFHack's source code, and if you manage to compile DFHack, then you've managed to compile Stonesense.

Yes, you might need to learn C++; at least enough to read the code and identify, first, where in the code these crashes occur. Yes, that might be a LOT of work – much more than others that already know C++, let alone know DFHack or Stonesense (to any degree).

But still, how have YOU not fixed this already? You wrote that these crashes are happening to you too so why do you not seem to care enough to actually pitch in and help fix them for at least yourself?

It's totally understandable why you haven't done anything. It's almost certainly a LOT of work. And I sympathize with your frustration. But please don't imply that someone has failed to meet an obligation they never made, to you personally or anyone else, to ensure that a free program works forever, perfectly, with every version of DF and DFHack, and on every hardware platform on which DF runs (which is several).

But flippant remarks like "How has this not been fixed" have a real cost on the people that do try and are trying to provide others with awesome free software – don't discourage them and their work by implying that they're failing to meet a standard to which they never agreed. Instead – please – be gracious and grateful for all of the hard work they've already done for both your benefit and everyone else's too.

kenny-evitt avatar Jan 19 '20 14:01 kenny-evitt

Same, Win10, DF v0.44.12 DF-hack version 0.44.12-r2 Using 2 monitors, crashes on both. Found out, that bug happened only after launching the game. After a few game ticks the "limit" size of the window grows up to whole screen. If df paused from start any resizing crash the game.

Magapie avatar Sep 25 '20 22:09 Magapie

Same issue here, 0.47.05-r11. Two monitors. Stonesense crashes dwarf fortress on maximize only, works at any dragged size.

No mitigating factors such as game state tethered to crash events.

BarronKane avatar Dec 12 '22 04:12 BarronKane

DFHack version 50.08-r1 (release) on x86_64 Game Version: Dwarf Fortress v50.08 (Steam)

Still happens on newer versions.

Found a workaround. For StoneSense to not crash, open it through DfHack before you start your game. You will be able to resize and move it as much as you want. Afterwards, it shouldn't crash when resizing it after opening a save.

Neiker45 avatar May 06 '23 20:05 Neiker45