Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0011494 [DCSS] Bug Report crash random 2018-06-09 17:44 2018-06-10 11:02
Reporter Zadkiel View Status public  
Assigned To advil
Priority normal Resolution done  
Status resolved   Product Branch 0.21 ancient branch
Summary 0011494: CTD trying to drop equipped body armor
Description 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.
Additional Information
Tags No tags attached.
Attached Files txt file icon crash-Zadkiel-20180609-160233.txt [^] (43,898 bytes) 2018-06-09 17:44 [Show Content]

- Relationships

-  Notes
(0032288)
advil (administrator)
2018-06-09 20:30

Can you upload your save file as well?
(0032289)
advil (administrator)
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 (reporter)
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 (reporter)
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 (administrator)
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 (reporter)
2018-06-10 11:02

Awesome!

- Issue History
Date Modified Username Field Change
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


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker