Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0000888Dwarf FortressPathfindingpublic2010-04-09 11:072011-03-23 13:02
darkfred 
Toady One 
highcrashsometimes
resolvedduplicate 
0.31.03 
0.31.22 
0000888: Crash when creating a burrow with no area designated and adding dwarves.
I added all my dwarves to a new burrow. Did not designate a location for this burrow. It immediately crashed on exiting the screen.
See DoctorZuber's note
A short, reproducible crash method is appended here
---
1. (w) (a) create burrow, define nothing
2. (esc) leave the screen
3. (m) (a) go to alerts
4. assign the alert to the burrow
5. crash
burrow, crash
related to 0002412resolved Toady One Crash when removing burrow 
parent of 0000092closed Footkerchief Crashed on Burrows 
has duplicate 0003519resolved Logical2u Assign Civs to burrow with no area defined leads to crash 
Issue History
2010-04-09 11:07darkfredNew Issue
2010-04-09 11:10FootkerchiefRelationship addedparent of 0000092
2010-04-09 11:11FootkerchiefNote Added: 0002362
2010-04-09 11:20darkfredNote Added: 0002363
2010-04-09 11:34DwarfuNote Added: 0002365
2010-04-09 11:38DoctorZuberNote Added: 0002367
2010-04-09 11:55FootkerchiefReproducibilityhave not tried => sometimes
2010-04-09 12:03DoctorZuberNote Added: 0002374
2010-04-09 12:09DoctorZuberNote Edited: 0002374bug_revision_view_page.php?bugnote_id=0002374#r739
2010-04-09 12:15KennelTag Attached: burrows
2010-04-09 12:15KennelTag Attached: crash
2010-04-09 12:16KennelTag Attached: burrow
2010-04-09 12:16KennelTag Detached: burrows
2010-04-13 09:32JinalealiaIssue Monitored: Jinalealia
2010-04-30 16:43Logical2uProduct Version => 0.31.03
2010-04-30 16:43Logical2uSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=2140#r2140
2010-06-21 11:17FootkerchiefRelationship addedrelated to 0002412
2010-07-11 08:48slinkNote Added: 0009934
2010-11-05 15:32Logical2uRelationship addedhas duplicate 0003519
2011-03-19 16:46Toady OneStatusnew => resolved
2011-03-19 16:46Toady OneFixed in Version => 0.31.22
2011-03-19 16:46Toady OneResolutionopen => fixed
2011-03-19 16:46Toady OneAssigned To => Toady One
2011-03-23 13:02FootkerchiefResolutionfixed => duplicate

Notes
(0002362)
Footkerchief   
2010-04-09 11:11   
Does it reproduce if you try the same thing again?
(0002363)
darkfred   
2010-04-09 11:20   
I have been avoiding the creating of zero size burrows since then. I will do some tests tonight and see if I can reproduce it.
(0002365)
Dwarfu   
2010-04-09 11:34   
It reproduces. I just made a burrow (without designating a size) and assigned the first 7 dwarves to it. After it started making announcements about job cancellations, it crashed.
(0002367)
DoctorZuber   
2010-04-09 11:38   
Reproduces here, but fiddling with this a bit more...

I created a burrow, added a citizen to it with c which did not immediately cause a crash. trying a few things going back and forth between burrows, adding more citizens, finally crashed after several tries. crashed when pressing (w) for the burrows screen.

I will try to isolate this more.
(0002374)
DoctorZuber   
2010-04-09 12:03   
(edited on: 2010-04-09 12:09)
1. (w) (a) create burrow, define nothing
2. (esc) leave the screen
3. (m) (a) go to alerts
4. assign the alert to the burrow
5. crash

6. repeating 1-5 for consistency test causes the crash again.
7. retrying this several times reveals that a frame must pass before the crash occurs. pausing before doing these steps temporarily avoids the crash.

Trying another direction from scratch
8. (w) (a) as before, define burrow
9. (c) add a single citizen to the burrow
10. leave the screen and unpause -- No immediate crash. strange.
11. (w) (a) (c) add more citizens to the burrow.
12. again, no immediate crash. what's different here ?
13. shortly after saying this the game crashes. okay... now what?

Trying to isolate further...

14. (w) (a) as before, define burrow
15. (c) adding all seven citizens to burrow
16. leave the screen, unpause, crashes a very short time after unpausing.

17. repeating 14 to 16 several times consistently crashes within a few seconds of unpausing. Possible quirk of pathfinding altering the result slightly?

18. (w) (a) as before define burrow
19. (c) adding single citizen to burrow
20. leave screen, unpause, no crash... strange...
- 20a. looking closer reveals that my citizen (woodcutter) is stuck downstairs in the middle of a "store item in stockpile" task. Not quite what I was looking for, possible relation to 0000733
- 20b. deleting the burrow frees up the woodcutter to move normally.
- 20c. crashing again with 14-16 to reset my test area.

21. repeating 18-20 with a different citizen results in a crash within a few seconds as expected.
22. repeating this test generates a stuck mason with no-job

End of test

Conclusions
- as soon as a citizen tries to path to an undefined burrow, the game crashes.

- sometimes citizens fail to path prior to causing this crash. when this occurs they become stuck as described in 0000733.

(0009934)
slink   
2010-07-11 08:48   
I have information to add to this. ========================================================================
EXPERIMENT A
Steps:

1. Create a burrow and include in it all aboveground areas plus all excavated areas.
2. Put everyone in this burrow except a few individuals.
3. Create a second burrow but do not include any area in this burrow.
4. Let the game run for a time.

No crash results.
========================================================================
EXPERIMENT B
Steps:

1. Create a burrow and include in it all aboveground areas plus all excavated areas.
2. Put everyone in this burrow.
3. Create a second burrow but do not include any area in this burrow.
4. Put a few individuals into this burrow.
5. Let the game run for a time.

No crash results.
========================================================================
EXPERIMENT C
Steps:

1. Create a burrow and include in it all aboveground areas plus all excavated areas.
2. Put everyone in this burrow except a few individuals.
3. Create a second burrow but do not include any area in this burrow.
4. Put the individuals excepted from the first burrow into this one.

The game will crash almost immediately.
========================================================================
EXPERIMENT D
Steps:

1. Create a burrow and include in it all aboveground areas plus all excavated areas.
2. Put everyone in this burrow.
3. Let the game run for a time.
4. Create a second burrow but do not include any area in this burrow.
5. Put a few individuals into this one and simultaneously remove them from the first burrow.

The game will crash after some small delay, which is presumably the next time it updates the positions of those individuals who were removed from the common burrow and assigned to the burrow with no area.
========================================================================
EXPERIMENT E
Steps:

1. Create a burrow and include in it all aboveground areas plus all excavated areas.
2. Put everyone in this burrow except a few individuals.
3. Let the game run for a time.
4. Create a second burrow but do not include any area in this burrow.
5. Remove the burrow designation from a small area of the first burrow.
5. Put the individuals excepted above into the second burrow.
6. Let the game run.

The game will crash after a delay while spamming errors from pathing, even though there is an accessable burrow-free section.
========================================================================
CONCLUSION

When the game is forced to place Dwarves in a burrow with no defined area, it crashes. This only happens if they are assigned to only one burrow and that burrow has no area defined. If they are assigned to more than one burrow and one of those has an area, the game doesn't seem to have a problem. Providing an accessable burrow-free area does not remedy the problem although the symptoms are leading up to the crash may be slightly different in that case.

Link to fortress used in experiments:

http://dffd.wimbli.com/file.php?id=2655 [^]