ASSERT(num_heads > 0) in 'mon-info.cc' at line 1172 failed. Version: Dungeon Crawl Stone Soup 0.34-b1-32-g7b8d8e6ed1 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 14356788612633125062, deterministic pregen: 1 Command line: /usr/games/crawl-0.34 -name tswn -rc /dgldir/rcfiles/crawl-0.34/tswn.rc -macro /dgldir/rcfiles/crawl-0.34/tswn.macro -morgue /dgldir/morgue/tswn/ -webtiles-socket /crawl-master/webserver/sockets/tswn:2026-02-03.08:57:15.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 22 stack frames. /usr/games/crawl-0.34(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x5d091a00595e]: write_stack_trace(_IO_FILE*) /usr/games/crawl-0.34(_Z13do_crash_dumpv+0x43a) [0x5d091a013b9a]: do_crash_dump() /usr/games/crawl-0.34(_Z20crash_signal_handleri+0x1fa) [0x5d091a005e3a]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x7cc13d642910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x7cc13d69999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x7cc13d642866]: /usr/games/crawl-0.34(+0x501f6d) [0x5d091a012f6d]: /usr/games/crawl-0.34(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x5d091a013477]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-0.34(_ZNK12monster_info11common_nameB5cxx11E22description_level_type+0x1424) [0x5d091a410ff4]: monster_info::common_name[abi:cxx11](description_level_type) const /usr/games/crawl-0.34(_ZNK12monster_info11proper_nameB5cxx11E22description_level_type+0x48) [0x5d091a411108]: monster_info::proper_name[abi:cxx11](description_level_type) const /usr/games/crawl-0.34(_ZNK7monster4nameB5cxx11E22description_level_typebb+0xcf) [0x5d091a46dc9f]: monster::name[abi:cxx11](description_level_type, bool, bool) const /usr/games/crawl-0.34(_Z15debug_item_scanv+0x6ed) [0x5d091a01961d]: debug_item_scan() /usr/games/crawl-0.34(_Z18check_map_validityv+0x1e7) [0x5d091a019a07]: check_map_validity() /usr/games/crawl-0.34(_Z8tag_readR6reader8tag_type+0x20bf) [0x5d091a6a0c6f]: tag_read(reader&, tag_type) /usr/games/crawl-0.34(+0x6046e7) [0x5d091a1156e7]: /usr/games/crawl-0.34(_Z10load_level20dungeon_feature_type14load_mode_typeRK8level_id+0x1507) [0x5d091a120c57]: load_level(dungeon_feature_type, load_mode_type, level_id const&) /usr/games/crawl-0.34(_Z12startup_stepv+0xadf) [0x5d091a64bf3f]: startup_step() /usr/games/crawl-0.34(+0xcbf49d) [0x5d091a7d049d]: /usr/games/crawl-0.34(main+0x1f7) [0x5d0919f37347]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x7cc13d6280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7cc13d628189]: /usr/games/crawl-0.34(_start+0x25) [0x5d0919f37e35]: Trying to run gdb. GNU gdb (Ubuntu 14.0.50.20230907-0ubuntu1) 14.0.50.20230907-git Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007cc13d70fbf7 in __GI___wait4 (pid=840764, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007cc13d70fbf7 in __GI___wait4 (pid=840764, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005d091a00600c in call_gdb (file=0x7cc13d7ff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 840753\000\000\000\000\000\000" #2 0x00005d091a013bb8 in do_crash_dump () at dbg-asrt.cc:673 t = 1770109037 dir = "/dgldir/morgue/tswn/" name = "/dgldir/morgue/tswn/crash-tswn-20260203-085717.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(num_heads > 0) in 'mon-info.cc' at line 1172 failed." file = 0x7cc13d7ff6c0 <_IO_2_1_stderr_> #3 0x00005d091a005e3a in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = old_mask = {__val = {1172}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = #6 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 No locals. #7 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #8 0x00007cc13d642866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x00005d091a012f6d in _BreakStrToDebugger (mesg=mesg@entry=0x7fff06d08710 "ASSERT(num_heads > 0) in 'mon-info.cc' at line 1172 failed.", assert=true) at dbg-asrt.cc:807 No locals. #10 0x00005d091a013477 in AssertFailed (expr=expr@entry=0x5d091a82b726 "num_heads > 0", file=file@entry=0x5d091a82b613 "mon-info.cc", line=line@entry=1172, text=text@entry=0x0) at dbg-asrt.cc:845 mesg = "ASSERT(num_heads > 0) in 'mon-info.cc' at line 1172 failed.", '\000' , "\t\000\000\000\000\000\000\000\377\377\377\377", '\000' , "\n\000\000\000\377\177", '\000' ... args = {{gp_offset = 469049696, fp_offset = 23817, overflow_arg_area = 0x7fff06d08710, reg_save_area = 0x0}} fileName = #11 0x00005d091a410ff4 in monster_info::common_name[abi:cxx11](description_level_type) const (this=0x7fff06d093a0, desc=DESC_PLAIN) at mon-info.cc:1172 core = "slymdra" nocore = false ss = s = "golden eye" #12 0x00005d091a411108 in monster_info::proper_name[abi:cxx11](description_level_type) const (this=this@entry=0x7fff06d093a0, desc=desc@entry=DESC_PLAIN) at mon-info.cc:1271 No locals. #13 0x00005d091a46dc9f in monster::name[abi:cxx11](description_level_type, bool, bool) const (this=0x5d091ae1f168 , desc=DESC_PLAIN, force_vis=, force_article=) at monster.cc:2169 s = "" mi = { = {pos = {x = 41, y = 18}, mb = {_vptr.FixedBitVector = 0x5d091ab5a6d8 +16>, data = std::bitset}, mname = "", type = MONS_SLYMDRA, base_type = MONS_SLYMDRA, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = -1, ghost_colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = 1036395968, holi = {<_enum_bitfield_exponent_base<5, true>> = {static last_exponent = 5}, flags = 0}, mintel = (unknown: 0x1ab9a060), hd = 23817, ac = 0, ev = 0, base_ev = 0, sh = 0, wl = 0, slay = 0, mresists = 114332784, mitemuse = 32767, mbase_speed = 114332796, menergy = {move = 255 '\377', swim = 127 '\177', attack = 0 '\000', missile = 0 '\000', spell = 127 '\177'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["poly_set"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 48, byte = 48 '0', _short = 4144, _int = 472649776, _float = 5.6930948e-22, _int64 = 102293708738608, ptr = 0x5d091c2c1030}}}, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, can_go_frenzy = false, can_feel_fear = false, sleepwalking = false, backlit = false, umbraed = false, last_seen_at_turn = 0, threat_range = 0, client_id = 0, summoner_id = 0}, inv = {std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}}, i_ghost = {species = 114295072, job = 32767, religion = 114332696, best_skill = 32767, best_skill_rank = -26688, xl_rank = 15814, damage = 31937, ac = 0, title = ""}} #14 0x00005d091a01961d in debug_item_scan () at dbg-scan.cc:197 mons = @0x5d091ae1f168: { = {_vptr.actor = 0x5d091ab95108 , type = MONS_SLYMDRA, mid = 3754, position = {x = 41, y = 18}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 4 elements = {["map"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 240, byte = -16 '\360', _short = -30224, _int = 475105776, _float = 6.93305792e-22, _int64 = 102293711194608, ptr = 0x5d091c5189f0}}, ["poly_set"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 192, byte = -64 '\300', _short = -30272, _int = 475105728, _float = 6.93303369e-22, _int64 = 102293711194560, ptr = 0x5d091c5189c0}}, ["slymdra_fake_heads"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 253, byte = -3 '\375', _short = -3, _int = -3, _float = -nan(0x7ffffd), _int64 = 4294967293, ptr = 0xfffffffd}}, ["slymdra_slimes_eaten"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 255, byte = -1 '\377', _short = -1, _int = -1, _float = -nan(0x7fffff), _int64 = 4294967295, ptr = 0xffffffff}}}, }, shield_blocks = 0, triggered_spectral = false, constricted_by = 0, constricted_type = CONSTRICT_NONE, escape_attempts = 0, constricting = 0x0, move_needs_finalisation = false, last_move_pos = {x = 0, y = 0}, last_move_flags = {<_enum_bitfield_exponent_base<6, true>> = {static last_exponent = 6}, flags = 0}}, mname = "", hit_points = 38, max_hit_points = 38, exp = 0, speed = 10, speed_increment = 75, target = {x = 45, y = 18}, firing_pos = {x = 0, y = 0}, patrol_point = {x = 0, y = 0}, travel_target = MTRAV_NONE, travel_path = std::vector of length 0, capacity 0, inv = {mData = {27000 }}, spells = std::vector of length 0, capacity 0, attitude = ATT_HOSTILE, behaviour = BEH_WANDER, foe = 27000, ench_countdown = 5 '\005', enchantments = std::map with 0 elements, ench_cache = {_vptr.FixedBitVector = 0x5d091ab62f98 +16>, data = std::bitset}, flags = {<_enum_bitfield_exponent_base<-1, false>> = {}, flags = 0}, xp_tracking = XP_VAULT, base_monster = MONS_NO_MONSTER, {number = 0, blob_size = 0, num_heads = 0, ballisto_activity = 0, spore_cooldown = 0, mangrove_pests = 0, prism_charge = 0, battlecharge = 0, move_spurt = 0, steps_remaining = 0, blazeheart_heat = 0, tentacle_connect = 0}, colour = -1, summoner = 0, foe_memory = 0, god = GOD_NO_GOD, ghost = std::unique_ptr = {get() = 0x0}, damage_friendly = 0, damage_total = 0, client_id = 0, static last_client_id = 0, revealed_this_turn = false, revealed_at_pos = {x = 0, y = 0}, origin_level = {branch = BRANCH_SLIME, depth = 5}, hit_dice = 18} i = 4 name = "3 boomerangs\000\000g (3)\000on\000tric Charge\000ere\000n\000%\342\032\t]\000\000\000%\342\032\000\000\000\000\031\276f\032\t]\000\000\000%\342\032\000\000\000\000\300.\322\032\t]\000\000\020%\342\032\t]\000\000n0h\032\t]\000\000@\230\320\006\377\177\000\000\000\230\320\006\377\177\000\000P\230\320\006\377\177\000\000\000\000\000\000\t]\000\0000&\342\032\t]\000\000\000\000\000\000\t]\000\000j\213\002\000\000\000\000\000\337\031\000\000\000\000\000\000G\000\000\000\030\000\000\000\025\333k\032\t]\000\000\034\b,\034\t]\000\000a\243g\032\t]\000\0000\230\320\006\377\177\000\000"... visited = {_vptr.FixedBitVector = 0x5d091ab58ef0 +16>, data = std::bitset = {[0] = 1, [1] = 1, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = 1, [7] = 1, [8] = 1, [9] = 1, [11] = 1, [12] = 1, [13] = 1, [14] = 1, [15] = 1, [16] = 1, [17] = 1, [18] = 1, [19] = 1, [20] = 1, [21] = 1, [22] = 1, [23] = 1, [24] = 1, [25] = 1, [26] = 1, [27] = 1, [28] = 1, [29] = 1, [30] = 1, [31] = 1, [32] = 1, [33] = 1, [34] = 1, [35] = 1, [36] = 1, [37] = 1, [38] = 1, [39] = 1, [40] = 1, [41] = 1, [42] = 1, [43] = 1, [44] = 1, [45] = 1, [46] = 1, [47] = 1, [48] = 1, [49] = 1, [50] = 1, [51] = 1, [52] = 1, [53] = 1, [54] = 1, [55] = 1, [56] = 1, [57] = 1, [58] = 1, [59] = 1, [60] = 1, [61] = 1, [62] = 1, [63] = 1, [64] = 1, [65] = 1, [66] = 1, [67] = 1, [68] = 1, [69] = 1, [70] = 1, [71] = 1, [72] = 1, [73] = 1, [74] = 1, [75] = 1, [76] = 1, [77] = 1}} #15 0x00005d091a019a07 in check_map_validity () at dbg-scan.cc:688 portal = DNGN_UNSEEN exit = DNGN_UNSEEN #16 0x00005d091a6a0c6f in tag_read (inf=..., tag_id=tag_id@entry=TAG_LEVEL) at tags.cc:1588 you_pos = buf = std::vector of length 175020, capacity 175020 = {6 '\006', 6 '\006', 0 '\000', 8 '\b', 110 'n', 224 '\340', 0 '\000', 0 '\000', 0 '\000', 67 'C', 0 '\000', 0 '\000', 0 '\000', 46 '.', 0 '\000', 80 'P', 0 '\000', 70 'F', 0 '\000', 0 '\000', 2 '\002', 61 '=', 171 '\253', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000', 0 '\000', 129 '\201', 0 '\000', 8 '\b', 0 '\000', 0 '\000'...} data_size = th = {_filename = "", _file = 0x0, _chunk = 0x0, opened_file = false, _pbuf = 0x7fff06d099a0, _read_offset = 96575, _minorVersion = 316, _safe_read = false} #17 0x00005d091a1156e7 in _restore_tagged_chunk (save=, name="Slime:5", tag=tag@entry=TAG_LEVEL, complaint=complaint@entry=0x5d091a817795 "Level file is invalid.") at files.cc:3719 inf = {_filename = "", _file = 0x0, _chunk = 0x5d091c4fb080, opened_file = false, _pbuf = 0x0, _read_offset = 0, _minorVersion = 316, _safe_read = false} reason = "" #18 0x00005d091a120c57 in load_level (stair_taken=, load_mode=, old_level=...) at files.cc:2217 level_name = "Slime:5" make_changes = return_pos = {x = 0, y = 0} hatch_name = "" popped = false stair = {val = , oldval = DNGN_UNSEEN} ylev = {val = , oldval = false} dest_pos = just_created_level = descent_downclimb = descent_peek = #19 0x00005d091a64bf3f in _post_init (newc=false) at startup.cc:312 old_level = {branch = NUM_BRANCHES, depth = -1} old_level = #20 startup_step () at startup.cc:1117 choice = {name = "tswn", type = GAME_TYPE_NORMAL, filename = "tswn.cs", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 0, capacity 0, allowed_jobs = std::vector of length 0, capacity 0, allowed_weapons = std::vector of length 0, capacity 0, species = SP_UNKNOWN, job = JOB_UNKNOWN, weapon = WPN_UNKNOWN, fully_random = false} defaults = {name = "", type = GAME_TYPE_NORMAL, filename = "", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 1, capacity 1 = {SP_MINOTAUR}, allowed_jobs = std::vector of length 1, capacity 1 = {JOB_EARTH_ELEMENTALIST}, allowed_weapons = std::vector of length 0, capacity 0, species = SP_MINOTAUR, job = JOB_EARTH_ELEMENTALIST, weapon = WPN_UNKNOWN, fully_random = false} newchar = false ng = {name = "", type = GAME_TYPE_NORMAL, filename = "", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 0, capacity 0, allowed_jobs = std::vector of length 0, capacity 0, allowed_weapons = std::vector of length 0, capacity 0, species = SP_UNKNOWN, job = JOB_UNKNOWN, weapon = WPN_UNKNOWN, fully_random = false} #21 0x00005d091a7d049d in _launch_game () at main.cc:425 game_start = ccon = #22 0x00005d0919f37347 in _launch_game_loop () at main.cc:397 game_ended = false game_ended = ge = fe = #23 main (argc=12, argv=0x7fff06d0a958) at main.cc:343 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe =