game hungs when monsters throw things at PC
issueid=3985 11-16-2015 09:49 PM
Senior Member
Number of reported issues by yhal003: 12
game hungs when monsters throw things at PC

Had this happen three times since installing steam version. When monster (kobold, gnoll, orc) uses its ranged attack the game completely locks.
Issue Details
Issue Number 3985
Project ADOM (Ancient Domains Of Mystery)
Category Linux (Steam)
Status Fixed
Priority 1 - Highest
Affected Version ADOM r61
Fixed Version ADOM r64 (v2.0.3)
Milestone Potential work pipeline
Users able to reproduce bug 1
Users unable to reproduce bug 0
Assigned Users adom-admin, jt, Zeno
Tags (none)




11-16-2015 10:27 PM
Senior Member
How often does this happen? I haven't been able to reproduce so far with raiders shooting arrows or goblin rock-throwers throwing rocks.

Also, are you using completely standard settings, or have you reconfigured anything since installing?

11-16-2015 10:36 PM
Senior Member
It does not happen all the time, and I did manage to kill Kranach with his gang without issue. But the same char had a problem with orc throwing a crude knife in PC vault.

I do set auto_pickup and show_experience, and change display mode to show stats at the bottom of the screen. And play in ASCII mode.

Apparently I am not the only one affected: http://steamcommunity.com/app/333300...1136920619104/

11-18-2015 06:35 PM

11-18-2015 08:01 PM
Senior Member
On my Linux Mint 17.1 every game if lasts long enough will hit this issue. Never seen it happen on Windows 7. Attempt to run ltrace crashes with the following:

