ComputerScienceHouse / bingehack

A fork of nethack with semi-multiplayer features and other customizations. (An in-heavy-development fork version is at https://github.com/computersciencehouse/bingehack4 )
http://nethack.csh.rit.edu
23 stars 4 forks source link

Dipping Acid in Water (fountain) #50

Closed port34 closed 14 years ago

port34 commented 14 years ago

So, I was dipping random potions to dilute them to make holy water and this happened ( I am assuming it was acid in water since I believe that's the combo that explodes):

"It boils vigorously! You are caught in the explosion! Oops...

Hit space to continue:

Suddenly, the dungeon collapses. Report error to "wizard" and it may be possible to rebuild..

extract_nobj: object lost"

I got kicked out to the main screen and can't resume the game (asks me the usual start up stuff) and it doesn't even show up in the recent play logs. I would love to be able to recover that game since I was actually doing pretty damn good with it (found a random hobbit with the RoP. lol)

eatnumber1 commented 14 years ago

I've restored an older save that was on file for the game. Let me know if that works for you. I still have the game state which crashed and will look into that more when I have more time / clocky, want to do it for me?

eatnumber1 commented 14 years ago

This is caused when you dip a potion of acid into a fountain while wearing the ring of power.

eatnumber1 commented 14 years ago

This has something to do with object chains which are linked lists of objects. I don't fully understand why objects need to be linked lists, but "extract_nobj: object lost" is produced when the extract_nobj routine is unable to find an object in an object chain.

eatnumber1 commented 14 years ago

Looks like the crash only occurrs if the explosion would have killed you (sorry port34).

eatnumber1 commented 14 years ago

And it doesn't happen when nethack is run within gdb.

eatnumber1 commented 14 years ago

Also, saying "Suddenly, the dungeon collapses." is totally the most awesome panic message i've ever seen.

port34 commented 14 years ago

damn, that's a powerful explosion. had like 50 health. also, I did not have the RoP on me at the time. I was too low level so I stashed it in a box by my Altar.

eatnumber1 commented 14 years ago

Hmm, perhaps you weren't about to die then. I'll have to look into this more.

bhaak commented 14 years ago

http://bilious.homelinux.org/?340 This patch should fix that.

eatnumber1 commented 14 years ago

Unfortunately, I had already applied that patch long ago.

bhaak commented 14 years ago

Ah, then it's useup(obj); on line 1647 in src/potion.c After that, obj is a dangling pointer and a second call to useup will lead to the crash.

eatnumber1 commented 14 years ago

Fixed by SHA: 6253f60644508952cb0ace5e9ca9312bf2383a3b Thanks, bhaak.