ASSERT(valid_cursor_pos(pos.x, pos.y, region)) in 'libutil.cc' at line 404 failed. (invalid cursor position -35,8 in region 2, should be 2,8 in region 3) Version: Dungeon Crawl Stone Soup 0.34-a0-146-g4abbe06800 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 14061220688200732482, deterministic pregen: 1 Command line: /usr/games/crawl-git-4abbe06800 -name teddycook -rc /dgldir/rcfiles/crawl-git/teddycook.rc -macro /dgldir/rcfiles/crawl-git/teddycook.macro -webtiles-socket /crawl-master/webserver/sockets/teddycook:dcss-git.sock -morgue /dgldir/morgue/teddycook/ RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 17 stack frames. /usr/games/crawl-git-4abbe06800(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x61ea630b0ffe]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-4abbe06800(_Z13do_crash_dumpv+0x43a) [0x61ea630bf07a]: do_crash_dump() /usr/games/crawl-git-4abbe06800(_Z20crash_signal_handleri+0x1fa) [0x61ea630b14da]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x750ed0042910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x750ed009999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x750ed0042866]: /usr/games/crawl-git-4abbe06800(+0x4da44d) [0x61ea630be44d]: /usr/games/crawl-git-4abbe06800(_Z12AssertFailedPKcS0_iS0_z+0x1a1) [0x61ea630be931]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-git-4abbe06800(_Z23assert_valid_cursor_posv+0xc5) [0x61ea63372725]: assert_valid_cursor_pos() /usr/games/crawl-git-4abbe06800(+0x4a3e5a) [0x61ea63087e5a]: /usr/games/crawl-git-4abbe06800(_Z11wrapcprintfPKcz+0xce) [0x61ea63088c9e]: wrapcprintf(char const*, ...) /usr/games/crawl-git-4abbe06800(_Z12startup_stepv+0xba9) [0x61ea636d04b9]: startup_step() /usr/games/crawl-git-4abbe06800(+0xc69fdd) [0x61ea6384dfdd]: /usr/games/crawl-git-4abbe06800(main+0x1f7) [0x61ea62fe64c7]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x750ed00280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x750ed0028189]: /usr/games/crawl-git-4abbe06800(_start+0x25) [0x61ea62fe6ef5]: 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". 0x0000750ed010fbf7 in __GI___wait4 (pid=659993, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x0000750ed010fbf7 in __GI___wait4 (pid=659993, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x000061ea630b16ac in call_gdb (file=0x750ed01ff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 659979\000\000\000\000\000\000" #2 0x000061ea630bf098 in do_crash_dump () at dbg-asrt.cc:673 t = 1749806150 dir = "/dgldir/morgue/teddycook/" name = "/dgldir/morgue/teddycook/crash-teddycook-20250613-091550.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(valid_cursor_pos(pos.x, pos.y, region)) in 'libutil.cc' at line 404 failed. (invalid cursor position -35,8 in region 2, should be 2,8 in region 3)" file = 0x750ed01ff6c0 <_IO_2_1_stderr_> #3 0x000061ea630b14da 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 = {140725216517952}} 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 0x0000750ed0042866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x000061ea630be44d in _BreakStrToDebugger (mesg=mesg@entry=0x7ffd248aa140 "ASSERT(valid_cursor_pos(pos.x, pos.y, region)) in 'libutil.cc' at line 404 failed. (invalid cursor position -35,8 in region 2, should be 2,8 in region 3)", assert=true) at dbg-asrt.cc:799 No locals. #10 0x000061ea630be931 in AssertFailed (expr=expr@entry=0x61ea638f54b0 "valid_cursor_pos(pos.x, pos.y, region)", file=file@entry=0x61ea6387aa10 "libutil.cc", line=line@entry=404, text=text@entry=0x61ea638f5460 "invalid cursor position %d,%d in region %d, should be %d,%d in region %d") at dbg-asrt.cc:832 detail = "invalid cursor position -35,8 in region 2, should be 2,8 in region 3\000\177\000\000\020\240\212$\375\177\000\000\360\231 #11 0x000061ea63372725 in assert_valid_cursor_pos () at libutil.cc:404 region = GOTO_STAT pos = {x = -35, y = 8} #12 0x000061ea63087e5a in wrapcprint_skipping (skiplines=skiplines@entry=0, wrapcol=42, buf="Time:") at cio.cc:265 region = sz = linestart = len = linebreak = #13 0x000061ea63088c9e in wrapcprintf (s=) at cio.cc:348 args = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7ffd248aa850, reg_save_area = 0x7ffd248aa780}} buf = "Time:" #14 0x000061ea6356655a in draw_border () at output.cc:1645 ac_pos = ev_pos = sh_pos = str_pos = int_pos = dex_pos = #15 0x000061ea636d04b9 in _post_init (newc=false) at startup.cc:368 old_level = {branch = NUM_BRANCHES, depth = -1} old_level = #16 startup_step () at startup.cc:1114 choice = {name = "teddycook", type = GAME_TYPE_NORMAL, filename = "teddycook.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_MOUNTAIN_DWARF}, allowed_jobs = std::vector of length 1, capacity 1 = {JOB_FIGHTER}, allowed_weapons = std::vector of length 1, capacity 1 = {WPN_WAR_AXE}, species = SP_MOUNTAIN_DWARF, job = JOB_FIGHTER, weapon = WPN_WAR_AXE, 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} #17 0x000061ea6384dfdd in _launch_game () at main.cc:420 game_start = ccon = #18 0x000061ea62fe64c7 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = #19 main (argc=11, argv=0x7ffd248ab268) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }}} [Inferior 1 (process 659979) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 13.2.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-git-4abbe06800/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-4abbe06800/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-4abbe06800/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 1 Level id: D:1 Level build method = random_map_for_place, level layout type = rooms, absdepth0 = 0 Level vaults: amcnicky_arrival_double_pillar layout_basic grunt_decor_clamped Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #0, type 0 at (34, 35): feature (stone_stairs_up_i) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Welcome, teddycook the Mountain Dwarf Fighter. It's a long way down to the Orb of Zot, but that shouldn't be any trouble. Press ? for a list of commands and other information. Found a staircase leading out of the dungeon. Found an escape hatch in the floor. Found a dagger. Found a mace. You see here a +0 dagger. Saving game... please wait. Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. You see here a +0 mace. A ball python comes into view. The ball python hisses angrily. You hit the ball python. You kill the ball python! You open the door. There is an open door here. Saving game... please wait. Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. Unknown command. Why would you want to do that? Why would you want to do that? Saving game... please wait. Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. Saving game... please wait. Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. Saving game... please wait. Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. There is an open door here. Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Why would you want to do that? Unknown command. Saving game... please wait. Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. There is an open door here. A bat comes into view. The bat barely misses you. You block the bat's attack. You slash the bat! You kill the bat! Welcome back, teddycook the Mountain Dwarf Fighter. Press ? for a list of commands and other information. A rat comes into view. The rat squeaks loudly. You closely miss the rat. The rat barely misses you. x2 You hit the rat. The rat is moderately wounded. The rat barely misses you. You slash the rat! You kill the rat! You see here a rat corpse. Okay, then. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.34-a0-146-g4abbe06800 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_NO_CMD repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [teddycook] Species: Mountain Dwarf Job: Fighter HP: 19/19; mods: 0/0 MP: 1/1; mod: 0 Stats: 18 8 9 Position: (11, 62), god: No God (0), turn_is_over: 0, banished: 0 Standing on/in/over feature: floor Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 29 | 3 | 308 | 56/168 Short Blades | X | 1 | 0 | 0 | 0 | 0/70 Long Blades | X | 1 | 0 | 0 | 0 | 0/59 Axes | X | 1 | 16 | 2 | 155 | 49/106 Maces & Flails | X | 1 | 0 | 0 | 0 | 0/35 Polearms | X | 1 | 0 | 0 | 0 | 0/50 Staves | X | 1 | 0 | 0 | 0 | 0/42 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/70 Throwing | X | 1 | 0 | 0 | 0 | 0/70 Armour | X | 1 | 27 | 3 | 314 | 62/168 Dodging | X | 1 | 0 | 0 | 0 | 0/84 Stealth | X | 1 | 0 | 0 | 0 | 0/70 Shields | X | 1 | 28 | 3 | 307 | 55/168 Unarmed Combat | X | 1 | 0 | 0 | 0 | 0/50 Spellcasting | X | 1 | 0 | 0 | 0 | 0/70 Conjurations | X | 1 | 0 | 0 | 0 | 0/59 Hexes | X | 1 | 0 | 0 | 0 | 0/50 Summonings | X | 1 | 0 | 0 | 0 | 0/70 Necromancy | X | 1 | 0 | 0 | 0 | 0/42 Translocations | X | 1 | 0 | 0 | 0 | 0/70 Forgecraft | X | 1 | 0 | 0 | 0 | 0/35 Fire Magic | X | 1 | 0 | 0 | 0 | 0/35 Ice Magic | X | 1 | 0 | 0 | 0 | 0/59 Air Magic | X | 1 | 0 | 0 | 0 | 0/84 Earth Magic | X | 1 | 0 | 0 | 0 | 0/42 Alchemy | X | 1 | 0 | 0 | 0 | 0/70 Invocations | X | 1 | 0 | 0 | 0 | 0/29 Evocations | X | 1 | 0 | 0 | 0 | 0/42 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/70 Spell bugs: Durations: Attributes: #49: 57 Mutations: runic magic: 1 (innate) artefact enchanting: 1 (innate) Inventory bugs: Equipment: eq slot #1, inv slot #0: +0 war axe eq slot #3, inv slot #1: +0 scale mail eq slot #2, inv slot #2: +0 buckler }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: ########.# #.# #.# #.# #.# #.# #.# #.# ###############.# .......@.....†..# ################# clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>