Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0000035Dwarf FortressDwarf Mode -- Interface, Military Screenpublic2010-04-01 15:562010-06-09 06:46
Toady One 
PCWindowsXP sp3
0000035: Military schedule screen crashes when copy-pasting orders
Attempting to Copy orders from a month with less orders than the one you are trying to paste to automatically crashes the game.
1. Open the military screen.
2. Go to the schedule screen.
3. Set at least one order for month "x"
4. Copy a month with no orders set or with less orders set than "x"
5. Paste over month x.
From trying this out a few times, neither the exact number of orders set nor the months selected seem to matter. All that matters is that the month copied has a lower number of orders than the month pasted to.
military screen
has duplicate 0000083closed Footkerchief Military schedule copy+paste causes crash 
has duplicate 0000467closed Footkerchief Crash when copying 'no scheduled order' 
has duplicate 0000483closed Footkerchief Crash on schedule order list 
has duplicate 0000549closed Footkerchief in military screen, copying an order while "tab"bed over to the "order's list", then "tab"bing back to the months list and then 
has duplicate 0000875closed Footkerchief C/P "no scheduled orders" on the scheduling screen crashes the game 
Issue History
2010-04-01 15:56WtamerNew Issue
2010-04-01 16:54adeptableNote Added: 0000036
2010-04-02 06:06TodestoolTag Attached: military screen
2010-04-02 17:37adeptableIssue Monitored: adeptable
2010-04-03 09:08FootkerchiefRelationship addedhas duplicate 0000083
2010-04-03 15:26FootkerchiefCategoryGeneral => Dwarf Mode -- Military
2010-04-03 15:28FootkerchiefCategoryDwarf Mode -- Military => Dwarf Mode -- Interface, Military Screen
2010-04-03 19:41Draco18sNote Added: 0000753
2010-04-03 19:41Draco18sNote Edited: 0000753bug_revision_view_page.php?bugnote_id=0000753#r206
2010-04-04 16:34Steely GlintNote Added: 0000952
2010-04-05 04:44MooUKNote Added: 0001050
2010-04-05 09:05FootkerchiefRelationship addedhas duplicate 0000467
2010-04-05 09:52MooUKNote Edited: 0001050bug_revision_view_page.php?bugnote_id=0001050#r351
2010-04-05 10:05FootkerchiefRelationship addedhas duplicate 0000483
2010-04-05 19:44FootkerchiefRelationship addedhas duplicate 0000549
2010-04-06 18:37DwarfuIssue Monitored: Dwarfu
2010-04-07 11:08ercdvsNote Added: 0001802
2010-04-07 14:03DoctorZuberNote Added: 0001848
2010-04-07 15:41WtamerNote Added: 0001870
2010-04-07 15:47WtamerNote Edited: 0001870bug_revision_view_page.php?bugnote_id=0001870#r569
2010-04-09 09:22FootkerchiefRelationship addedhas duplicate 0000875
2010-04-09 09:23FootkerchiefSummaryCrash on Squad Schedule Screen => Military schedule screen crashes when copy-pasting orders
2010-04-09 09:47DoctorZuberNote Added: 0002343
2010-04-09 09:48DoctorZuberNote Edited: 0002343bug_revision_view_page.php?bugnote_id=0002343#r727
2010-04-09 09:53DoctorZuberNote Edited: 0002343bug_revision_view_page.php?bugnote_id=0002343#r728
2010-04-09 09:54DoctorZuberNote Edited: 0002343bug_revision_view_page.php?bugnote_id=0002343#r729
2010-04-09 09:56DoctorZuberNote Edited: 0002343bug_revision_view_page.php?bugnote_id=0002343#r730
2010-04-09 10:20DoctorZuberNote Added: 0002352
2010-04-09 15:24GeekthrasIssue Monitored: Geekthras
2010-04-10 18:15CultOftheRavenNote Added: 0002683
2010-04-10 20:29WtamerNote Added: 0002698
2010-04-12 06:42Toady OneNote Added: 0003033
2010-04-12 06:42Toady OneStatusnew => resolved
2010-04-12 06:42Toady OneFixed in Version => 0.31.03
2010-04-12 06:42Toady OneResolutionopen => fixed
2010-04-12 06:42Toady OneAssigned To => Toady One
2010-04-12 07:29DwarfuIssue End Monitor: Dwarfu
2010-06-09 06:46Toady OneStatusresolved => closed

2010-04-01 16:54   
I've also experienced this.

In my case, copying from a month without orders to a month with one order caused the crash.

