Dungeon Crawl Stone Soup Tracker - DCSS
Viewing Issue Advanced Details
8445 Bug Report crash have not tried 2014-04-26 07:29 2014-10-06 03:43
Yermak Remote  
neil CDO  
normal Console  
closed 0.14 ancient branch  
0.14.0-26-g1682e81 done  
none    
none 0.15 ancient branch  
0008445: Killing dead Asterion's spectral weapon crashes game
Subject.
http://crawl.lantea.net/crawl/morgue/Yermak/crash-Yermak-20140426-052724.txt [^]
Issue History
2014-04-26 07:29 Yermak New Issue
2014-05-03 15:35 derrek Note Added: 0026024
2014-08-19 18:44 wheals Summary Asterion kills himself with fireball and game crashes => Killing dead Asterion's spectral weapon crashes game
2014-08-19 18:54 wheals Note Added: 0027047
2014-08-19 18:54 wheals Note Added: 0027048
2014-08-19 18:55 wheals Note Deleted: 0027048
2014-08-20 04:53 Cryptic Note Added: 0027051
2014-08-27 16:44 wheals Note Added: 0027093
2014-08-28 04:26 neil Note Added: 0027095
2014-08-28 04:26 neil Status new => resolved
2014-08-28 04:26 neil Fixed in Branch => 0.15 prerelease branch
2014-08-28 04:26 neil Resolution open => done
2014-08-28 04:26 neil Assigned To => neil
2014-10-06 03:43 Yermak Status resolved => closed

Notes
(0026024)
derrek   
2014-05-03 15:35   
I think thats because in 0.14 summoned creatures are dismissed upon the death of their summoner. In your case Asterion killed himself, and orc knight finished summoned spectral weapon (somehow it did not vanish after Asterion's death). It could be the source of the bug.
(0027047)
wheals   
2014-08-19 18:54   
Updated description to reflect what I understand of the bug. There's a similar crash at http://dobrazupa.org/morgue/puppykicker/crash-puppykicker-20140819-035803.txt [^] with Asterion dying in a normal way, so it probably does not have to do with the fireball. That crash has a lot of GDB output, which may be useful for someone else trying to do debugging.
(0027051)
Cryptic   
2014-08-20 04:53   
Looked into this quite a bit, following both crash logs:

* occurs only when non-player kills Asterion and something does damage (possibly kills?) the spectral weapon within the same turn
* damage source needs a brand (flame, electrical, etc.)
* attempts to reproduce issue comparable to original dump (Asterion fire-balling himself and the branded weapon) were unsuccessful
* stack traces indicates that the spectral weapon mc is there one method call (mon=0x78ad) and different the next (mon=0xdcac08) (this could be normal, and my lack of knowledge is making it seem related)
(0027093)
wheals   
2014-08-27 16:44   
Another apparently related crash: http://dobrazupa.org/morgue/Konquest/crash-Konquest-20140827-140545.txt. [^]

This seems to indicate that it isn't necessary for a non-player to kill either thing, nor does it have much to do there being a brand: the crash happens in the brand check since that's the first thing that looks at the spectral weapon object's fields after it gets messed up.

The issue is, I think, something to do with end_spectral_weapon, which calls monster_die on it, getting called too soon. |amethyst suggests it could become a fineff; I wonder whether it's necessary at all, given that all summoned monsters should poof on their turn with the summoner gone.

This glaciate crash looks like it will be easier to reproduce at least, though I haven't tried yet.
(0027095)
neil   
2014-08-28 04:26   
Konquest's crash (wheals's comment) had a different cause, but they should both be fixed now in trunk and pre-release:

Konquest: 0.16-a0-289-gf11fc35 and 0.15-b1-135-ge6aeb45
Yermak/puppykicker: 0.16-a0-290-ga270a62 and 0.15-b1-136-g0090851