[ToME 1.5.10] Unremarkable cave game freeze. Stack overflow.

Where bugs go to lie down and rest

Moderator: Moderator

Post Reply
Message
Author
BugReporter
Higher
Posts: 62
Joined: Wed Jun 06, 2018 10:53 am

[ToME 1.5.10] Unremarkable cave game freeze. Stack overflow.

#1 Post by BugReporter »

Short description.
The game freezes when the player character approaches the Unremarkable cave boss.

Actual result.
The game freezes and the screen starts to flicker when the player character approaches a "room" with Krogar and Fillarel.

Expected result.
The game doesn't freeze.

Steps to reproduce.
1. Enable Developer Mode.
2. Create a character: Cornac Anorithil.
3. Exit to World map and go to Unremarkable cave. Teleport over any orc patrol with Ctrl+LMB.
4. Kill enemies with Ctrl+Shift+RMB. Proceed towards the room with the boss, but do not enter it (don't trigger the quest).
5. Save the game and make a back up copy of it. Move the mouse cursor somewhere inside the room and press LMB.

Game version.
1.5.10 for windows from ToME site.

Comment.
Moving the character with keyboard, moving to adjacent tiles with mouse, teleportation rune don't seem to cause the issue.
Commenting out line 1214 self:playerFOV() in ..\mod\class\Player.lua seems to fix the issue.
Is it necessary? Doesn't runMoved() (line 1204 in the same file) cover that already?

Log.

Code: Select all

Astar fail: destination unreachable
Astar fail: destination unreachable
===	nil	nil
[QUEST] given to	table: 0xNNNNNNNN	strange-new-world
[LOG]	#LIGHT_GREEN#Accepted quest 'Strange new world'! #WHITE#(Press 'j' to see the quest log)
*[CHAT] loaded	welcome	table: 0x1e10bdf0
*[LOG]	Ran for 1 turns (stop reason: chat started).
*===	nil	nil
...
[CHAT] loaded	welcome	table: 0x0199a968
[LOG]	Ran for 1 turns (stop reason: chat started).
Lua Error: /engine/Map.lua:560: stack overflow
	At [C]:-1 
	At /engine/Map.lua:560 map
	At /mod/class/Player.lua:573 
	At [C]:-1 calc_circle
	At /mod/class/Player.lua:570 playerFOV
	At /mod/class/Player.lua:1214 runStopped
	At /engine/interface/PlayerRun.lua:380 runStop
	At /mod/class/Player.lua:781 onChat
	At /engine/Chat.lua:105 invoke
	At /data/zones/unremarkable-cave/npcs.lua:88 
^	At [C]:-1 calc_default_fov
^	At /engine/interface/ActorFOV.lua:72 computeFOV
^	At /mod/class/Player.lua:645 playerFOV
^	At /mod/class/Player.lua:1214 runStopped
^	At /engine/interface/PlayerRun.lua:380 runStop
^	At /mod/class/Player.lua:781 onChat
^	At /engine/Chat.lua:105 invoke
^	At /data/zones/unremarkable-cave/npcs.lua:88 
...
	At [C]:-1 calc_default_fov
	At /engine/interface/ActorFOV.lua:72 computeFOV
	At /mod/class/Player.lua:645 playerFOV
	At /mod/class/Player.lua:1205 runMoved
	At /engine/interface/PlayerRun.lua:138 runStep
	At /engine/interface/PlayerRun.lua:106 runFollow
	At /engine/interface/PlayerMouse.lua:87 mouseMove
	At /engine/interface/PlayerMouse.lua:141 mouseHandleDefault
	At /mod/class/Game.lua:2478 fct
	At /engine/Mouse.lua:58 
...
The part marked with * repeats itself over about 2000 lines. 0xNNNNNNNN (N from 0 to f).
The part marked with ^ repeats itself over about 5000 lines. The last part changes in the next loop to

Code: Select all

	At [C]:-1 calc_default_fov
	At /engine/interface/ActorFOV.lua:72 computeFOV
	At /mod/class/Player.lua:645 playerFOV
	At /mod/class/Game.lua:1730 updateFOV
	At /mod/class/Game.lua:1761 displayMap
	At /mod/class/uiset/Minimalist.lua:1947 display
	At /mod/class/Game.lua:1856 
The game continues to write the log.

Post Reply