View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0012216 | Dwarf Fortress | Dwarf Mode -- Jobs, Fishing | public | 2023-01-06 14:30 | 2023-01-21 10:48 |
Reporter | Assigned To | ||||
Priority | normal | Severity | crash | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Summary | 0012216: Crash involving fishing zone spanning entire map | ||||
Description | DF 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. | ||||
Tags | No tags attached. | ||||
|
|
|
Save provided by user treese on discord |
|
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) |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-01-06 14:30 | New Issue | ||
2023-01-06 14:30 | 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 | Note Added: 0041737 | ||
2023-01-21 10:48 | File Added: assignlargezone.dmp |