elunna / NerfHack

The official rewrite of Hack'EM rebased on NetHack 3.7
3 stars 0 forks source link

fmon: level 3 werejackal #250497 [6110007032c0] has 3 cur HP, -4 max HP #50

Closed elunna closed 2 months ago

elunna commented 2 months ago
Found with fuzzer:
Suddenly, the dungeon collapses.
fmon: level 3 werejackal #250497 [6110007032c0] has 3 cur HP, -4 max HP
  Generating more information you may report:

Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737339570112) at ./nptl/pthread_kill.c:44
44  ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737339570112) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737339570112) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737339570112, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7282476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff72687f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00005555559b7df4 in NH_abort (why=0x7fffffffd180 "fmon: level 3 werejackal #250497 [6110007032c0] has 3 cur HP, -4 max HP") at end.c:1965
#6  0x00005555559acf9a in panic (str=0x55555616d8a0 "%s") at end.c:470
#7  0x0000555555ca808a in impossible (s=0x555556102f60 "%s: level %d %s #%u [%s] has %d cur HP, %d max HP") at pline.c:608
#8  0x0000555555b37f04 in sanity_check_single_mon (mtmp=0x6110007032c0, chk_geno=1 '\001', msg=0x555556103bc0 "fmon") at mon.c:92
#9  0x0000555555b39b0b in mon_sanity_check () at mon.c:263
#10 0x0000555555f22f03 in sanity_check () at wizcmds.c:1453
#11 0x00005555557b9c1d in moveloop_core () at allmain.c:185
#12 0x00005555557bca33 in moveloop (resuming=0 '\000') at allmain.c:587
#13 0x0000555555f7c470 in main (argc=4, argv=0x7fffffffdf38) at ../sys/unix/unixmain.c:323

(gdb) p svm.moves
$1 = 270396

(gdb) p gt.toplines
$3 = "Unknown command ' '.", '\000' <repeats 279 times>

(gdb) p u.umonster
$4 = 400
(gdb) p u.umonnum
$5 = 400

(gdb) p *mtmp
$2 = {nmon = 0x0, data = 0x5555564d3b90 <mons+34384>, m_id = 250497, mnum = 307, cham = -1, movement = 12, m_lev = 3 '\003', malign = 7 '\a', mx = 69, my = 8, mux = 66, muy = 6, mtrack = {{x = 68, y = 8}, {x = 69, 
      y = 9}, {x = 70, y = 10}, {x = 71, y = 11}}, mhp = 3, mhpmax = -4, mappearance = 0, m_ap_type = 0 '\000', mtame = 0 '\000', mintrinsics = 0, mextrinsics = 0, seen_resistance = 0, mspec_used = 0, female = 1, 
  minvis = 0, invis_blkd = 0, perminvis = 0, mcan = 0, mburied = 0, mundetected = 0, mcansee = 1, mspeed = 0, permspeed = 0, mrevived = 0, mcloned = 0, mavenge = 0, mflee = 0, mfleetim = 0, msleeping = 0, 
  mblinded = 0, mstun = 0, mfrozen = 0, mcanmove = 1, mconf = 0, mdiseased = 0, mdiseabyu = 0, mpeaceful = 0, mtrapped = 0, mleashed = 0, isshk = 0, isminion = 0, isgd = 0, ispriest = 0, iswiz = 0, wormno = 0, 
  mtemplit = 0, meverseen = 1, mwither_from_u = 0, mberserk = 0, mrabid = 0, mspotted = 0, mwither = 0 '\000', mstrategy = 0, mtrapseen = 2048, mlstmv = 0, mstate = 0, migflags = 0, mspare1 = 0, minvent = 0x0, 
  mw = 0x0, misc_worn_check = 0, weapon_check = 1, former_rank = '\000' <repeats 24 times>, meating = 0, msummoned = 0, mdiseasetime = 0, mreflecttime = 0, mphasetime = 0, mprotection = 0 '\000', 
  mprottime = 0 '\000', mextra = 0x0}
(gdb) 

(gdb) p u
$6 = {ux = 66, uy = 6, dx = 0, dy = 1, dz = 0, tx = 53, ty = 8, ux0 = 66, uy0 = 5, uz = {dnum = 3, dlevel = 2}, uz0 = {dnum = 3, dlevel = 2}, utolev = {dnum = 3, dlevel = 2}, utotype = 0 '\000', ucamefrom = {
    dnum = 0, dlevel = 0}, umoved = 0 '\000', last_str_turn = 0, ulevel = 27, ulevelmax = 27, ulevelpeak = 30, utrap = 0, utraptype = 0, urooms = "\000\000\000\000", urooms0 = "\000\000\000\000", 
  uentered = "\000\000\000\000", ushops = "\000\000\000\000", ushops0 = "\000\000\000\000", ushops_entered = "\000\000\000\000", ushops_left = "\000\000\000\000", uhunger = 536, uhs = 1, uprops = {{
      extrinsic = 6291456, blocked = 0, intrinsic = 0}, {extrinsic = 0, blocked = 0, intrinsic = 134217730}, {extrinsic = 0, blocked = 0, intrinsic = 469762048}, {extrinsic = 0, blocked = 0, intrinsic = 134217728}, {
      extrinsic = 0, blocked = 0, intrinsic = 0}, {extrinsic = 0, blocked = 0, intrinsic = 134217732}, {extrinsic = 0, blocked = 0, intrinsic = 134217728}, {extrinsic = 0, blocked = 0, 
      intrinsic = 0} <repeats 66 times>}, umconf = 0, usick_type = 0, nv_range = 1, xray_range = -1, unblind_telepat_range = -1, bglyph = 11932, cglyph = 11932, bc_order = 0, bc_felt = 0, umonster = 400, 
  umonnum = 400, mh = 0, mhmax = 0, mtimedone = 0, macurr = {a = "\023\004\v\020\003\003"}, mamax = {a = "\023\003\v\020\003\003"}, ulycn = -1, ucreamed = 0, uswldtim = 0, uswallow = 0, uinwater = 0, 
  uundetected = 0, mfemale = 1, uinvulnerable = 0, uburied = 0, uedibility = 0, usaving_grace = 1, uhandedness = 0, udg_cnt = 0, uevent = {minor_oracle = 0, major_oracle = 0, read_tribute = 0, qcalled = 1, 
    qexpelled = 0, qcompleted = 0, uheard_tune = 0, uopened_dbridge = 0, invoked = 0, gehennom_entered = 0, uhand_of_elbereth = 0, udemigod = 0, uvibrated = 0, ascended = 0}, uhave = {amulet = 0, bell = 0, book = 0, 
    menorah = 0, questart = 0, unused = 0}, uconduct = {unvegetarian = 51, unvegan = 59, food = 124, gnostic = 475, weaphit = 1459, killer = 3736, literate = 354, polypiles = 0, polyselfs = 67, wishes = 623, 
    wisharti = 0, elbereth = 0, sokocheat = 54, pets = 5, altars = 0}, uroleplay = {blind = 0 '\000', nudist = 0 '\000', deaf = 0 '\000', pauper = 0 '\000', numbones = 0}, acurr = {a = "\023\003\v\022\003\003"}, 
  aexe = {a = "\374\000\371", <incomplete sequence \335>}, abon = {a = "\000\000\000\000\000"}, amax = {a = "\023\003\v\022\003\003"}, atemp = {a = "\000\000\000\000\000"}, atime = {a = "\000\000\000\000\000"}, 
  ualign = {type = 0 '\000', record = -2538, abuse = 5221}, ualignbase = "\000", uluck = -8 '\370', moreluck = 0 '\000', luckturn = 270369, uhitinc = 0 '\000', udaminc = 0 '\000', uhealbonus = 0, uac = 14 '\016', 
  uspellprot = 0 '\000', usptime = 0 '\000', uspmtime = 0 '\000', uhp = 25, uhpmax = 27, uhppeak = 1042, uen = 452, uenmax = 454, uenpeak = 1067, uhpinc = {16, 6, 7, 7, 2, 1, 6, 2, 5, 2, 1 <repeats 17 times>, 2, 2, 
    2}, ueninc = {2, 5, 3, 2, 2, 4, 5, 5, 1, 3, 3, 5, 4, 2, 1, 5, 3, 3, 3, 4, 2, 3, 3, 3, 1, 2, 1, 3, 2, 2}, ugangr = 26, ugifts = 0, ublessed = 0, ublesscnt = 33, combotime = 0, lastprayed = 270256, 
  lastprayresult = 4 '\004', reconciled = 0 '\000', umoney0 = 0, uspare1 = 0, uexp = 3856752, urexp = 869404, ucleansed = 0, usleep = 0, uinvault = 0, ustuck = 0x0, usteed = 0x0, ustuck_mid = 0, usteed_mid = 0, 
  ugallop = 0, urideturns = 0, umortality = 0, ugrave_arise = -1, weapon_slots = 18, skills_advanced = 7, skill_record = {17, 7, 4, 35, 36, 9, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 8, 8, 8, 8, 8, 8, 8, 
    0 <repeats 37 times>}, weapon_skills = {{skill = 0, max_skill = 0, advance = 0}, {skill = 2, max_skill = 4, advance = 175}, {skill = 0, max_skill = 0, advance = 0}, {skill = 1, max_skill = 4, advance = 53}, {
      skill = 2, max_skill = 3, advance = 116}, {skill = 1, max_skill = 3, advance = 38}, {skill = 1, max_skill = 3, advance = 67}, {skill = 2, max_skill = 4, advance = 100}, {skill = 1, max_skill = 4, 
      advance = 58}, {skill = 2, max_skill = 2, advance = 100}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, 
      advance = 0}, {skill = 1, max_skill = 4, advance = 47}, {skill = 1, max_skill = 2, advance = 8}, {skill = 2, max_skill = 3, advance = 100}, {skill = 3, max_skill = 4, advance = 200}, {skill = 1, max_skill = 2, 
      advance = 96}, {skill = 1, max_skill = 3, advance = 86}, {skill = 0, max_skill = 0, advance = 0}, {skill = 1, max_skill = 2, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, 
      advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 1, max_skill = 2, 
      advance = 54}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 0, max_skill = 0, advance = 0}, {skill = 1, max_skill = 2, 
      advance = 98}, {skill = 0, max_skill = 0, advance = 0}, {skill = 2, max_skill = 4, advance = 6701}, {skill = 2, max_skill = 3, advance = 100}, {skill = 2, max_skill = 5, advance = 141}, {skill = 1, 
      max_skill = 3, advance = 63}}, twoweap = 0 '\000', mcham = -1, umovement = 18, uachieved = "\021\351\350\347\346\345\344\343\342\026\017\025\022", '\000' <repeats 18 times>}
elunna commented 2 months ago

Fixed in edc7d6713