Crash caused by signal #8: Floating point exception Version: Dungeon Crawl Stone Soup 0.35-a0-468-g3aa0c7bdef Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 5028976769465815286, deterministic pregen: 1 Command line: /usr/games/crawl-git-3aa0c7bdef -name Gripp -rc /dgldir/rcfiles/crawl-git/Gripp.rc -macro /dgldir/rcfiles/crawl-git/Gripp.macro -morgue /dgldir/morgue/Gripp/ -webtiles-socket /crawl-master/webserver/sockets/Gripp:2026-06-07.11:50:34.sock -await-connection RC options: restart_after_game = false Crash caused by signal #8: Floating point exception Obtained 27 stack frames. /usr/games/crawl-git-3aa0c7bdef(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x5e7c9933b65e]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-3aa0c7bdef(_Z13do_crash_dumpv+0x43a) [0x5e7c993498ba]: do_crash_dump() /usr/games/crawl-git-3aa0c7bdef(_Z20crash_signal_handleri+0x1fa) [0x5e7c9933bb3a]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x712b7a2b1330]: /usr/games/crawl-git-3aa0c7bdef(+0xac9c9a) [0x5e7c99905c9a]: /usr/games/crawl-git-3aa0c7bdef(+0xace99d) [0x5e7c9990a99d]: /usr/games/crawl-git-3aa0c7bdef(_Z20desc_beam_hit_chanceB5cxx11RK12monster_infoP8targeter+0x53) [0x5e7c9990ac93]: desc_beam_hit_chance[abi:cxx11](monster_info const&, targeter*) /usr/games/crawl-git-3aa0c7bdef(_ZNSt17_Function_handlerIFSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EERK12monster_infoESt5_BindIFPFS8_SB_P8targeterESt12_PlaceholderILi1EESF_EEE9_M_invokeERKSt9_Any_dataSB_+0x2b) [0x5e7c99284a7b]: std::_Function_handler, std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_invoke(std::_Any_data const&, monster_info const&) /usr/games/crawl-git-3aa0c7bdef(_ZN19targeting_behaviour16get_monster_descB5cxx11ERK12monster_info+0x45) [0x5e7c993dd665]: targeting_behaviour::get_monster_desc[abi:cxx11](monster_info const&) /usr/games/crawl-git-3aa0c7bdef(+0x5a226f) [0x5e7c993de26f]: /usr/games/crawl-git-3aa0c7bdef(_Z24cell_monster_descriptionB5cxx11RK9coord_defbP19targeting_behaviour+0xe9) [0x5e7c993e31e9]: cell_monster_description[abi:cxx11](coord_def const&, bool, targeting_behaviour*) /usr/games/crawl-git-3aa0c7bdef(_ZNK17direction_chooser32print_target_monster_descriptionERb+0x3f) [0x5e7c993e36ef]: direction_chooser::print_target_monster_description(bool&) const /usr/games/crawl-git-3aa0c7bdef(_ZNK17direction_chooser24print_target_descriptionERb+0x13) [0x5e7c993e38b3]: direction_chooser::print_target_description(bool&) const /usr/games/crawl-git-3aa0c7bdef(_ZNK17direction_chooser13describe_cellEv+0x10a) [0x5e7c993e887a]: direction_chooser::describe_cell() const /usr/games/crawl-git-3aa0c7bdef(_ZN17direction_chooser19show_initial_promptEv+0x49) [0x5e7c993e8b19]: direction_chooser::show_initial_prompt() /usr/games/crawl-git-3aa0c7bdef(_ZN17direction_chooser16choose_directionEv+0x187) [0x5e7c993ea5b7]: direction_chooser::choose_direction() /usr/games/crawl-git-3aa0c7bdef(_Z9directionR4distRK22direction_chooser_args+0x80) [0x5e7c993ea9d0]: direction(dist&, direction_chooser_args const&) /usr/games/crawl-git-3aa0c7bdef(_Z15spell_directionR4distR4boltP22direction_chooser_args+0x1c8) [0x5e7c999743d8]: spell_direction(dist&, bolt&, direction_chooser_args*) /usr/games/crawl-git-3aa0c7bdef(_Z11your_spells10spell_typeibPK8item_defP4distb+0x72e) [0x5e7c99912f7e]: your_spells(spell_type, int, bool, item_def const*, dist*, bool) /usr/games/crawl-git-3aa0c7bdef(_Z12cast_a_spellb10spell_typeP4distb+0x408) [0x5e7c99915e48]: cast_a_spell(bool, spell_type, dist*, bool) /usr/games/crawl-git-3aa0c7bdef(_Z17do_cast_spell_cmdb+0x1a) [0x5e7c99916c8a]: do_cast_spell_cmd(bool) /usr/games/crawl-git-3aa0c7bdef(+0xcd2c42) [0x5e7c99b0ec42]: /usr/games/crawl-git-3aa0c7bdef(+0xcd36b5) [0x5e7c99b0f6b5]: /usr/games/crawl-git-3aa0c7bdef(main+0x1f7) [0x5e7c9926cdf7]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x712b7a2961ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x712b7a29628b]: /usr/games/crawl-git-3aa0c7bdef(_start+0x25) [0x5e7c9926d8e5]: Trying to run gdb. GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git Copyright (C) 2024 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". 0x0000712b7a37c7d7 in __GI___wait4 (pid=2473514, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x0000712b7a37c7d7 in __GI___wait4 (pid=2473514, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005e7c9933bd0c in call_gdb (file=0x712b7a4704e0 <_IO_2_1_stderr_>) at crash.cc:434 gdb = attach_cmd = "attach 2451865\000\000\000\000\000" #2 0x00005e7c993498d8 in do_crash_dump () at dbg-asrt.cc:682 t = 1780833194 dir = "/dgldir/morgue/Gripp/" name = "/dgldir/morgue/Gripp/crash-Gripp-20260607-115314.txt", '\000' signal_info = "Crash caused by signal #8: Floating point exception" cause_msg = "Crash caused by signal #8: Floating point exception" file = 0x712b7a4704e0 <_IO_2_1_stderr_> #3 0x00005e7c9933bb3a in crash_signal_handler (sig_num=8) at crash.cc:195 No locals. #4 No locals. #5 0x00005e7c99905c9a in _to_hit_pct (mi=..., acc=13) at spl-cast.cc:1705 base_ev = hit_sum = base_chance = #6 0x00005e7c9990a99d in _desc_hit_chance (mi=..., acc=) at spl-cast.cc:1714 hit_pct = result = Compilation info: <<<<<<<<<<< Compiled with GCC 13.3.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 contrib/install/x86_64-linux-gnu/include -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -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 = corridors, absdepth0 = 0 Level vaults: dpeg_arrival_stonehenge_8_columns layout_loops_ring Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #0, type 0 at (41, 21): feature (stone_stairs_up_i) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Setting a skill training target for Spellcasting at 11.0. Setting a skill training target for Conjurations at 11.0. Setting a skill training target for Alchemy at 4.4. Setting a skill training target for Necromancy at 22.0. Setting a skill training target for Translocations at 4.0. Setting a skill training target for Fire Magic at 11.0. Setting a skill training target for Ice Magic at 22.0. Setting a skill training target for Earth Magic at 7.0. Setting a skill training target for Air Magic at 7.0. Setting a skill training target for Hexes at 7.0. Setting a skill training target for Fighting at 8.0. Setting a skill training target for Throwing at 20.0. Setting a skill training target for Staves at 13.0. Setting a skill training target for Armour at 15.0. Setting a skill training target for Invocations at 9.0. Setting a skill training target for Evocations at 9.0. Setting a skill training target for Stealth at 16.0. Welcome, Gripp the Deep Elf Conjurer. Are you destined to find the legendary Orb of Zot, or to die trying? Press ? for a list of commands and other information. Found 4 poisoned darts and 16 gold pieces. Welcome back, Gripp the Deep Elf Conjurer. Press ? for a list of commands and other information. Found 4 poisoned darts and 16 gold pieces. Welcome back, Gripp the Deep Elf Conjurer. Press ? for a list of commands and other information. Found 4 poisoned darts and 16 gold pieces. Found two stairs. You encounter a rat. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a rat (asleep, 100% to hit) The magic dart hits the rat. You kill the rat! You start resting. Magic restored. You encounter a goblin. It is wielding a +0 dagger. You see here 16 gold pieces. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a goblin, wielding a +0 dagger (asleep, 100% to hit) The magic dart hits the goblin. You kill the goblin! You now have 16 gold pieces. There is a staircase leading out of the dungeon here. Found a scroll labelled SIWADW APUIFO. You encounter a quokka. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (100% to hit) The magic dart hits the quokka but does no damage. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (100% to hit) The magic dart hits the quokka. The quokka is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (moderately wounded, 100% to hit) The magic dart hits the quokka but does no damage. The quokka is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (moderately wounded, 100% to hit) The magic dart hits the quokka. You kill the quokka! You start resting. Magic restored. You start resting. Magic restored. You encounter an endoplasm. Found a green potion. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (asleep, 100% to hit) The magic dart hits the endoplasm. The endoplasm is lightly wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (lightly wounded, 100% to hit) The magic dart hits the endoplasm. You kill the endoplasm! Your Alchemy skill increases to level 1! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You start resting. Magic restored. You encounter a frilled lizard and a bat. The frilled lizard hisses angrily. You encounter a kobold. It is wielding a +0 short sword. The bat barely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (100% to hit) The magic dart hits the bat. The bat is severely wounded. The bat barely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (severely wounded, 100% to hit) The magic dart hits the bat. You kill the bat! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a frilled lizard (100% to hit) The magic dart hits the frilled lizard. You kill the frilled lizard! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a kobold, wielding a +0 short sword (100% to hit) The magic dart hits the kobold. The kobold is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a kobold, wielding a +0 short sword (moderately wounded, 100% to hit) The magic dart hits the kobold but does no damage. The kobold is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a kobold, wielding a +0 short sword (moderately wounded, 100% to hit) The magic dart hits the kobold. You kill the kobold! You start resting. Magic restored. You start resting. You encounter a rat. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a rat (wandering, hasn't noticed you, 100% to hit) The magic dart hits the rat. You kill the rat! You start resting. Magic restored. You encounter a quokka. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (wandering, hasn't noticed you, 100% to hit) The magic dart hits the quokka but does no damage. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (100% to hit) The magic dart hits the quokka. The quokka is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (moderately wounded, 100% to hit) The magic dart hits the quokka. The quokka is almost dead. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (almost dead, 100% to hit) The magic dart hits the quokka. You kill the quokka! You have reached level 2! Things that are here: a +0 short sword; a quokka corpse; a kobold corpse You start resting. Magic restored. You start resting. Magic restored. Memorise Searing Ray, consuming 2 spell levels and leaving 4? You start memorising the spell. You continue memorising. x2 You finish memorising. Spell assigned to 'd'. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line (Press . to maintain the ray.) You stop channelling your searing ray. You start resting. Magic restored. You encounter a dart slug. The dart slug launches a dart at you. The slug dart hits you. You take 3 damage, and have 12/15 hp. You start resting. A dart slug comes into view. You start resting. HP restored. You start waiting. A dart slug comes into view. Casting: Searing Ray (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a dart slug (100% to hit) You focus your ray upon the dart slug. The searing ray hits the dart slug! The dart slug is severely wounded. (Press . to maintain the ray.) The searing ray hits the dart slug. You kill the dart slug! Your Alchemy skill increases to level 2! You stop channelling your searing ray. Things that are here: a +0 short sword; a quokka corpse; a kobold corpse Magic restored. You encounter a kobold. It is wielding a +0 dagger. The kobold shouts! You encounter an endoplasm. You encounter a frilled lizard. Casting: Searing Ray (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a kobold, wielding a +0 dagger (82% to hit) You focus your ray upon the kobold. The searing ray hits the kobold. You kill the kobold! (Press . to maintain the ray.) The searing ray hits the endoplasm. The endoplasm is moderately wounded. The searing ray hits the endoplasm. The endoplasm is almost dead. The searing ray hits the endoplasm! You kill the endoplasm! You finish channelling your searing ray. Casting: Searing Ray (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a frilled lizard (100% to hit) The magic dart hits the frilled lizard. You kill the frilled lizard! You start resting. Magic restored. You start resting. Magic restored. There is a stone staircase leading down here. You see here a bat corpse. You see here a frilled lizard corpse. c - a scroll labelled SIWADW APUIFO Saving game... please wait. Welcome back, Gripp the Deep Elf Conjurer. Welcome back, Gripp the Deep Elf Conjurer. Welcome back, Gripp the Deep Elf Conjurer. Press ? for a list of commands and other information. d - a green potion Cast which spell? (? or * to list) Aiming: Searing Ray (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line Okay, then. Found 11 gold pieces. As you read the scroll labelled SIWADW APUIFO, it crumbles to dust. A wave of despondency washes over your surroundings. It was a scroll of vulnerability. You see here a frilled lizard corpse. You feel your willpower return. You encounter a hobgoblin. Casting: Searing Ray (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.35-a0-468-g3aa0c7bdef 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_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [Gripp] Species: Deep Elf Job: Conjurer HP: 15/15; mods: 0/0 MP: 6/8; mod: 0 Stats: 4 22 13 Position: (23, 24), god: No God (0), turn_is_over: 0, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 0 | 0 | 0 | 0 | 0/70 Short Blades | X | 0 | 0 | 0 | 0 | 0/50 Long Blades | X | 0 | 0 | 0 | 0 | 0/59 Axes | X | 0 | 0 | 0 | 0 | 0/70 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/84 Polearms | X | 0 | 0 | 0 | 0 | 0/84 Staves | X | 0 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/29 Throwing | X | 0 | 0 | 0 | 0 | 0/50 Armour | X | 0 | 0 | 0 | 0 | 0/70 Dodging | X | 0 | 0 | 2 | 151 | 45/106 Stealth | X | 0 | 0 | 2 | 127 | 38/89 Shields | X | 0 | 0 | 0 | 0 | 0/70 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/70 Spellcasting | X | 0 | 0 | 3 | 179 | 1/119 Conjurations | X | 0 | 0 | 4 | 501 | 81/210 Hexes | X | 0 | 0 | 0 | 0 | 0/29 Summonings | X | 0 | 0 | 0 | 0 | 0/42 Necromancy | X | 0 | 0 | 0 | 0 | 0/35 Translocations | X | 0 | 0 | 0 | 0 | 0/42 Forgecraft | X | 0 | 0 | 0 | 0 | 0/42 Fire Magic | X | 0 | 0 | 0 | 0 | 0/42 Ice Magic | X | 0 | 0 | 0 | 0 | 0/42 Air Magic | X | 0 | 0 | 0 | 0 | 0/42 Earth Magic | X | 0 | 0 | 0 | 0 | 0/42 Alchemy | X | 1 | 100 | 2 | 153 | 27/126 Invocations | X | 0 | 0 | 0 | 0 | 0/42 Evocations | X | 0 | 0 | 0 | 0 | 0/42 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: Attributes: #12: 16 #49: 61 Mutations: magic regeneration: 1 (innate) Inventory bugs: Equipment: eq slot #3, inv slot #0: +0 robe }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: #.....##.... #.....##.... #........... ###........... ##.#..##....... ##.#...##....... ##.###.....(..... ##.## #........... #@## #.....##.... #......# #.....##.... #.#####.# #.##........ .g#............ ..#........... .......####### ...... .... dlua errors: clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>