Closed elunna closed 12 months ago
Good diagnosis. It can be hard to reproduce the error message due to the cansee
requirement in wildmiss
, even for the diagnostic impossible
(would be nice if that could be avoided... if something on the other end of the map is trying and failing to attack the hero, seems like the impossible
should be printed). Doesn't happen in vanilla due to NetHack/NetHack@4b78763d7060547f00cd8029a411f4eb9133901d and follow-up NetHack/NetHack@85137bb76a754681c35a9c25eb592ba768b5b1fd.
Resolved via commit 76c41f0
Extra info after the crash:
We can see mux and muy don't match u.ux or u.uy. The piranha thinks we are at (5, 12) but we are at (18, 9)
Piranha's knowledge changed on move 13124408 (same turn as crash)
So I watched our x coordinate (u.ux) and it took me to this:
My hypothesis: I'm not sure this has anything to do with drow, but it looks like a piranha killed the player on the first bite, the player rehumanized back into a drow, drowned, came back to life (cause wizmode), then safe_teleds to somewhere else, but the piranha's knowledge of the player's coordinates was not updated and it continued to it's second bite attack.
Reproduction: I was successful in replicating this. First I turned sanity_check on, then I went to medusa's level, polymorphed into a killer bee, and flew in a spot surrounded by water. Then I summoned a piranha. It killed me on the first hit and I rehumanized into my base form. When the prompt asked if I wanted to die, I said NO, then insta teleported to random land, the piranha continued its second attack and triggered the program in disorder.
Conclusion: This might not be limited to wizmode, a mind flayer wearing an amulet of lifesaving could also possibly trigger this.
This might also be in Vanilla but I did not check.