Dungeon Crawl Stone Soup Tracker - DCSS
Viewing Issue Advanced Details
11494 Bug Report crash random 2018-06-09 17:44 2018-06-10 11:02
Zadkiel Local  
advil Windows  
normal Tiles  
resolved 0.21 ancient branch  
0.21.1 done  
none    
none 0.22 ancient branch  
0011494: CTD trying to drop equipped body armor
If I shift-left-click on an equipped body armor the game will sometimes crash to desktop.

On +0 robe on DL1

You see here a robe.
b - a robe
You start removing your armour.
You continue taking off your +0 leather armour. x4
You finish taking off your +0 leather armour.
You start putting on your armour. You continue putting on your robe. x5
You finish putting on your +0 robe.
You start removing your armour. You continue taking off your +0 robe. x4
You finish taking off your +0 robe. You drop a +0 robe.
You start removing your armour.
You continue taking off your !bad item (cl:100,ty:0,pl:0,pl2:0,sp:0,qu:0). x4

Another example:
You start putting on your armour.
You continue putting on your brightly glowing leather armour. x5
You finish putting on the +3 leather armour "Nepunwyo" {Str+3}.
You start removing your armour.
You continue taking off the +3 leather armour "Nepunwyo" {Str+3}. x4
You finish taking off the +3 leather armour "Nepunwyo" {Str+3}.
You drop the +3 leather armour "Nepunwyo" {Str+3}.
You start removing your armour.
You continue taking off the !bad item (cl:100,ty:1,pl:3,pl2:0,sp:0,qu:0) {-Cast *Tele *Noise *Corrode *Drain *Slow Fragile +Blink +Rage +Inv rElec rPois rC+20831 rN+31588352 MR+22278592 rMut rCorr HP+23069156 MP+284213304 AC+168 Dex+279486608 Slay+237678232 SH+236990472 SInv Stlth+23068672 *Curse Clar}.
You continue taking off the !bad item (cl:100,ty:1,pl:3,pl2:0,sp:0,qu:0) {rPois MR++ AC+100 Str+2}. x3

As you can see, it removes and drops the equipped armor but then attempts to remove it a second time but I'm not wearing anything so it does some wierd overflow.

However it happens completely randomly and can't be reproduced when it does - by which I mean I reload the save from the start of the level, find and wear the same piece of body armor and then issue the same drop command and the second time it will not happen. What the trigger is for the game trying to remove the armor twice I can't work out.
txt file icon crash-Zadkiel-20180609-160233.txt [^] (43,898 bytes) 2018-06-09 17:44 [Show Content]
Issue History
2018-06-09 17:44 Zadkiel New Issue
2018-06-09 17:44 Zadkiel File Added: crash-Zadkiel-20180609-160233.txt
2018-06-09 20:30 advil Note Added: 0032288
2018-06-09 21:42 advil Note Added: 0032289
2018-06-09 21:53 Zadkiel Note Added: 0032290
2018-06-10 03:23 Zadkiel Note Added: 0032291
2018-06-10 04:52 advil Note Added: 0032292
2018-06-10 04:52 advil Status new => resolved
2018-06-10 04:52 advil Fixed in Branch => 0.22 development branch
2018-06-10 04:52 advil Resolution open => done
2018-06-10 04:52 advil Assigned To => advil
2018-06-10 11:02 Zadkiel Note Added: 0032293

Notes
(0032288)
advil   
2018-06-09 20:30   
Can you upload your save file as well?
(0032289)
advil   
2018-06-09 21:42   
I can trigger a crash with this exact signature by doubling the call to tile_item_drop on tilereg-inv.cc:178, so I suspect what's happening is that somehow two identical mouseevents are occasionally getting queued up and processed, the second one right after the delay starts, which will lead to two ArmourOffDelays and two DropItemDelays for the same item reference. I can't figure out why this would happen on the input end, though.

Probably the save isn't so important for this bug, so nevermind on that request.
(0032290)
Zadkiel   
2018-06-09 21:53   
I can't test right now, but I think I might know what it is. Try this, keep taking off armor until the message log overflows and generates the ---More--- message and then press the drop armor command again before clearing the ---More--- message.
(0032291)
Zadkiel   
2018-06-10 03:23   
It's not quite what I said above but it's defiantely related to the ---More--- message in some way. I just spent about 15 minutes doing nothing but picking up the armor, wearing it, and dropping it, and I got it to crash twice, both times I got the ---More--- message during the drop command followed immediately by the crash.
(0032292)
advil   
2018-06-10 04:52   
Thanks for the updates. I pushed something that should fix this crash in https://github.com/crawl/crawl/commit/5c5de1cb09db [^] . It will be in the next 0.21 point release as well as in nightly trunk builds. If you want to keep playing 0.21.1 and this is annoying you, one simple workaround is that this crash should only happen on shift-click, so if you take off the item and then drop it, you can avoid crashing.
(0032293)
Zadkiel   
2018-06-10 11:02   
Awesome!