Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0001917Dwarf FortressGeneralpublic2010-05-16 23:082010-06-09 07:56
Creidieki 
Toady One 
normalcrashalways
resolvedduplicate 
64-bit Ubuntu/64-bit Windows 7
0.31.04 
0.31.06 
0001917: Repeatable 31.04/31.03 crash on load - hospital related
Edit: Encasing the hospital in obsidian/otherwise interrupting the medical dwarves seems to halt the crash.
---
One timestep after this game is loaded, it crashes. The save was originally generated on 31.03 (under wine on 64-bit Linux). It still crashes on 31.04 (Linux native).
Load save. Unpause or advance one timestep.
http://dffd.wimbli.com/file.php?id=2362 [^]

I've tried removing all zones, canceling all jobs, unappointing all nobles, and disbanding the military. In an alternate save I killed the mayor. None of these prevent the crash.
No tags attached.
child of 0001828resolved Toady One Crash when doctor cleans patient with almost-depleted bar of soap (size goes negative?) 
Issue History
2010-05-16 23:08CreidiekiNew Issue
2010-05-16 23:12FootkerchiefNote Added: 0006852
2010-05-17 04:28Logical2uNote Added: 0006875
2010-05-17 04:29Logical2uPlatform64-bit Ubuntu => 64-bit Ubuntu/64-bit Windows 7
2010-05-17 04:29Logical2uSummaryRepeatable 31.04 crash on load => Repeatable 31.04/31.03 crash on load - hospital related
2010-05-17 04:29Logical2uDescription Updatedbug_revision_view_page.php?rev_id=2577#r2577
2010-05-17 04:30Logical2uRelationship addedrelated to 0001264
2010-05-17 04:37Logical2uNote Edited: 0006875bug_revision_view_page.php?bugnote_id=0006875#r2579
2010-05-17 09:47CreidiekiNote Added: 0006888
2010-05-17 09:52FootkerchiefNote Added: 0006889
2010-05-31 04:06se5aNote Added: 0007510
2010-05-31 04:18se5aNote Edited: 0007510bug_revision_view_page.php?bugnote_id=0007510#r2794
2010-06-01 06:27AmetsalaIssue Monitored: Ametsala
2010-06-03 11:02zerglNote Added: 0007615
2010-06-03 11:02zerglIssue Monitored: zergl
2010-06-03 11:26FootkerchiefRelationship addedchild of 0001828
2010-06-03 11:26FootkerchiefRelationship deletedrelated to 0001264
2010-06-03 11:48zerglNote Edited: 0007615bug_revision_view_page.php?bugnote_id=0007615#r2829
2010-06-03 11:50zerglNote Edited: 0007615bug_revision_view_page.php?bugnote_id=0007615#r2830
2010-06-03 11:57zerglNote Edited: 0007615bug_revision_view_page.php?bugnote_id=0007615#r2831
2010-06-03 12:04zerglNote Edited: 0007615bug_revision_view_page.php?bugnote_id=0007615#r2832
2010-06-03 14:07zerglIssue End Monitor: zergl
2010-06-04 05:53se5aNote Added: 0007652
2010-06-04 09:26zerglNote Added: 0007655
2010-06-04 14:33se5aNote Added: 0007679
2010-06-06 02:13Toady OneNote Added: 0007773
2010-06-06 02:13Toady OneStatusnew => resolved
2010-06-06 02:13Toady OneFixed in Version => 0.31.06
2010-06-06 02:13Toady OneResolutionopen => fixed
2010-06-06 02:13Toady OneAssigned To => Toady One
2010-06-06 09:02FootkerchiefResolutionfixed => duplicate
2010-06-09 06:45Toady OneStatusresolved => closed
2010-06-09 07:56FootkerchiefStatusclosed => resolved

Notes
(0006852)
Footkerchief   
2010-05-16 23:12   
Have you re-saved the game in 31.04, or is it still a 31.03 save? If it's still a 31.03 save, does it crash in 31.03 as well?
(0006875)
Logical2u   
2010-05-17 04:28   
(edited on: 2010-05-17 04:37)
I'm getting the crash in 31.03. I'd really like to link it to one of the other "one frame crashes" I've looked at, but now that I've seen the hospital crashes, part of me is starting to think that not all crashes can be stopped in one frame - you need a few frames to get dwarves to remove the beds the buggy dwarves are sleeping on.

Right, I think the crash IS related to your hospital. I opened up DF hack, and spawned magma and water on your hospital beds, which cancelled some of the hospital jobs - I was able to get it to advance 1 frame. I then unpaused it, and it ran for a little bit without any further crashes.

