#5767 closed defect (fixed)
ITE (SAGA): crash in dog sewers
Reported by: | SF/lordpings | Owned by: | digitall |
---|---|---|---|
Priority: | normal | Component: | Engine: SAGA |
Version: | Keywords: | ||
Cc: | Game: | Inherit the Earth |
Description
Description; Game ITE (SAGA engine) crashes at the dog's sewer labyrinth, from comparison with older scummvm versions that do not crash, it seems to be at the point when the croco changes direction (loading another animation?)
Tested ScummVM versions: 1.3.0 stable win32/android - crashes daily build (mingw-w32-master-25513893) - crashes 1.2.1 stable win32 - works
Reproduction: load savegame, wait a few seconds for the croco to appear
Other Information: Message in console window: Assertion failed: idx >= 0 && (uint)idx <_size, file ../scummvm-1.3.0/common/array.h, line 170 (line 166 in daily build)
My game files (english, cd) have the md5 sums listed in the last post of this thread, under "ITE DOS CD": http://forums.scummvm.org/viewtopic.php?t=6119
Ticket imported from: #3324850. Ticket imported from: bugs/5767.
Attachments (1)
Change History (10)
by , 13 years ago
comment:1 by , 13 years ago
This may be caused by the same underlying issue as bug 3323722, in which case it should be fixed in the next daily build.
comment:2 by , 13 years ago
I don't think the issue we found for 3323722 is relevant for ITE, because I think loadActorList is IHNM-specific - another one for poor digitall to peer at?
comment:3 by , 13 years ago
Replicated from savegame, with latest Git master _with_ fix for #3323722 i.e. that does not fix this issue. Ran with gdb and got backtrace from assertion: #3 0xb79db7d8 in __assert_fail () from /lib/libc.so.6 #4 0x08063e59 in Common::Array<unsigned char>::operator[] (this=0x8586258, idx=39) at ./common/array.h:166 #5 0x080a2898 in Saga::Actor::moveDragon (this=0x855b0a0, actor=0x85861d0) at engines/saga/actor_walk.cpp:1168 #6 0x0809fab8 in Saga::Actor::handleActions (this=0x855b0a0, msec=37, setup=false) at engines/saga/actor_walk.cpp:333 #7 0x080a0fd7 in Saga::Actor::direct (this=0x855b0a0, msec=37) at engines/saga/actor_walk.cpp:727 #8 0x0807d474 in Saga::SagaEngine::run (this=0x8404320) at engines/saga/saga.cpp:377
comment:4 by , 13 years ago
Ah, that looks (reassuringly) like a simple off-by-one bug, not corruption - the check at actor_walk.cpp:1148 should be checking for equality too.
comment:5 by , 13 years ago
Corrected in 714976729d0badab3e7557f62036aac0b2e9cc4f After a successful playtest of ITE, this can be cherry-picked to branch-1-3-0 and thus included in v1.3.1 release, though this change is fairly restricted and chances of any regressions except in Croco (Dragon) behaviour are minimal.
lordpings: If you could check this with a daily build, that would be useful. Thanks.
comment:6 by , 13 years ago
Resolution: | → fixed |
---|
comment:7 by , 13 years ago
Tested with the current daily build (1.4.0git1564-g7bdd3f3) on win32 and android. Both do not crash anymore. Tried running around in the maze for some time, touching the dragon, etc. Are there any specific other areas I should test? Otherwise I'd think this could be considered fixed.
Thank you all, lordpings
comment:8 by , 13 years ago
I think this will be sufficient, though will try to playtest prior to v1.3.1 release.
comment:9 by , 13 years ago
Owner: | set to |
---|---|
Status: | new → closed |
sewer savegame