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-01.16:08:35.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) [0x5d45e612195e]: write_stack_trace(_IO_FILE*) /usr/games/crawl-0.34(_Z13do_crash_dumpv+0x43a) [0x5d45e612fb9a]: do_crash_dump() /usr/games/crawl-0.34(_Z20crash_signal_handleri+0x1fa) [0x5d45e6121e3a]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x706c9c842910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x706c9c89999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x706c9c842866]: /usr/games/crawl-0.34(+0x501f6d) [0x5d45e612ef6d]: /usr/games/crawl-0.34(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x5d45e612f477]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-0.34(_ZNK12monster_info11common_nameB5cxx11E22description_level_type+0x1424) [0x5d45e652cff4]: monster_info::common_name[abi:cxx11](description_level_type) const /usr/games/crawl-0.34(_ZNK12monster_info11proper_nameB5cxx11E22description_level_type+0x48) [0x5d45e652d108]: monster_info::proper_name[abi:cxx11](description_level_type) const /usr/games/crawl-0.34(_ZNK7monster4nameB5cxx11E22description_level_typebb+0xcf) [0x5d45e6589c9f]: monster::name[abi:cxx11](description_level_type, bool, bool) const /usr/games/crawl-0.34(_Z15debug_item_scanv+0x6ed) [0x5d45e613561d]: debug_item_scan() /usr/games/crawl-0.34(_Z18check_map_validityv+0x1e7) [0x5d45e6135a07]: check_map_validity() /usr/games/crawl-0.34(_Z8tag_readR6reader8tag_type+0x20bf) [0x5d45e67bcc6f]: tag_read(reader&, tag_type) /usr/games/crawl-0.34(+0x6046e7) [0x5d45e62316e7]: /usr/games/crawl-0.34(_Z10load_level20dungeon_feature_type14load_mode_typeRK8level_id+0x1507) [0x5d45e623cc57]: load_level(dungeon_feature_type, load_mode_type, level_id const&) /usr/games/crawl-0.34(_Z12startup_stepv+0xadf) [0x5d45e6767f3f]: startup_step() /usr/games/crawl-0.34(+0xcbf49d) [0x5d45e68ec49d]: /usr/games/crawl-0.34(main+0x1f7) [0x5d45e6053347]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x706c9c8280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x706c9c828189]: /usr/games/crawl-0.34(_start+0x25) [0x5d45e6053e35]: 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". 0x0000706c9c90fbf7 in __GI___wait4 (pid=741237, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x0000706c9c90fbf7 in __GI___wait4 (pid=741237, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005d45e612200c in call_gdb (file=0x706c9c9ff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 741200\000\000\000\000\000\000" #2 0x00005d45e612fbb8 in do_crash_dump () at dbg-asrt.cc:673 t = 1769962117 dir = "/dgldir/morgue/tswn/" name = "/dgldir/morgue/tswn/crash-tswn-20260201-160837.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 = 0x706c9c9ff6c0 <_IO_2_1_stderr_> #3 0x00005d45e6121e3a 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 0x0000706c9c842866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x00005d45e612ef6d in _BreakStrToDebugger (mesg=mesg@entry=0x7fff20d5c960 "ASSERT(num_heads > 0) in 'mon-info.cc' at line 1172 failed.", assert=true) at dbg-asrt.cc:807 No locals. #10 0x00005d45e612f477 in AssertFailed (expr=expr@entry=0x5d45e6947726 "num_heads > 0", file=file@entry=0x5d45e6947613 "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 = 3894395232, fp_offset = 23877, overflow_arg_area = 0x7fff20d5c960, reg_save_area = 0x0}} fileName = #11 0x00005d45e652cff4 in monster_info::common_name[abi:cxx11](description_level_type) const (this=0x7fff20d5d5f0, desc=DESC_PLAIN) at mon-info.cc:1172 core = "slymdra" nocore = false ss = s = "golden eye" #12 0x00005d45e652d108 in monster_info::proper_name[abi:cxx11](description_level_type) const (this=this@entry=0x7fff20d5d5f0, desc=desc@entry=DESC_PLAIN) at mon-info.cc:1271 No locals. #13 0x00005d45e6589c9f in monster::name[abi:cxx11](description_level_type, bool, bool) const (this=0x5d45e6f3b168 , desc=DESC_PLAIN, force_vis=, force_article=) at monster.cc:2169 s = "" mi = { = {pos = {x = 41, y = 18}, mb = {_vptr.FixedBitVector = 0x5d45e6c766d8 +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 = 2632328640, holi = {<_enum_bitfield_exponent_base<5, true>> = {static last_exponent = 5}, flags = 0}, mintel = (unknown: 0xe6cb6060), hd = 23877, ac = 0, ev = 0, base_ev = 0, sh = 0, wl = 0, slay = 0, mresists = 550885056, mitemuse = 32767, mbase_speed = 550885068, menergy = {move = 255 '\377', swim = 127 '\177', attack = 0 '\000', missile = 0 '\000', spell = 207 '\317'}, 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 = -20432, _int = -396971984, _float = -4.05534605e+24, _int64 = 102554832121904, ptr = 0x5d45e856b030}}}, }, 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 = 550830368, job = 32767, religion = 550884968, best_skill = 32767, best_skill_rank = -26688, xl_rank = -25370, damage = 28780, ac = 0, title = ""}} #14 0x00005d45e613561d in debug_item_scan () at dbg-scan.cc:197 mons = @0x5d45e6f3b168: { = {_vptr.actor = 0x5d45e6cb1108 , 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 = 10736, _int = -394515984, _float = -4.76323986e+24, _int64 = 102554834577904, ptr = 0x5d45e87c29f0}}, ["poly_set"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 192, byte = -64 '\300', _short = 10688, _int = -394516032, _float = -4.76322602e+24, _int64 = 102554834577856, ptr = 0x5d45e87c29c0}}, ["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 = 0x5d45e6c7ef98 +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\345\363\346E]\000\000\000\345\363\346\000\000\000\000\031~x\346E]\000\000\000\345\363\346\000\000\000\000\300\356\343\346E]\000\000\020\345\363\346E]\000\000n\360y\346E]\000\000\220\332\325 \377\177\000\000P\332\325 \377\177\000\000\240\332\325 \377\177\000\000\000\000\000\000E]\000\0000\346\363\346E]\000\000\000\000\000\000E]\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\233}\346E]\000\000\034\250V\350E]\000\000acy\346E]\000\000\200\332\325 \377\177\000\000"... visited = {_vptr.FixedBitVector = 0x5d45e6c74ef0 +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 0x00005d45e6135a07 in check_map_validity () at dbg-scan.cc:688 portal = DNGN_UNSEEN exit = DNGN_UNSEEN #16 0x00005d45e67bcc6f 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 = 0x7fff20d5dbf0, _read_offset = 96575, _minorVersion = 316, _safe_read = false} #17 0x00005d45e62316e7 in _restore_tagged_chunk (save=, name="Slime:5", tag=tag@entry=TAG_LEVEL, complaint=complaint@entry=0x5d45e6933795 "Level file is invalid.") at files.cc:3719 inf = {_filename = "", _file = 0x0, _chunk = 0x5d45e87a5080, opened_file = false, _pbuf = 0x0, _read_offset = 0, _minorVersion = 316, _safe_read = false} reason = "" #18 0x00005d45e623cc57 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 0x00005d45e6767f3f 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 0x00005d45e68ec49d in _launch_game () at main.cc:425 game_start = ccon = #22 0x00005d45e6053347 in _launch_game_loop () at main.cc:397 game_ended = false game_ended = ge = fe = #23 main (argc=12, argv=0x7fff20d5eba8) at main.cc:343 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe =