[comp.sources.games.bugs] Another NH3.4s error!

dwho@nmtvax.nmt.edu (David Olix) (10/05/89)

Hello fellow NetHackers!

OK, first of all I've noticed a few people talking about an error in shops
about getting paid for unpaid items.  I think this was supposed to be fixed
in the stop-gap patch released soon after the level 4 patches.  I haven't
played it yet with the SG fix, so forgive me if I'm wrong.

Second, I've noticed an error that I think would have been found MUCH earlier.
I have a awesome character one level above Hell with one flaw:  he doesn't have
fire resistance yet.  So while nuking everything in existence on that level I
accidentally run into a trapdoor.  OOPS!

You arrive at the center of the earth...--More--
Unfortunately, it is here that hell is located.  You burn to a crisp.--More--
You die...--More--
The flames of Hell burn you to a crisp.--More--
The flames of Hell burn you to a crisp.--More--
The flames of Hell burn you to a crisp.--More--
The flames of Hell burn you to a crisp.--More--
   ...

After about a few hundred of the last message, the program finally seg faults.

I can't get out of this loop with ^C or anything else sane.  It appears that
in end.c the game is ignoring signals!  Any help would be appreciated!
FYI:  This is on a VAX 750 running 4.3 BSD Unix.

TIA,
--David Olix (dwho@nmtvax.nmt.edu) Sysadmin (& Nethack fan)
"But I thought all the word *WAS* a VAX!" -- me.

kevin@cfctech.UUCP (Kevin Darcy) (10/06/89)

In article <151@nmtvax.nmt.edu> dwho@nmtvax.nmt.edu (David Olix) writes:
>...I've noticed an error that I think would have been found MUCH earlier. I 
>have a awesome character one level above Hell with one flaw:  he doesn't have
>fire resistance yet.  So while nuking everything in existence on that level I
>accidentally run into a trapdoor.  OOPS!
>
>You arrive at the center of the earth...--More--
>Unfortunately, it is here that hell is located.  You burn to a crisp.--More--
>You die...--More--
>The flames of Hell burn you to a crisp.--More--
>The flames of Hell burn you to a crisp.--More--
>The flames of Hell burn you to a crisp.--More--
>The flames of Hell burn you to a crisp.--More--
>   ...
>
>After about a few hundred of the last message, the program finally seg faults.
>
>I can't get out of this loop with ^C or anything else sane.  It appears that
>in end.c the game is ignoring signals!  Any help would be appreciated!
>FYI:  This is on a VAX 750 running 4.3 BSD Unix.

Hooray! Here was I thinking I was the only one who had run into this bug. 
Just for some background: I was running a similarly powerful character on my
3B1 this past weekend with version 3.0 PL3 (I had all of patch level 4, but
was waiting to finish this one game before applying it). My character had 
the following 'special' items that might possibly have had something to 
do with this loop:

			Excalibur (wielded)
			boots of speed (worn)
			shield of reflection (worn)
			amulet of esp (not worn)
			bag of holding 

As far as inventory goes, I was *at* capacity (i.e. could walk around, but not 
up stairs). I was cold-resistant and poison-resistant, but not fire-resistant
(unfortunately). I got the same sequence of messages as David, except that,
once I noticed that the "flames" message couldn't be interrupted (by any key,
or combination of keys that I have ever used as an interrupt on any computer),
I just went and dumped the whole game completely, thus never getting any kind
of seg fault.  

I had no luck in tracking this bug down after the fact either: I couldn't 
reproduce it in wizard mode, and I couldn't see how the code that produces
this message (setworn() or setnotworn(), in worn.c) applied to my character,
since he wasn't using any FR items. It is possible that one of his undiscovered
items bestowed FR, but I had no way of telling, since I had to trash the game.

As one last embarrassing side note: this was the *second* time I fell down the
same trapdoor: the first time, I was wearing an amulet of life-saving...
-----------------------------------------------------------------------------
 Kevin Darcy, Asst. Unix Systems Admin. | +1 313 948 4863
 kevin@cfctech.UUCP                     | Chrysler Financial Corp.
 kevin%cfctech.uucp@mailgw.cc.umich.edu | MIS, Technical Services
 {sharkey|mailrus}!cfctech!kevin        | 27777 Franklin, Southfield, MI 48034
-----------------------------------------------------------------------------
The death ray bounces! --more--

dwho@nmtvax.nmt.edu (David Olix) (10/06/89)

In article <16629@cfctech.UUCP> kevin@cfctech.UUCP (Kevin Darcy) writes
more about the problem of crisping characters in hell forever and includes
some possibly important info about his character....
>
>As far as inventory goes, I was *at* capacity [...]

I don't think I was.

>I had no luck in tracking this bug down after the fact either: I couldn't 
>reproduce it in wizard mode [...]

All I had to do was start NH in wiz mode and do ^V (level teleport) on the
first move to level 40 (or so).  And *POOF* one over-(and over and over)fried
wizard!.  Doing this gave me the standard "Die? [yn]" message, and after
answering 'n', I got the message:

"lost FR from a non-FR item?"

This shows up in worn.c in a kludge by KAA to fix taking off a fire resistant
item whilst in hell.  This might give you guys an idea where to look.  I
haven't had the time to grind through the debugging yet.

>-----------------------------------------------------------------------------
> Kevin Darcy, Asst. Unix Systems Admin. | +1 313 948 4863
> kevin@cfctech.UUCP                     | Chrysler Financial Corp.
> kevin%cfctech.uucp@mailgw.cc.umich.edu | MIS, Technical Services
> {sharkey|mailrus}!cfctech!kevin        | 27777 Franklin, Southfield, MI 48034
>-----------------------------------------------------------------------------
>The death ray bounces! --more--

David Olix (dwho@nmtvax.nmt.edu) Sysadmin
a.k.a. Avitar III, the invisible master lich