ASSERT(sel.size() == 1) in 'ability.cc' at line 3277 failed. Version: Dungeon Crawl Stone Soup 0.21.1-1-g345015f Platform: unix Bits: 64 Game mode: tutorial Tiles: online Command line: /usr/games/crawl-0.21 -name teroshan -rc /dgldir/rcfiles/crawl-0.21/teroshan.rc -macro /dgldir/rcfiles/crawl-0.21/teroshan.macro -morgue /dgldir/morgue/teroshan/ -tutorial -webtiles-socket /crawl-master/webserver/sockets/teroshan:2018-04-29.16:05:10.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 15 stack frames. /usr/games/crawl-0.21(_Z17write_stack_traceP8_IO_FILEi+0x23) [0x682603]: write_stack_trace(_IO_FILE*, int) /usr/games/crawl-0.21(_Z13do_crash_dumpv+0x2d7) [0x689187]: do_crash_dump() /usr/games/crawl-0.21(_Z20crash_signal_handleri+0x74) [0x682874]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x321e0) [0x7f2ae0f621e0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x2b) [0x7f2ae12caf6b]: /usr/games/crawl-0.21() [0x688a04] /usr/games/crawl-0.21() [0x688c8a] /usr/games/crawl-0.21(_Z19choose_ability_menuRKSt6vectorI6talentSaIS0_EE+0xa4c) [0x5f281c]: choose_ability_menu(std::vector > const&) /usr/games/crawl-0.21(_Z16activate_abilityv+0x62) [0x5f7432]: activate_ability() /usr/games/crawl-0.21(_Z15process_command12command_type+0x1f3) [0xbd06f3]: process_command(command_type) /usr/games/crawl-0.21() [0xbd3639] /usr/games/crawl-0.21() [0xbd410d] /usr/games/crawl-0.21(main+0x2eb) [0x5ec58b]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f2ae0f4eead]: /usr/games/crawl-0.21() [0x5ecadd] Trying to run gdb. GNU gdb (GDB) 7.4.1-debian Copyright (C) 2012 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". For bug reporting instructions, please see: . [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007f2ae12cac4e in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0 #0 0x00007f2ae12cac4e in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0 No symbol table info available. #1 0x0000000000682cc3 in call_gdb (file=0x7f2ae12b6880) at crash.cc:433 gdb = attach_cmd = "attach 19507\000\000\000\000\000\000\000" #2 0x00000000006891a0 in do_crash_dump () at dbg-asrt.cc:672 t = 1525018227 dir = {static npos = , _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x35f2128 "/dgldir/morgue/teroshan/"}} name = "/dgldir/morgue/teroshan/crash-teroshan-20180429-161027.txt", '\000' file = 0x7f2ae12b6880 #3 0x0000000000682874 in crash_signal_handler (sig_num=6) at crash.cc:196 No locals. #4 No symbol table info available. #5 0x00007f2ae12caf6b in raise () from /lib/x86_64-linux-gnu/libpthread.so.0 No symbol table info available. #6 0x0000000000688a04 in _BreakStrToDebugger (mesg=mesg@entry=0x7fffcf3c9d50 "ASSERT(sel.size() == 1) in 'ability.cc' at line 3277 failed.", assert=) at dbg-asrt.cc:796 No locals. #7 0x0000000000688c8a in AssertFailed (expr=0xbde2ce "sel.size() == 1", file=0xbddf1c "ability.cc", line=3277, text=0x0) at dbg-asrt.cc:834 mesg = "ASSERT(sel.size() == 1) in 'ability.cc' at line 3277 failed.\000\177\000\000\001\000\000\000\000\000\000\000\240\222[\003\000\000\000\000\017\060S\003\000\000\000\000\235\363\001\341*\177\000\000\001\200\255\373\000\000\000\000c+-\003\000\000\000\000c+-\003\000\000\000\000c+-\003\000\000\000\000c+-\003\000\000\000\000d+-\003\000\000\000\000\377\377\377\377\377\377\377\377c+-\003\000\000\000\000\377\377\377\377\377\377\377\377", '\000' "\360, \240<\317\004\000\000\000h\314\r\342*\177\000\000\000\000\377\377\n", '\000' "\240, \236<\317\377\177\000\000\200\236<\317\377\177", '\000' , "0\241<\317\377\177\000\000\066\241"... args = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x0, reg_save_area = 0x7fffcf3c9ea0}} fileName = #8 0x00000000005f281c in choose_ability_menu (talents=...) at ability.cc:3277 sel = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x3254700, _M_finish = 0x3254710, _M_end_of_storage = 0x3254710}}, } selected = abil_menu = { = {_vptr.Menu = 0xc42f30, f_selitem = 0, f_drawitem = 0, f_keyfilter = 0, action_cycle = Menu::CYCLE_NONE, menu_action = Menu::ACT_EXECUTE, title = 0x35fe8a0, title2 = 0x0, flags = 2130, tag = {static npos = , _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x35a4868 "ability"}}, first_entry = 0, y_offset = 2, pagesize = 22, max_pagesize = 0, more = {ops = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x35e6f70, _M_finish = 0x35e7048, _M_end_of_storage = 0x35e7048}}, }}, items = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x35b1120, _M_finish = 0x35b1148, _M_end_of_storage = 0x35b1160}}, }, sel = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x33bc340, _M_finish = 0x33bc350, _M_end_of_storage = 0x33bc350}}, }, select_filter = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, }, highlighter = 0x0, num = -1, lastch = 97, alive = true, last_selected = 1, mdisplay = 0x337a520, _webtiles_section_start = -1, _webtiles_section_end = -1, _webtiles_title_changed = false, _webtiles_title = {ops = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x35e7450, _M_finish = 0x35e7480, _M_end_of_storage = 0x35e7480}}, }}, _webtiles_suffix = {ops = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, }}}, toggle_keys = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x33748d0, _M_finish = 0x33748d8, _M_end_of_storage = 0x33748d8}}, }} numbers = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51} found_invocations = #9 0x00000000005f7432 in activate_ability () at ability.cc:1191 confused = false talents = { >> = {_M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x35f7e80, _M_finish = 0x35f7ec0, _M_end_of_storage = 0x35f7ec0}}, } selected = -1 #10 0x0000000000bd06f3 in process_command (cmd=cmd@entry=CMD_USE_ABILITY) at main.cc:1872 No locals. #11 0x0000000000bd3639 in _input () at main.cc:1142 cmd = CMD_USE_ABILITY player_disabled = {was_disabled = false} #12 0x0000000000bd410d in _launch_game () at main.cc:474 game_start = true ccon = {cstate = false, smartcstate = false} #13 0x00000000005ec58b in _launch_game_loop () at main.cc:374 game_ended = false #14 main (argc=, argv=0x7fffcf3cb258) at main.cc:332 No locals. Compilation info: <<<<<<<<<<< Compiled with GCC 4.7.2 on Feb 5 2018 at 06:01:16 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-tautological-unsigned-enum-zero-compare -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -Irltiles -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-0.21/saves" -DDATA_DIR_PATH="/crawl-master/crawl-0.21/data/" -DWEB_DIR_PATH="/crawl-master/crawl-0.21/data/web/" -isystem /usr/include/ncursesw LDFLAGS: -rdynamic -O2 >>>>>>>>>>> Place info: branch = 0, depth = 1 Level id: D:1 Level build method = random_map_for_place, level layout type = encompass, absdepth0 = 0 Level vaults: tutorial_lesson5 Markers: <<<<<<<<<<<<<<<<<<<<<< Marker 1 at (19, 45): feature (stone_stairs_up_iii) Marker 6 at (21, 45): feature (stone_stairs_up_i) Marker 8 at (23, 45): feature (stone_stairs_up_ii) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< In this lesson you're going to learn about gods and how to use their powers. You can reread all messages at any time with [Ctrl-P]. Also, press [Space] to clear the --more-- prompts. Found a mace. Found three staircases leading out of the dungeon. You see here a mace. b - a mace Wield which item (- for none, * to show all)? (? for menu, Esc to quit) b - a +0 mace (weapon) You open the door. There is an open door here. Found a bloodstained altar of Trog. Up ahead is an altar to Trog the Wrathful! Trog is just one of many gods. In a real game, you can check [Ctrl-O] for a list of all altars and other interesting features found so far. Firing (i - inventory): No suitable missiles. Press: ? - help, Shift-Dir - straight line, f - you Okay, then. You can pray on an altar with [>] to get an idea what a god offers you, and to join the faith. If you press [!] on the religion screen, you can see a more detailed description. Confirm your choice with an uppercase [Y]. There is a bloodstained altar of Trog here. You kneel at the altar of Trog. Trog welcomes you! You can now go berserk at will. You can now call upon Trog to burn spellbooks in your surroundings. Have a look at your current religious standing with [^]. Again, pressing [!] will bring up a more detailed description of your god. Some gods really like it if you kill monsters in their name. Let the slaughter begin! A rat comes into view. 2 rats come into view. The rat moves out of view. The rat misses you. You closely miss the rat. The rat twitches its whiskers. The rat barely misses you. The rat misses you. You barely miss the rat. The rat barely misses you. You sock the rat! You kill the rat! Trog accepts your kill. You hit the rat but do no damage. The rat misses you. The rat closely misses you. You closely miss the rat. The rat closely misses you. You hit the rat. You kill the rat! Trog accepts your kill. A rat comes into view. Things that are here: a rat corpse x2 You hit the rat. You kill the rat! Trog accepts your kill. You see here a rat corpse. You hit the rat but do no damage. The rat bites you. You sock the rat! You kill the rat! Trog accepts your kill. You see here a rat corpse. You butcher the rat corpse. c - a chunk of flesh You see here a rat skeleton. You see here a rat corpse. You butcher the rat corpse. c - 2 chunks of flesh (gained 1) Things that are here: a rat corpse x2 Butcher a rat corpse? [(y)es/(c)hoosy/(n)o/(a)ll/(e)dible/(q)uit/?] You butcher the rat corpse. x2 c - 3 chunks of flesh (gained 1); c - 4 chunks of flesh (gained 1) You see here a rat skeleton. Found a metal-bound book. Trog will like it if you burn that book (with [a]). Sometimes, you might want to wait (with [.]) for a monster to step on it before doing so. A hobgoblin comes into view. It is wielding a mace. The hobgoblin shouts! The spellbook bursts into flames. Trog is delighted! The hobgoblin is engulfed in blazing flames. You kill the hobgoblin! Trog accepts your kill. You can now call upon Trog for regeneration and magic resistance. You see here a mace. d - a mace Wield which item (- for none, * to show all)? (? for menu, Esc to quit) d - a +0 mace (weapon) Against particularly tough foes, you may want to use Trog's Berserk power with [a]. You open the door. A gnoll comes into view. It is wielding a mace. There is an open door here. Press: ? - help, v - describe, . - travel The floor. >>>>>>>>>>>>>>>>>>>>>> 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: 2, arena_suspended: 0 prev_cmd = CMD_USE_ABILITY repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [teroshan] Species: Human Job: Fighter HP: 18/18; mods: 0/0 MP: 3/3; mod: 2 Stats: 16 (16) 8 (8) 12 (12) Position: (44, 40), god: Trog (10), turn_is_over: 0, banished: 0 Standing on/in/over feature: open door Skills (mode: auto) Name | can_train | train | training | level | points | progress Fighting | X | 1 | 41 | 3 | 361 | 61/200 Short Blades | | 1 | 0 | 0 | 0 | 0/50 Long Blades | | 1 | 0 | 0 | 0 | 0/50 Axes | | 1 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 1 | 5 | 0 | 0 | 0/50 Polearms | | 1 | 0 | 0 | 0 | 0/50 Staves | | 1 | 0 | 0 | 0 | 0/50 Slings | | 1 | 0 | 0 | 0 | 0/50 Bows | | 1 | 0 | 0 | 0 | 0/50 Crossbows | | 1 | 0 | 0 | 0 | 0/50 Throwing | X | 1 | 0 | 0 | 0 | 0/50 Armour | X | 1 | 42 | 3 | 301 | 1/200 Dodging | X | 1 | 1 | 0 | 0 | 0/50 Stealth | X | 1 | 0 | 0 | 0 | 0/42 Shields | | 1 | 0 | 0 | 0 | 0/50 Unarmed Combat | X | 1 | 11 | 2 | 151 | 1/150 Spellcasting | X | 0 | 0 | 0 | 0 | 0/59 Conjurations | | 0 | 0 | 0 | 0 | 0/50 Hexes | | 0 | 0 | 0 | 0 | 0/50 Charms | | 0 | 0 | 0 | 0 | 0/50 Summonings | | 0 | 0 | 0 | 0 | 0/50 Necromancy | | 0 | 0 | 0 | 0 | 0/50 Translocations | | 0 | 0 | 0 | 0 | 0/50 Transmutations | | 0 | 0 | 0 | 0 | 0/50 Fire Magic | | 0 | 0 | 0 | 0 | 0/50 Ice Magic | | 0 | 0 | 0 | 0 | 0/50 Air Magic | | 0 | 0 | 0 | 0 | 0/50 Earth Magic | | 0 | 0 | 0 | 0 | 0/50 Poison Magic | | 0 | 0 | 0 | 0 | 0/50 Invocations | | 1 | 0 | 0 | 0 | 0/42 Evocations | | 1 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: Attributes: #27: 6 #59: 1 Mutations: Inventory bugs: Equipment: eq slot #0, inv slot #3: +0 mace eq slot #6, inv slot #0: +0 robe }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: #.# #.# #.# #.# #.# #.# ###.### ####### #.....########....... #............@...g... #.....########....... #.....# ####### ####### clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< Lua marker 0 at (19, 45): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson5 onclimb: CLASS: FunctionWrapper name: tutorial5.exit fn: [type function] }}}} Lua marker 2 at (21, 30): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 religion exit: false }}}} Lua marker 3 at (21, 35): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 altar exit: false }}}} Lua marker 4 at (21, 40): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 dungeon_overview exit: false }}}} Lua marker 5 at (21, 45): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson5 onclimb: CLASS: FunctionWrapper name: tutorial5.exit fn: [type function] }}}} Lua marker 7 at (23, 45): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson5 onclimb: CLASS: FunctionWrapper name: tutorial5.exit fn: [type function] }}}} Lua marker 9 at (25, 26): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 piety_on_kill exit: false }}}} Lua marker 10 at (34, 34): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 burn_book exit: false }}}} Lua marker 11 at (43, 40): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 berserk exit: false }}}} Lua marker 12 at (51, 28): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 berserk2 exit: false }}}} Lua marker 13 at (52, 40): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 exhaustion exit: false }}}} Lua marker 14 at (60, 31): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 tutorial_end exit: false }}}} Lua marker 15 at (60, 31): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson5 onclimb: CLASS: FunctionWrapper name: tutorial5.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 16 at (60, 38): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 hunger exit: false }}}} Lua marker 17 at (61, 24): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 tutorial_end exit: false }}}} Lua marker 18 at (61, 24): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson5 onclimb: CLASS: FunctionWrapper name: tutorial5.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 19 at (63, 27): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial5 tutorial_end exit: false }}}} Lua marker 20 at (63, 27): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson5 onclimb: CLASS: FunctionWrapper name: tutorial5.win fn: [type function] desc: exit from the tutorial }}}} >>>>>>>>>>>>>>>>>>>>>>