Description |
When the terminal is resized below the minimum of 79x24, the game crashes with an assertion: <tt>ERROR in 'libutil.cc' at line 968: screen write out of bounds: (-1,-1) into (80,23)</tt>.
While actually supporting 80x23 might not be feasible, this should not result in a crash. Kilobyte suggested blanking the screen, displaying a message, and allowing the user to either quit or resize their terminal.
As for actually supporting verytinyterms, If we dynamically resize the message area, the main display could work in as few as 19 lines (17 for LOS plus two for the message area; things with multi-line prompts, like scroll of acquirement, would be ugly). However, many of the other screens (such as god info and description) require the full 24 lines. Most of these could probably use scrollers (see 0006421), but not necessarily everything.
|
Attached Files |
crash-Wrenky-20131210-102252.txt [^] (11,418 bytes) 2013-12-10 21:50 [Show Content] [Hide Content]ERROR in 'libutil.cc' at line 1022: screen write out of bounds: (-1,-1) into (80,23)
Version: Dungeon Crawl Stone Soup 0.14-a0-1072-g24c2e89
Platform: unix
Bits: 32
Game mode: normal
Tiles: no
Command line: crawl
RC options:
restart_after_game = false
Crash caused by signal #6: Aborted
Obtained 26 stack frames.
crawl(_Z17write_stack_traceP8_IO_FILEi+0x22) [0x818f692]: write_stack_trace(_IO_FILE*, int)
crawl(_Z13do_crash_dumpv+0x2e4) [0x8197a74]: do_crash_dump()
crawl(_Z20crash_signal_handleri+0x6d) [0x818f97d]: crash_signal_handler(int)
[0xb7743400]
[0xb7743424]
/lib/i386-linux-gnu/libpthread.so.0(raise+0x3e) [0xb74c3dde]:
crawl() [0x8195b8b]
crawl(_Z3diePKciS0_z+0xc0) [0x8195e90]: die(char const*, int, char const*, ...)
crawl(_Z7cgotoxyii10GotoRegion+0xc1) [0x835d3d1]: cgotoxy(int, int, GotoRegion)
crawl(_Z7puttextiiRK17crawl_view_buffer+0x55) [0x86a5345]: puttext(int, int, crawl_view_buffer const&)
crawl(_Z10viewwindowbb+0x56b) [0x865ab3b]: viewwindow(bool, bool)
crawl(_Z13redraw_screenv+0xbe) [0x860518e]: redraw_screen()
[0xb7743400]
[0xb7743422]
/lib/i386-linux-gnu/libpthread.so.0(read+0x4b) [0xb74c29db]:
/lib/i386-linux-gnu/libncursesw.so.5(_nc_wgetch+0x5d6) [0xb7612ef6]:
/lib/i386-linux-gnu/libncursesw.so.5(wget_wch+0x74) [0xb7629364]:
crawl(_Z6getchkv+0x34) [0x86a5194]: getchk()
crawl(_Z7m_getchv+0x20) [0x86a5860]: m_getch()
crawl() [0x836d1db]
crawl(_Z25getch_with_command_macrosv+0x38d) [0x836e3dd]: getch_with_command_macros()
crawl() [0x8385425]
crawl() [0x8386f05]
crawl(main+0x37a) [0x8387d3a]:
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xb73234d3]:
crawl(_ZNSt8ios_base4InitD1Ev+0x5d) [0x80f6a21]: std::ios_base::Init::~Init()
Trying to run gdb.
Compilation info:
<<<<<<<<<<<
Compiled with GCC 4.3.2 on Nov 25 2013 at 03:32:11
Build platform: i486-linux-gnu
Platform: i486-linux-gnu
CFLAGS: -g -O2 -pipe -Wall -Wformat-security -Wmissing-declarations -Wundef -Wno-array-bounds -Wno-parentheses -Wno-unused-parameter -Wwrite-strings -Wshadow -Wuninitialized -Icontrib/install/i486-linux-gnu/include -Iutil -I. -I/usr/include/lua5.1 -I/usr/include -Irltiles -I/usr/include/ncursesw -DWIZARD -DASSERTS -DCLUA_BINDINGS -DSAVE_DIR_PATH="~/.crawl" -DDATA_DIR_PATH="/usr/share/crawl/"
LDFLAGS: -rdynamic -g -O2
>>>>>>>>>>>
Place info:
branch = 0, depth = 1
Level id: D:1
Level build method = random_map_for_place, level layout type = misc, absdepth0 = 0
Level vaults:
lightli_iron_boxes
layout_loops_cross
grunt_decor_cap
Markers:
<<<<<<<<<<<<<<<<<<<<<<
Marker 0 at (44, 48): feature (stone_stairs_up_i)
>>>>>>>>>>>>>>>>>>>>>>
Messages:
<<<<<<<<<<<<<<<<<<<<<<
Welcome, Wrenky the Tengu Air Elementalist.
Will you prevail where others failed? Will you get the Orb of Zot?
Press ? for a list of commands and other information.
Found a staircase leading out of the dungeon.
A rat comes into view.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f - rat
Aim: a rat
The zap hits the rat.
The rat is heavily wounded.
The rat moves out of view.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f/p - rat
Aim: a rat (heavily wounded)
The zap misses the rat.
The rat barely misses you.
You barely miss the rat.
The rat is heavily wounded.
The rat completely misses you.
You barely miss the rat. Your kick misses the rat. You peck the rat.
You kill the rat!
A goblin and a hobgoblin come into view.
The goblin shouts! The hobgoblin shouts!
The hobgoblin misses you.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f - hobgoblin
Aim: a hobgoblin, wielding a club
The zap hits the hobgoblin.
The hobgoblin is heavily wounded.
The zap misses the goblin.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f/p - hobgoblin
Aim: a hobgoblin, wielding a club (heavily wounded)
The zap hits the hobgoblin.
The hobgoblin is severely wounded.
The zap hits the goblin.
You kill the goblin!
The hobgoblin hits you but does no damage.
The hobgoblin hits you with a club.
Ouch! That really hurt!
* * * LOW HITPOINT WARNING * * *
You hit the hobgoblin but do no damage. You claw the hobgoblin.
You kill the hobgoblin!
You see here a club.
Things that are here:
an orcish dagger; a goblin corpse
You start butchering the goblin corpse with your beak and talons.
You continue butchering the corpse.
You finish ripping the goblin corpse into pieces.
d - 2 chunks of goblin flesh
You see here an orcish dagger.
e - an orcish dagger
Wield which item (- for none, * to show all)? (? for menu, Esc to quit)
e - a +0,+1 orcish dagger (weapon)
You start resting.
Magic restored.
You start resting.
You start resting.
HP restored.
A kobold comes into view.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f - kobold
Aim: a kobold (resting)
The zap hits the kobold.
You kill the kobold!
You see here a kobold corpse.
A giant newt comes into view.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f - giant newt
Aim: a giant newt (resting)
The zap hits the giant newt.
You kill the giant newt!
You start resting.
Magic restored.
A bat comes into view.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f - bat
Aim: a bat
The zap hits the bat.
You kill the bat!
The smell of rotting flesh makes you sick. (slot d)
You start resting.
Magic restored.
A goblin comes into view. It is wielding an orcish club.
The goblin shouts!
Found 14 gold pieces.
The goblin closely misses you.
You hit the goblin.
You kill the goblin!
Things that are here:
an orcish club; a goblin corpse
Things that are here:
an orcish club; a goblin corpse
You start butchering the goblin corpse with your beak and talons.
You continue butchering the corpse.
You finish ripping the goblin corpse into pieces.
f - 2 chunks of goblin flesh
Things that are here:
a goblin skeleton; an orcish club
You now have 14 gold pieces.
g - a smoky red potion
h - a marble ring
Put on which piece of jewellery? (? for menu, Esc to quit)
You feel weaker.
Oops, that ring feels deathly cold.
h - a cursed -2 ring of strength (left hand)
i - a scroll labeled GAICWA PIOMU
A hobgoblin comes into view. It is wielding an orcish club.
A hobgoblin is nearby!
The hobgoblin shouts!
Casting: Shock
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.)
Casting: Shock
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.)
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f - hobgoblin
Aim: a hobgoblin, wielding an orcish club
The zap hits the hobgoblin.
The hobgoblin is moderately wounded.
Casting: Shock
Confirm with . or Enter, or press ? or * to list all spells.
Aiming: Shock
Press: ? - help, Shift-Dir - straight line, f/p - hobgoblin
Aim: a hobgoblin, wielding an orcish club (moderately wounded)
The zap hits the hobgoblin.
You kill the hobgoblin!
You have reached level 2!
You see here an orcish club.
A bat comes into view.
You are too depleted to cast spells recklessly!
>>>>>>>>>>>>>>>>>>>>>>
Game state:
mouse_enabled: 0, waiting_for_command: 1, 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
Last resize was 1 seconds ago.
prev_cmd = CMD_AUTOFIGHT
repeat_cmd = CMD_NO_CMD
Player:
{{{{{{{{{{{
Name: [Wrenky]
Species: Tengu
Job: Air Elementalist
class_name: Air Elementalist
HP: 15/15; mods: 0/8
MP: 1/5; mods: 0/2
Stats: 6 (6) 15 (15) 14 (14)
Position: (46, 26), god: No God (0), turn_is_over: 0, banished: 0
Standing on/in/over feature: floor
Skills (mode: manual)
Name | can_train | train | training | level | points | progress
Fighting | X | 0 | 0 | 0 | 0 | 0/50
Short Blades | X | 0 | 0 | 0 | 0 | 0/42
Long Blades | | 0 | 0 | 0 | 0 | 0/42
Axes | | 0 | 0 | 0 | 0 | 0/42
Maces & Flails | | 0 | 0 | 0 | 0 | 0/42
Polearms | | 0 | 0 | 0 | 0 | 0/42
Staves | | 0 | 0 | 0 | 0 | 0/42
Slings | | 0 | 0 | 0 | 0 | 0/50
Bows | | 0 | 0 | 0 | 0 | 0/42
Crossbows | | 0 | 0 | 0 | 0 | 0/42
Throwing | X | 0 | 0 | 0 | 0 | 0/42
Armour | X | 0 | 0 | 0 | 0 | 0/42
Dodging | X | 0 | 0 | 2 | 151 | 25/126
Stealth | X | 0 | 0 | 2 | 127 | 1/126
Stabbing | | 0 | 0 | 0 | 0 | 0/1410790100
Shields | | 0 | 0 | 0 | 0 | 0/50
Traps | | 0 | 0 | 0 | 0 | 0/1410790100
Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/42
Spellcasting | X | 2 | 50 | 1 | 110 | 51/119
Conjurations | X | 1 | 25 | 1 | 71 | 42/60
Hexes | | 0 | 0 | 0 | 0 | 0/84
Charms | | 0 | 0 | 0 | 0 | 0/70
Summonings | | 0 | 0 | 0 | 0 | 0/35
Necromancy | | 0 | 0 | 0 | 0 | 0/42
Translocations | | 0 | 0 | 0 | 0 | 0/70
Transmutations | | 0 | 0 | 0 | 0 | 0/70
Fire Magic | | 0 | 0 | 0 | 0 | 0/42
Ice Magic | | 0 | 0 | 0 | 0 | 0/59
Air Magic | X | 1 | 25 | 4 | 331 | 34/148
Earth Magic | | 0 | 0 | 0 | 0 | 0/84
Poison Magic | | 0 | 0 | 0 | 0 | 0/50
Invocations | | 0 | 0 | 0 | 0 | 0/59
Evocations | | 0 | 0 | 0 | 0 | 0/42
Spell bugs:
Durations:
Attributes:
#12: 14
#27: 10
Mutations:
beak: 1 (innate)
talons: 3 (innate)
Inventory bugs:
Equipment:
eq slot #0, inv slot #4: +0,+1 orcish dagger
eq slot #6, inv slot #0: +0 robe
eq slot #7, inv slot #7: cursed -2 ring of strength
}}}}}}}}}}}
Screenshot:
##
#.#
########### #.#
#..)......# #.#
#@###≈###.##.#
#....#.#≈#.#...##
.b....###.#≈#.###..#
...##. ...#≈#.....#.###
.. # ###.#≈#.###.##.#.
#.#≈#.#........
###≈###........
clua stack:
dlua stack:
Lua persistent data:
<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>
Lua marker contents:
<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>
|