I'm running under Ubuntu using wine. Here's my console output:

dave@monopole:~/games/dwarf/installs/8$ ./dwarfort.exe
get fences failed: -1
param: 6, val: 0
wine: Unhandled exception 0xc0000417 at address 0x7bc30073:0x009fd8d9 (thread 0009), starting debugger...
Process of pid=0008 has terminated
No process loaded, cannot execute 'echo Modules:'
Cannot get info on module while no process is loaded
No process loaded, cannot execute 'echo Threads:'
process tid prio (all id:s are in hex)
    00000012 0
    0000000e 0
    0000000d 0
    00000015 0
    00000014 0
    00000011 0
    00000010 0
    00000017 0
You must be attached to a process to run this command.
No process loaded, cannot execute 'detach'
2010-04-03 19:41   
Just had this happen to me. Bummer.

Of course, all of my military was severely wounded by a Goblin Master Thief, so I'm not particularly distressed.

Steely Glint   
2010-04-04 16:34   
I had this problem when copying from a month with 1 order to a month with 2 orders. Maybe a problem with the way orders are stored in the schedule?
2010-04-05 04:44   
(edited on: 2010-04-05 09:52)
Just had a similar crash, although previously pasting two orders over the top of one order worked fine - in this case, I think i was also pasting two over one.

EDIT: Hmm, reloaded the seasonal autosave and tried it - I have it reliable reproducible every time I paste a single order over two orders, but not the other way round nor when I paste single orders over single orders. I have this save available if it would help.

2010-04-07 11:08   
Just somewhat duplicated.

edited a "Train" order.
Set to sleep in barracks / lowered training number to 3
Copied and pasted multiple times with no issue.

removed an order (now shows 'No Scheduled Order')
Pasted, and crash on paste.
2010-04-07 14:03   
a clear summary would be...

Copying and pasting an empty order onto a non-empty order causes a crash
2010-04-07 15:41   
(edited on: 2010-04-07 15:47)
@ MooUK: Yeah, copying more orders over less works perfectly fine, it's really a case of less over more.

@ DoctorZuber: Although what you said is true (and it IS clearer) it's not exact. As MooUK pointed out, copying a month with one order and pasting it over a month with two orders also crashes the game reliably.

In all honesty, I'm much more of a stickler when it comes to precision. Sometimes clarity can suffer somewhat. My apologies.

Edit: Although now that I think about it, I guess you could put it that way - it is the pasting of an empty order over a defined one that causes the crash. If that is what you meant, DoctorZuber, then you get a double apology.

2010-04-09 09:47   
(edited on: 2010-04-09 09:56)
>>> Wtamer -- "eh? Okay I'm confused. what are you talking about?
Looking back over this I think I see where the confusion is. Refer to 0000083 for a much cleaner STR.

the updated STR to the best of my understanding of this issue is...

1. create squad
2. go to military and delete (x) an order
3. (c)copy this (empty) "No scheduled order" order
4. (p)paste this order onto any order that is not a (empty) "No scheduled order"

If you can reproduce this crash in some other way, by all means, tell us about it.

2010-04-09 10:20   
in the interests of SCIENCE! . . . I did go ahead and try copying other kinds of orders onto other orders. I was unable to generate a crash although admittedly I didn't really try everything.
2010-04-10 18:15   
Just noting that I experienced this crash as well, with the steps mentioned above. Reproduced it twice.
2010-04-10 20:29   
@DoctorZuber: Close. But the month you copy doesn't have to be empty, that's the thing. Let's try an example.

On the schedule screen (assuming the default Active/train alert):
1) Select the month of Hematite. Press (o) to set an order.
2) Hit (o) until you've got the train order highlighted. Press Shift-Enter to accept. Now the month of Hematite should have two orders set - Train, 10 minimum and Train, 10 minimum.
3) Select Granite and hit (c) to copy.
4) Select Hematite and hit (p). Congrats! You've just crashed Dwarf Fortress.

The months used in the example don't matter - Obsidian and Felsite will work just as well. You can also repeat step 2 as many times as desired - I've had 5 orders in a single month and it crashed just as well. The rule is (month with x orders) onto (month with x+n orders), where n>0.

For x=0, it just so happens to be the exact same STR you just gave, thus the simplest way of reproducing it.

There are a lot of different ways to induce this crash (since there doesn't SEEM to be an upper limit to the number of orders a month can have). In writing my STR, I was trying to demonstrate that without giving a rigid sequence of button presses to follow.

Toady One   
2010-04-12 06:42   
Okay, this one is fixed for next time.