Code:
SDL_FillRect(0x9cbe750, 0xffb03f50, 0, 0x837c3ac)                                         = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c358, 0)                                        = 0x9e1f950
__dynamic_cast(0x9c145b8, 0x837c340, 0x837c838, 0)                                        = 0x9c145b8
__dynamic_cast(0x9c145b8, 0x837c340, 0x837c838, 0)                                        = 0x9c145b8
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c364, 0)                                        = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c394, 0)                                        = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c3a0, 0)                                        = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c3ac, 0)                                        = 0
__dynamic_cast(0x987ea90, 0x837c7d4, 0x837c394, 0)                                        = 0
__dynamic_cast(0x987ea90, 0x837c7d4, 0x837c3a0, 0)                                        = 0
__dynamic_cast(0x987ea90, 0x837c7d4, 0x837c3ac, 0)                                        = 0
__dynamic_cast(0x987ea90, 0x837c7d4, 0x837c358, 0)                                        = 0
__dynamic_cast(0x987ea90, 0x837c7d4, 0x837c364, 0)                                        = 0x987ea90
__dynamic_cast(0x96632a0, 0x837c7d4, 0x837c358, 0)                                        = 0
__dynamic_cast(0x96632a0, 0x837c7d4, 0x837c364, 0)                                        = 0
__dynamic_cast(0x96632a0, 0x837c7d4, 0x837c394, 0)                                        = 0
__dynamic_cast(0x96632a0, 0x837c7d4, 0x837c3a0, 0)                                        = 0
__dynamic_cast(0x96632a0, 0x837c7d4, 0x837c3ac, 0)                                        = 0x96632a0
__dynamic_cast(0x9c145b8, 0x837c340, 0x837c838, 0)                                        = 0x9c145b8
__dynamic_cast(0x9c145b8, 0x837c340, 0x837c838, 0)                                        = 0x9c145b8
SDL_FillRect(0x9cbe750, 0xffb03f50, 0, 0x837c3ac)                                         = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c358, 0)                                        = 0x9e1f950
__dynamic_cast(0x9c145b8, 0x837c340, 0x837c838, 0)                                        = 0x9c145b8
__dynamic_cast(0x9c145b8, 0x837c340, 0x837c838, 0)                                        = 0x9c145b8
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c364, 0)                                        = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c394, 0 <unfinished ...>
SteamAPI_RunCallbacks(0x3d0f00, 0xf1f73b40, 0, 0 <unfinished ...>
<... __dynamic_cast resumed> )                                                            = 0
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c3a0, 0 <unfinished ...>
memset(0x3d0f00, '@', -235465921 <unfinished ...>
<... __dynamic_cast resumed> )                                                            = 0
SteamNetworking(0x3d0f00, 0xf1f73b40, 0xf1f72340, 0xf1f72340 <unfinished ...>
__dynamic_cast(0x9e1f950, 0x837c7d4, 0x837c3ac, 0callstack_push_syscall: Error: call nesting too deep!
I have seen it happen with all sorts of projectiles as well as breath attacks.

11-21-2015 11:10 PM
Senior Member
Any news on this one? This bug makes the game completely unplayable on linux.

Last time ltrace showed something different:
Code:
memcmp(0x8339bb6, 0x9401168, 10, 0x81f1b71)                                               = 0
realloc(0, 56)                                                                            = 0xa871f48
free(0xa6bfb18)                                                                           = <void>
realloc(0, 32)                                                                            = 0xa871f88
free(0)                                                                                   = <void>
strlen("is_lit")                                                                          = 6
memcmp(0x8339c3c, 0x9406f88, 6, 0xa871f94)                                                = 0
realloc(0, 28)                                                                            = 0xa6bfb18
strlen("level_type")                                                                      = 10
memcmp(0x8339bb6, 0x9401168, 10, 0x81f1b71)                                               = 0
realloc(0, 56)                                                                            = 0xa871fb0
free(0xa6bfb18)                                                                           = <void>
realloc(0, 32)                                                                            = 0xa871ff0
free(0)                                                                                   = <void>
strlen("is_lit")                                                                          = 6
memcmp(0x8339c3c, 0x9406f88, 6, 0xa871ffc)                                                = 0
realloc(0, 28)                                                                            = 0xa6bfb18
strlen("level_type")                                                                      = 10
memcmp(0x8339bb6, 0x9401168, 10, 0x81f1b71)                                               = 0
realloc(0, 56)                                                                            = 0xa872018
free(0xa6bfb18)                                                                           = <void>
realloc(0, 32)                                                                            = 0xa872058
free(0 <unfinished ...>
SteamAPI_RunCallbacks(0x3d0f00, 0xf1f7ab40, 0, 0 <unfinished ...>
<... free resumed> )                                                                      = <void>
strlen("is_lit" <unfinished ...>
memset(0x3d0f00, '@', -235437249 <unfinished ...>
<... strlen resumed> )                                                                    = 6
SteamNetworking(0x3d0f00, 0xf1f7ab40, 0xf1f79340, 0xf1f79340 <unfinished ...>
memcmp(0x8339c3c, 0x9406f88, 6, 0xa872064callstack_push_syscall: Error: call nesting too deep!
Is there any other debug info I can provide?

11-22-2015 04:06 PM
The Creator
Linux seems to be the platform where this happens most (always?). Other comments on FB, etc. also indicate this.

11-22-2015 06:44 PM
Senior Member
Yes, I have linux and windows, and this problem only happens on linux machine for me. It never happened before with pre steam versions.

Something I noticed, steam executable is 32bit while I always used 64bit version, and I run it on 64bit system. Could be related?

11-23-2015 06:48 AM
jt jt is offline
Administrator
Can you also provide the adom.log file from the .adom.steam directory? That would help, thanks!

11-23-2015 07:56 PM
Senior Member
Done, but last log messages are from <2015-11-23 20:42:29> and I had it crash on 24th. I have it in "crashed" state for now, so if you need to run some diagnostics, let me know.

11-24-2015 09:01 PM
Junior Member
Bumping this, this happens to me too. I play on Ubuntu. If I leave the game idle for long enough, it usually resumes, but this can take several minutes. It is always when a character uses a throwing/ranged attack. The map still scrolls and the cursor still highlights interface objects, but nothing else responds, no keystrokes or clicks (other than to scroll the map).

11-25-2015 04:15 PM
Junior Member
This isn't only the Steam version issue. I play on r60 and it happened to me twice already. One of the freezes was caused by a goblin rockthrower, the second probably too. I can provide adom.log if necessary.

11-26-2015 03:42 AM
Senior Member
Any chance of releasing version with debug symbols? This way we can at least provide meaningful core dump.

11-26-2015 08:11 PM
jt jt is offline
Administrator
Hi,

here is the current R64 beta with debug symbols: ADOM R64 Steam Linux Debug

Just replace the binary in your Steam apps directory (probably "/.steam/steam/steamapps/common/ADOM") with this binary.

Please let me know if this works.

11-29-2015 12:31 AM
Senior Member
core file generated. This time it hungs on my wizards' casting. Cannot attach it though, it is 29mb compressed. What is the best way to send it ?

11-29-2015 01:37 AM
Senior Member
It appears to be stuck in luaV_execute
Code:
#16 0x081f2e05 in luaV_execute ()
#17 0x081e9672 in luaD_rawrunprotected ()
#18 0x081ea3d4 in lua_resume ()
#19 0x081d3387 in noteye_refresh ()
#20 0x08063571 in DrawEffectAt (x=34, y=14, color=COL_WHITE, c=45 '-', effect_type=ET_ICE_BOLT, dir=E, dir_old=DIR_ABORT, step=1) at map.c:5000
#21 0x08108ebd in ZapMissile (direction=E, range=5, dam=0xfff1f9ae "4d6+%d", missile=0x827f812 "icy bolt", missile2=0x827f820 "bolt", dt=ICE, 
    bounce=0, col=COL_WHITE, effect_type=ET_ICE_BOLT) at zap.c:1327
#22 0x0810fb02 in CastThisSpell (spell=SN_FROST_BOLT, cost=12, choice=1) at cast.c:1258
#23 0x08112106 in CastSpell (spell=SN_FROST_BOLT, cast_from_book=0, choice=1) at cast.c:587
#24 0x0811257e in Cast () at cast.c:483
#25 0x080a6d5e in ExecuteGameCommand (gc=0x85547b0 <gc>) at game.c:9615
#26 0x080a7774 in PlayTheGame () at game.c:611
#27 0x081ba204 in main_noteye (argc=1, argv=0xfff1fbc4) at adom.c:971
#28 0x08051de1 in main (argc=1, argv=0xfff1fbc4) at noteye.cpp:108

11-29-2015 05:00 PM
Ancient Member
Quote Originally Posted by yhal003
core file generated. This time it hungs on my wizards' casting. Cannot attach it though, it is 29mb compressed. What is the best way to send it ?
Try dropcanvas.com (you can change the expiration date under "Security" to make the upload last more than 7 days).

11-29-2015 09:21 PM
Senior Member
Thanks, have put it there: http://dropcanvas.com/91uaa/2
It was also sent to Creator's email.

12-07-2015 07:45 PM
jt jt is offline
Administrator
Zeno replaced all os.clock() calls with getticks(). This should fix the problems on Linux.

+ Reply