View Issue Details

IDProjectCategoryView StatusLast Update
0012216Dwarf FortressDwarf Mode -- Jobs, Fishingpublic2023-01-21 10:48
Reporteremail Assigned To 
PrioritynormalSeveritycrashReproducibilityhave not tried
Status newResolutionopen 
Summary0012216: Crash involving fishing zone spanning entire map
DescriptionDF Version: 50.05 Steam
OS: Windows 10 version 10.0.19041.1

In the kitfox discord the user treese posted a save file that was crashing a few seconds after unpausing. After some investigation it was determined that the crash could be prevented by deleting the fishing zone that follows the coast all the way from the top right corner of the map down to the bottom left. I have attached a minidump in case it is helpful.

The crash occurs in the instruction at offset 0x3ceada, which is in a function which appears to iterate through an array of bools indicating which squares in the fishing zone's overall bounding box are a part of the zone. The crash happens after the loop counter overflows, triggering an access violation. The loop counter is a signed short, and the bounding box of a zone stretching from corner to corner of a standard 4x4 embark contains more tiles on a z-level than the maximum value of the loop counter. It doesn't seem common for the game to crash simply from defining a zone with a large bounding box, however it may be causing unintended effects in cases where the game doesn't crash.

Other zones may have similar issues. I noticed while testing things that if you embark somewhere with a lot of flat space and drag a meeting hall (or other zones that count most tiles) across the map you can see the counter for the number of tiles in the zone overflow.
TagsNo tags attached.

Activities

email

2023-01-06 14:30

reporter  

fishingzonecrash.dmp (56,116 bytes)

nuvu

2023-01-21 10:14

manager   ~0041736

Save provided by user treese on discord
region2.zip (48,824,035 bytes)

email

2023-01-21 10:48

reporter   ~0041737

Skye responded with the following:

I should add: while I wrote that "It doesn't seem common for the game
to crash simply from defining a zone with a large bounding box", there
is also a crash bug that can occur when designating zones that cover a
large overall area. The most consistent ways I have found to cause the
crash are to embark on a 6x6 area with only one non-ocean tile and try
drawing a fishing zone across the whole thing, and with the paint tool
adding more and more tiles to a zone extending its total bounding box
until it crashes. Attached is another minidump of that crash, also
caused by a signed short loop counter overflowing (this time at
Dwarf_Fortress+0x386df7)
assignlargezone.dmp (87,156 bytes)

Add Note

Note

Issue History

Date Modified Username Field Change
2023-01-06 14:30 email New Issue
2023-01-06 14:30 email File Added: fishingzonecrash.dmp
2023-01-21 10:12 nuvu Description Updated
2023-01-21 10:12 nuvu Steps to Reproduce => 1. Load user provided save 2. Unpause and wait
2023-01-21 10:12 nuvu Additional Information => Not reliably reproducible
2023-01-21 10:14 nuvu Note Added: 0041736
2023-01-21 10:14 nuvu File Added: region2.zip
2023-01-21 10:15 nuvu Project Triage => Dwarf Fortress
2023-01-21 10:17 nuvu Severity minor => crash
2023-01-21 10:17 nuvu Category General => Dwarf Mode -- Jobs, Fishing
2023-01-21 10:17 nuvu Description Updated
2023-01-21 10:48 email Note Added: 0041737
2023-01-21 10:48 email File Added: assignlargezone.dmp