View Issue Details

IDProjectCategoryView StatusLast Update
0000035Dwarf FortressDwarf Mode -- Interface, Military Screenpublic2010-06-09 06:46
ReporterWtamer Assigned ToToady One  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformPCOSWindowsOS VersionXP sp3
Fixed in Version0.31.03 
Summary0000035: Military schedule screen crashes when copy-pasting orders
DescriptionAttempting to Copy orders from a month with less orders than the one you are trying to paste to automatically crashes the game.
Steps To Reproduce1. 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.
Additional InformationFrom 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.
Tagsmilitary screen

Relationships

has duplicate 0000083 closeduser6 Military schedule copy+paste causes crash 
has duplicate 0000467 closeduser6 Crash when copying 'no scheduled order' 
has duplicate 0000483 closeduser6 Crash on schedule order list 
has duplicate 0000549 closeduser6 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 0000875 closeduser6 C/P "no scheduled orders" on the scheduling screen crashes the game 

Activities

adeptable

2010-04-01 16:54

reporter   ~0000036

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)
0000000c
    00000012 0
    0000000e 0
    0000000d 0
0000000f
    00000015 0
    00000014 0
    00000011 0
    00000010 0
00000016
    00000017 0
You must be attached to a process to run this command.
No process loaded, cannot execute 'detach'
dave@monopole:~/games/dwarf/installs/8$

Draco18s

2010-04-03 19:41

reporter   ~0000753

Last edited: 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

reporter   ~0000952

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?

MooUK

2010-04-05 04:44

reporter   ~0001050

Last edited: 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.

ercdvs

2010-04-07 11:08

reporter   ~0001802

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')
Copied
Pasted, and crash on paste.

DoctorZuber

2010-04-07 14:03

reporter   ~0001848

a clear summary would be...

Copying and pasting an empty order onto a non-empty order causes a crash

Wtamer

2010-04-07 15:41

reporter   ~0001870

Last edited: 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.

DoctorZuber

2010-04-09 09:47

reporter   ~0002343

Last edited: 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"
5. CRASH!

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

DoctorZuber

2010-04-09 10:20

reporter   ~0002352

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.

CultOftheRaven

2010-04-10 18:15

reporter   ~0002683

Just noting that I experienced this crash as well, with the steps mentioned above. Reproduced it twice.

Wtamer

2010-04-10 20:29

reporter   ~0002698

@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.

tl;dr LESS OVER MORE CRASHES. DON'T DO IT. :P

Toady One

2010-04-12 06:42

administrator   ~0003033

Okay, this one is fixed for next time.

Issue History

Date Modified Username Field Change
2010-04-01 15:56 Wtamer New Issue
2010-04-01 16:54 adeptable Note Added: 0000036
2010-04-02 06:06 Todestool Tag Attached: military screen
2010-04-03 09:08 user6 Relationship added has duplicate 0000083
2010-04-03 15:26 user6 Category General => Dwarf Mode -- Military
2010-04-03 15:28 user6 Category Dwarf Mode -- Military => Dwarf Mode -- Interface, Military Screen
2010-04-03 19:41 Draco18s Note Added: 0000753
2010-04-03 19:41 Draco18s Note Edited: 0000753
2010-04-04 16:34 Steely Glint Note Added: 0000952
2010-04-05 04:44 MooUK Note Added: 0001050
2010-04-05 09:05 user6 Relationship added has duplicate 0000467
2010-04-05 09:52 MooUK Note Edited: 0001050
2010-04-05 10:05 user6 Relationship added has duplicate 0000483
2010-04-05 19:44 user6 Relationship added has duplicate 0000549
2010-04-07 11:08 ercdvs Note Added: 0001802
2010-04-07 14:03 DoctorZuber Note Added: 0001848
2010-04-07 15:41 Wtamer Note Added: 0001870
2010-04-07 15:47 Wtamer Note Edited: 0001870
2010-04-09 09:22 user6 Relationship added has duplicate 0000875
2010-04-09 09:23 user6 Summary Crash on Squad Schedule Screen => Military schedule screen crashes when copy-pasting orders
2010-04-09 09:47 DoctorZuber Note Added: 0002343
2010-04-09 09:48 DoctorZuber Note Edited: 0002343
2010-04-09 09:53 DoctorZuber Note Edited: 0002343
2010-04-09 09:54 DoctorZuber Note Edited: 0002343
2010-04-09 09:56 DoctorZuber Note Edited: 0002343
2010-04-09 10:20 DoctorZuber Note Added: 0002352
2010-04-10 18:15 CultOftheRaven Note Added: 0002683
2010-04-10 20:29 Wtamer Note Added: 0002698
2010-04-12 06:42 Toady One Note Added: 0003033
2010-04-12 06:42 Toady One Status new => resolved
2010-04-12 06:42 Toady One Fixed in Version => 0.31.03
2010-04-12 06:42 Toady One Resolution open => fixed
2010-04-12 06:42 Toady One Assigned To => Toady One
2010-06-09 06:46 Toady One Status resolved => closed