Edit: You don't need to kill any dwarves to get the game to work. Just spawn 7/7 squares of water over most of your hospital zone. This will interrupt your doctors and their work which is causing the crash. I just used magma to obsidianize the dwarves because I thought just water wouldn't work.

(0006888)
Creidieki   
2010-05-17 09:47   
It's still a 31.03 save, sorry for being unclear. Let me know if you'd like me to load it in 31.04, save it immediately, and upload that version too.

Logical2u, thank you very much for the workaround. I'll try that today. I was really hoping I could continue this fortress.
(0006889)
Footkerchief   
2010-05-17 09:52   
It's still a 31.03 save, sorry for being unclear. Let me know if you'd like me to load it in 31.04, save it immediately, and upload that version too.

Nah, won't be necessary, especially since Logical2u pinned it down. Thanks though!
(0007510)
se5a   
2010-05-31 04:06   
(edited on: 2010-05-31 04:18)
I have an repeatable crash issue too. I'll try messing with the hospital and see if that fixes it when I next get a chance to play.

mine is completely 31.04 - world creation everything.

Edit:
actually I'll quickly upload a save, then if someone is board enough they can check it out.
http://dffd.wimbli.com/file.php?id=2433 [^]

run for about ~5min.

(0007615)
zergl   
2010-06-03 11:02   
(edited on: 2010-06-03 12:04)
The original report's crash can also be prevented/postponed by forbidding all soap in the hospital area.

Forbidding the bar of rhesus macaque soap used in the first clean wound job from the left prevents the one-step crash, crashing a few steps later. Forbidding the cat soap used a few beds to the right keeps it from crashing until the rhesus macaque soap in the hospital container is picked up, carried to a patient and used.
Forbidding all soap apparently prevents the crash altogether.

The low amount of soap shown in the hospital zone inventory screen also seems to point towards my "negative amounts of soap" theory which I postulated in one of the other soap crash bug reports.


See: http://www.bay12games.com/dwarves/mantisbt/view.php?id=2054 [^]

(Yes, I'm trying to consolidate all the soap-crash healthcare bugs in case anyone wonders.)


edit: Forbidding a certain bar of Horse Soap also prevents the crash in se5a's save.
edit: There appears to be another bar causing this crash as it happens a bit later after forbidding the first culprit.
edit: Yeah, forbidding the next bar of soap used in cleaning a patient again postpones the crash until the next clean patient job caused a crash. I saw the doctor in question walk up to a patient with a bar of soap immediately before the crash, so I chalk this crashing issue up as soap induced.
final edit (I think): Forbidding all soap in the hospital zone keeps se5a's savegame running for quite some time (I called it a day after several minutes of nothing happening).

(0007652)
se5a   
2010-06-04 05:53   
Thanks for that Zergl - I tried removing the hospital zone from that save and it seemed to run longer, but still crashed eventually. normal dwarfs will use soap to clean themselves wont they? I guess that could be causing the crash further on.
the game does also have a goblin archer flying around on a giant cave swallow. my next test was going to be to kill that by spawning magma on it or something. but this soap thing sounds more promising.
(0007655)
zergl   
2010-06-04 09:26   
"I tried removing the hospital zone from that save and it seemed to run longer, but still crashed eventually. normal dwarfs will use soap to clean themselves wont they?"

Medical dorfs will still use it to clean wounds outside of hospital areas as long as they have access to soap, if I remember correctly. Removing the hospital zone probably just cancels the current clean patient jobs and possibly retasks them with different bars, postponing the crash, but nothing prevents the bars from being used to clean self or a patient later on.
And yeah, ordinary dorfs will use any bar of soap not in a hospital zone to clean self, so they might be responsible as well for later crashes, but I know of at least one reported crash where a clean patient job outside of a hospital zone was the culprit.

My suggestion for a workaround would be to occasionally dump and atom smash all bars of soap (possibly using the hospital zone's inventory screen to sort through the individual bar's sizes with some micromanagement to only dump the almost used up bars) and cooking up a new batch, assuming that my theory about negative soap bar size is indeed the actual cause of the crash and not just a coincidence or side effect.
(0007679)
se5a   
2010-06-04 14:33   
is it possible to see the size of a bar of soap?
(0007773)
Toady One   
2010-06-06 02:13   
I fixed the save from 0001828 that had the small bar of soap, so going with the small bar located by zergl, I'm going to go ahead and mark this one as resolved for 0.31.06.