Crash caused by signal #6: Aborted Version: Dungeon Crawl Stone Soup 0.35-a0-1047-g19d7d4a2e1 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 0, deterministic pregen: 1 Command line: /usr/games/crawl-git-19d7d4a2e1 -name Maimakterion -rc /dgldir/rcfiles/crawl-git/Maimakterion.rc -macro /dgldir/rcfiles/crawl-git/Maimakterion.macro -morgue /dgldir/morgue/Maimakterion/ -webtiles-socket /crawl-master/webserver/sockets/Maimakterion:2026-09-19.16:42:42.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 50 stack frames. /usr/games/crawl-git-19d7d4a2e1(_Z17write_stack_traceP8_IO_FILE+0x3f) [0x5902bf8cef5f]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-19d7d4a2e1(_Z13do_crash_dumpv+0x43a) [0x5902bf8dd1ba]: do_crash_dump() /usr/games/crawl-git-19d7d4a2e1(_Z20crash_signal_handleri+0x1fa) [0x5902bf8cf45a]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x7162dfc42910]: /lib/x86_64-linux-gnu/libstdc++.so.6(_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm+0x6c) [0x7162e015b10c] /usr/games/crawl-git-19d7d4a2e1(_Z11replace_allNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S6_+0x7c) [0x5902bff54ecc]: replace_all(std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) /usr/games/crawl-git-19d7d4a2e1(_Z17get_unrandart_numPKc+0x503) [0x5902bf855b53]: get_unrandart_num(char const*) /usr/games/crawl-git-19d7d4a2e1(_ZN9item_list17parse_single_specER9item_specNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1f46) [0x5902bfbfb636]: item_list::parse_single_spec(item_spec&, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-git-19d7d4a2e1(_ZN9item_list15parse_item_specENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x20b) [0x5902bfbfc04b]: item_list::parse_item_spec(std::__cxx11::basic_string, std::allocator >, bool) /usr/games/crawl-git-19d7d4a2e1(_ZN9item_list8add_itemERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+0x88) [0x5902bfbf68d8]: item_list::add_item(std::__cxx11::basic_string, std::allocator > const&, bool, bool) /usr/games/crawl-git-19d7d4a2e1(_ZN9mons_list15parse_mons_specENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x1727) [0x5902bfbf81d7]: mons_list::parse_mons_spec(std::__cxx11::basic_string, std::allocator >, bool) /usr/games/crawl-git-19d7d4a2e1(_ZN9mons_list8add_monsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+0x7f) [0x5902bfbf904f]: mons_list::add_mons(std::__cxx11::basic_string, std::allocator > const&, bool, bool) /usr/games/crawl-git-19d7d4a2e1(_ZN13keyed_mapspec8set_monsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x1b3) [0x5902bfbfc3c3]: keyed_mapspec::set_mons(std::__cxx11::basic_string, std::allocator > const&, bool) /usr/games/crawl-git-19d7d4a2e1(_ZN9map_lines13add_key_fieldERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEM13keyed_mapspecFS5_S7_bEMS8_FvRKS8_E+0x159) [0x5902bfbf0c79]: map_lines::add_key_field(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > (keyed_mapspec::*)(std::__cxx11::basic_string, std::allocator > const&, bool), void (keyed_mapspec::*)(keyed_mapspec const&)) /usr/games/crawl-git-19d7d4a2e1(_ZN9map_lines12add_key_monsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x39) [0x5902bfbf0f19]: map_lines::add_key_mons(std::__cxx11::basic_string, std::allocator > const&) /usr/games/crawl-git-19d7d4a2e1(+0x7d425a) [0x5902bfb5c25a]: /usr/games/crawl-git-19d7d4a2e1(+0xd48e03) [0x5902c00d0e03]: /usr/games/crawl-git-19d7d4a2e1(+0xd49104) [0x5902c00d1104]: /usr/games/crawl-git-19d7d4a2e1(+0xd47f63) [0x5902c00cff63]: /usr/games/crawl-git-19d7d4a2e1(+0xd49544) [0x5902c00d1544]: /usr/games/crawl-git-19d7d4a2e1(lua_pcallk+0x95) [0x5902c00cd7f5]: /usr/games/crawl-git-19d7d4a2e1(+0x7c7585) [0x5902bfb4f585]: /usr/games/crawl-git-19d7d4a2e1(+0xd48b65) [0x5902c00d0b65]: /usr/games/crawl-git-19d7d4a2e1(+0xd57b2d) [0x5902c00dfb2d]: /usr/games/crawl-git-19d7d4a2e1(+0xd4911d) [0x5902c00d111d]: /usr/games/crawl-git-19d7d4a2e1(+0xd47f63) [0x5902c00cff63]: /usr/games/crawl-git-19d7d4a2e1(+0xd49544) [0x5902c00d1544]: /usr/games/crawl-git-19d7d4a2e1(lua_pcallk+0x95) [0x5902c00cd7f5]: /usr/games/crawl-git-19d7d4a2e1(_ZN4CLua5pcallEii+0x60) [0x5902bf8b3f30]: CLua::pcall(int, int) /usr/games/crawl-git-19d7d4a2e1(_ZN4CLua6callfnEPKcii+0xb4) [0x5902bf8b5874]: CLua::callfn(char const*, int, int) /usr/games/crawl-git-19d7d4a2e1(_ZN7map_def7run_luaB5cxx11Eb+0x13f) [0x5902bfbe0b6f]: map_def::run_lua[abi:cxx11](bool) /usr/games/crawl-git-19d7d4a2e1(_ZN7map_def16validate_map_defB5cxx11Ev+0x54) [0x5902bfbf4704]: map_def::validate_map_def[abi:cxx11]() /usr/games/crawl-git-19d7d4a2e1(_Z7yyparsev+0x1264) [0x5902c00c37f4]: yyparse() /usr/games/crawl-git-19d7d4a2e1(_Z8read_mapRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x2a4) [0x5902bfc149f4]: read_map(std::__cxx11::basic_string, std::allocator > const&) /usr/games/crawl-git-19d7d4a2e1(+0x7d2ee0) [0x5902bfb5aee0]: /usr/games/crawl-git-19d7d4a2e1(+0xd48e03) [0x5902c00d0e03]: /usr/games/crawl-git-19d7d4a2e1(+0xd58075) [0x5902c00e0075]: /usr/games/crawl-git-19d7d4a2e1(+0xd4911d) [0x5902c00d111d]: /usr/games/crawl-git-19d7d4a2e1(+0xd47f63) [0x5902c00cff63]: /usr/games/crawl-git-19d7d4a2e1(+0xd49544) [0x5902c00d1544]: /usr/games/crawl-git-19d7d4a2e1(lua_pcallk+0x95) [0x5902c00cd7f5]: /usr/games/crawl-git-19d7d4a2e1(_ZN4CLua5pcallEii+0x60) [0x5902bf8b3f30]: CLua::pcall(int, int) /usr/games/crawl-git-19d7d4a2e1(_ZN4CLua8execfileEPKcbbb+0x10c) [0x5902bf8b74ac]: CLua::execfile(char const*, bool, bool, bool) /usr/games/crawl-git-19d7d4a2e1(_Z9read_mapsv+0x4c) [0x5902bfc0f58c]: read_maps() /usr/games/crawl-git-19d7d4a2e1(_Z12startup_stepv+0x5aa) [0x5902bff2e2fa]: startup_step() /usr/games/crawl-git-19d7d4a2e1(+0xd3252d) [0x5902c00ba52d]: /usr/games/crawl-git-19d7d4a2e1(main+0x1f7) [0x5902bf800617]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x7162dfc280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7162dfc28189]: /usr/games/crawl-git-19d7d4a2e1(_start+0x25) [0x5902bf801105]: 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". 0x00007162dfd0fbf7 in __GI___wait4 (pid=3503708, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007162dfd0fbf7 in __GI___wait4 (pid=3503708, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005902bf8cf62c in call_gdb (file=0x7162dfdff6c0 <_IO_2_1_stderr_>) at crash.cc:434 gdb = attach_cmd = "attach 3503679\000\000\000\000\000" #2 0x00005902bf8dd1d8 in do_crash_dump () at dbg-asrt.cc:682 t = 1789836177 dir = "/dgldir/morgue/Maimakterion/" name = "/dgldir/morgue/Maimakterion/crash--20260919-164257.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "Crash caused by signal #6: Aborted" file = 0x7162dfdff6c0 <_IO_2_1_stderr_> #3 0x00005902bf8cf45a in crash_signal_handler (sig_num=6) at crash.cc:195 No locals. #4 No locals. #5 0x00007162e015b10c in std::__cxx11::basic_string, std::allocator >::find(char const*, unsigned long, unsigned long) const () from /lib/x86_64-linux-gnu/libstdc++.so.6 No symbol table info available. #6 0x00005902bff54ecc in std::__cxx11::basic_string, std::allocator >::find (__pos=, __str=" ", this=0x7ffe0ef3c9f0) at /usr/include/c++/13/bits/basic_string.h:222 No locals. #7 replace_all (s="staff_of Five Virtues", find=" ", repl="_") at stringutil.cc:323 start = found = #8 0x00005902bf855b53 in get_unrandart_num (name=) at artefact.cc:1910 art = "staff of Five Virtues" i = 147 uname = "staff_of_fire" quoted = "\"staff_of_fire\"" #9 0x00005902bfbfb636 in item_list::parse_single_spec (this=this@entry=0x7ffe0ef3d430, result=..., s="staff of fire") at /usr/include/c++/13/bits/basic_string.h:222 weight = qty = fresh = special = place = "" acquirement_source = "" ego_str = "" mimic = -20404 charges = custom_name = "" original = "staff of fire" plus = -20404 artprops = "" tile = "" unrand_id = ego = #10 0x00005902bfbfc04b in item_list::parse_item_spec (this=this@entry=0x7ffe0ef3d430, spec="staff of fire / staff of cold / staff of air / staff of earth", ignore_excluded=ignore_excluded@entry=false) at mapdef.cc:5884 parsed_spec = {genweight = 10, base_type = OBJ_RANDOM, sub_type = 101, plus = -1, plus2 = -1, ego = 0, allow_uniques = 1, level = -1, item_special = 0, qty = 0, acquirement_source = 0, place = {branch = BRANCH_DUNGEON, depth = -1}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, _corpse_monster_spec = 0x0} specifier = "staff of fire" __for_range = @0x7ffe0ef3ce40: std::vector of length 4, capacity 4 = {"staff of fire", "staff of cold", "staff of air", "staff of earth"} __for_begin = __for_end = list = {ilist = std::vector of length 0, capacity 0, fix_slot = false} #11 0x00005902bfbf68d8 in item_list::add_item (this=this@entry=0x7ffe0ef3d430, spec="staff of fire / staff of cold / staff of air / staff of earth", fix=fix@entry=false, ignore_excluded=ignore_excluded@entry=false) at mapdef.cc:4936 sp = {ilist = std::vector of length 0, capacity 0, fix_slot = false} #12 0x00005902bfbf81d7 in mons_list::parse_mons_spec (this=this@entry=0x5902c20a06e8, spec="spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id", ignore_excluded=ignore_excluded@entry=false) at mapdef.cc:3917 seg = "staff of fire / staff of cold / staff of air / staff of earth" __for_range = __for_begin = __for_end = items_str = "staff of fire / staff of cold / staff of air / staff of earth . robe ego:resistance good_item pre_id" segs = std::vector of length 2, capacity 2 = {"staff of fire / staff of cold / staff of air / staff of earth", "robe ego:resistance good_item pre_id"} shifter_name = "" summon_type = tile = "" mspec = {type = RANDOM_MONSTER, place = {branch = BRANCH_DUNGEON, depth = -1}, monbase = MONS_NO_MONSTER, attitude = ATT_HOSTILE, quantity = 1, genweight = 10, generate_awake = false, patrolling = false, band = false, colour = -1, god = GOD_NO_GOD, god_gift = false, hd = 0, hp = 0, exp = 0, summon_duration = 0, summon_type = 0, items = {items = std::vector of length 0, capacity 0, error = ""}, monname = "", non_actor_summoner = "", explicit_spells = false, spells = std::vector of length 0, capacity 0, extra_monster_flags = {<_enum_bitfield_exponent_base<-1, false>> = {}, flags = 0}, ench = std::vector of length 0, capacity 0, initial_shifter = RANDOM_MONSTER, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }} att = "" place = "" band_pow = -20404 colour = "" mongod = "" dbname = "" s = "spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id" mon_str = "spriggan defender" dur = s_type = "" name = "staff of fire / staff of cold / staff of air / staff of earth . robe ego:resistance good_item pre_id" ench_str = "|" spells = std::vector of length 0, capacity 0 parts = std::vector of length 2, capacity 2 = {"spriggan defender", "staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id"} pow = -20404 non_actor_summoner = "" monspec = "spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id" __for_range = std::vector of length 1, capacity 1 = {"spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id"} __for_begin = __for_end = slot = {mlist = std::vector of length 0, capacity 0, fix_slot = false} specs = std::vector of length 1, capacity 1 = {"spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id"} #13 0x00005902bfbf904f in mons_list::add_mons (this=this@entry=0x5902c20a06e8, s="spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id", fix=fix@entry=false, ignore_excluded=ignore_excluded@entry=false) at mapdef.cc:4318 slotmons = {mlist = std::vector of length 0, capacity 0, fix_slot = false} #14 0x00005902bfbfc3c3 in keyed_mapspec::set_mons (this=0x5902c20a0688, s=..., fix=false) at mapdef.cc:6258 error = "spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id" segment = "spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id" __for_range = @0x7ffe0ef3d870: std::vector of length 1, capacity 1 = {"spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id"} __for_begin = __for_end = #15 0x00005902bfbf0c79 in map_lines::add_key_field (this=this@entry=0x5902c05a59c0 , s="7 = spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id", set_field=, copy_field=(void (keyed_mapspec::*)(struct keyed_mapspec * const, const struct keyed_mapspec &)) 0x5902bfbf6820 ) at mapdef.cc:1758 separator = 61 key = "7" arg = "spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id" err = "" kmbase = @0x5902c20a0688: {key_glyph = 55, feat = {feats = std::vector of length 0, capacity 0, fix_slot = false}, item = {items = std::vector of length 0, capacity 0, error = ""}, mons = {mons = std::vector of length 0, capacity 0, error = ""}, map_mask = {flags_set = 0, flags_unset = 0}, err = ""} len = #16 0x00005902bfbf0f19 in map_lines::add_key_mons (this=this@entry=0x5902c05a59c0 , s="7 = spriggan defender ; staff of fire | staff of cold | staff of air | staff of earth . robe ego:resistance good_item pre_id") at mapdef.cc:1787 No locals. #17 0x00005902bfb5c25a in dgn_kmons (ls=