Closed elunna closed 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>}
Fixed in edc7d6713