Opened 13 years ago

Closed 13 years ago

#3046 closed defect (fixed)

GOB: Sudden freeze

Reported by: SF/bellut Owned by: DrMcCoy
Priority: normal Component: Engine: Gob
Keywords: Cc:
Game: Gobliiins

Description

Using latest SVN (last tested version: 25394) I get sudden freezes in Gobliiins and Gobliins 2. Sometimes the game freezes right at the beginning of the first screen, sometimes while doing the first screen and with Gobliiiins I even managed to solve the first screen before the game froze. Just now I got a freeze when quitting the game with ctrl-q.

When the game freezes it doesn't respong to anything but SIGKILL.

There's nothing special printed on the console, even with debug level 9.

Versions of Gobliins tested:

Gobliiins (DOS/VGA)
Gobliiins CD (English (US)/DOS/v1.02)
Gobliiins CD (German/DOS/v1.02)
Gobliins 2 (English (US)/DOS)
Gobliins 2 CD (English/DOS/v1.02)
Gobliins 2 CD (German/DOS/v1.02)

i.e. english floppy versions and multi-language CD versions.

Let me know if you need any more information.

Ticket imported from: #1652551. Ticket imported from: bugs/3046.

Attachments (3)

gob.debug.bz2 (14.3 KB ) - added by SF/bellut 13 years ago.
debug output
gob1.debug.bz2 (25.0 KB ) - added by SF/bellut 13 years ago.
debug output
gob2.debug.bz2 (11.9 KB ) - added by SF/bellut 13 years ago.
debug output

Download all attachments as: .zip

Change History (20)

comment:1 by DrMcCoy, 13 years ago

Hmm, did it work before? And if yes, what was the first version in which you noticed this behaviour?
Also, could you run ScummVM with "-d5 --debugflags=GoblinOpcodes,DrawOpcodes,FuncOpcodes", redirect all output into a file, play until a freeze and attach the output file here?

comment:2 by DrMcCoy, 13 years ago

Owner: set to DrMcCoy

comment:3 by DrMcCoy, 13 years ago

Ah, and I forgot: Could you provide some information about your system? OS, processor type, etc..

by SF/bellut, 13 years ago

Attachment: gob.debug.bz2 added

debug output

comment:4 by SF/bellut, 13 years ago

Here's some system info, debug output is attached. The freeze occured in Gobliiins, CD version, second screen when using magic on the rightmost apple.
This worked with this exact version of scummvm and the game on a previous test.
I was able to play Gobliiins without freezes in older versions of scummvm, unfortunately I didn't take note which version I used, the only thing I know is it's been an SVN version.

$ uname -a
Linux nermal.bellut.net 2.4.19-32mdkcustom #1 Thu Jun 12 04:25:21 CEST 2003 i686 unknown unknown GNU/Linux
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.53GHz
stepping : 7
cpu MHz : 2558.571
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 5098.70

$ /lib/libc.so.6
GNU C Library stable release version 2.2.5, by Roland McGrath et al.
Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.2 (Mandrake Linux 9.0 3.2-1mdk).
Compiled on a Linux 2.4.18 system on 2003-03-21.
Available extensions:
GNU libio by Per Bothner
crypt add-on version 2.1 by Michael Glad and others
linuxthreads-0.9 by Xavier Leroy
BIND-8.2.3-T5B
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Report bugs using the `glibcbug' script to <bugs@gnu.org>.

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.2/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib --with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --enable-long-long --enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java --host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.2 (Mandrake Linux 9.0 3.2-1mdk)

$ ldd bin/scummvm
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x40027000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x4002f000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x40057000)
libFLAC.so.4 => /usr/lib/libFLAC.so.4 (0x4005c000)
libmad.so.0 => /usr/lib/libmad.so.0 (0x40090000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x400ac000)
libz.so.1 => /lib/libz.so.1 (0x40135000)
libmpeg2.so.0 => /usr/lib/libmpeg2.so.0 (0x40144000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x40163000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x401e0000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x401f4000)
libm.so.6 => /lib/i686/libm.so.6 (0x402b8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x402db000)
libc.so.6 => /lib/i686/libc.so.6 (0x402e3000)
libdl.so.2 => /lib/libdl.so.2 (0x40403000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40407000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x404d2000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
File Added: gob.debug.bz2

comment:5 by DrMcCoy, 13 years ago

Could you try again with the latest SVN version? Seems like _pressedMapX/_pressedMapY weren't correctly clipped, resulting in reading from invalid locations in _passMap, which could be accountable for the freezes.

by SF/bellut, 13 years ago

Attachment: gob1.debug.bz2 added

debug output

comment:6 by SF/bellut, 13 years ago

Unfortunately, I got another freeze, I had to play to screen 5 (mummy) though, don't know if this has something to do with the modification (version tested was 25397).
Interestingly, I get freezes much earlier in Gobliins 2 than in Gobliiins, somtimes even before the two goblins have finished being teleported.
I'll attach two more debug outputs gob1.debug.bz2 freeze in Gobliiins, screen 5, gob2.debug.bz2 freeze in Gobliins 2, screen 1.
File Added: gob1.debug.bz2

by SF/bellut, 13 years ago

Attachment: gob2.debug.bz2 added

debug output

comment:7 by SF/bellut, 13 years ago

File Added: gob2.debug.bz2

comment:8 by DrMcCoy, 13 years ago

Hmm, the logs look normal. When did the freeze in gob2.debug happen?
And could you run it again with debug output, but this time without redirecting it into a file? I'd like to now whether the output stops when a freeze occurs...

comment:9 by SF/bellut, 13 years ago

The freeze in gob2.debug happened when trying to get the bottle in screen 1. It could be related to moving while animation (here the old people) is happening.
Yes the output stops when a freeze occurs, in Gobliiins and in Gobliins 2. scummvm just sits there, the sound stops, the screen isn't refreshed anymore and scummvm doesn't react to any keypress or ctrl-c. The only option is to send a SIGKILL.

comment:10 by DrMcCoy, 13 years ago

Could you run the (unstripped) binary with gdb, stop the process when it freezes and give me a backtrace?
(Sorry for all the hassle, but I don't get any freezes and therefore can't debug it directly)

comment:11 by sev-, 13 years ago

killall -11 scummvm

when it is frozen. It will create a core dump

then

gdb scummvm scummvm.core

thread 1
bt
thread 2
bt
thread 3
bt

may be there are 4 threads.

And attach the output.

comment:12 by SF/bellut, 13 years ago

Sending a SIGSEGV doesn't work. I get "Fatal signal: Segmentation Fault (SDL Parachute Deployed)" and scummvm still hangs.
Running scummvm under gdb I could produce this backtrace:

(gdb) bt
#0 0x4030c479 in sigsuspend () from /lib/i686/libc.so.6
#1 0x401e7e58 in pthread_create () from /lib/i686/libpthread.so.0
#2 0x401e9de8 in sem_unlink () from /lib/i686/libpthread.so.0
#3 0x401e6d06 in pthread_mutex_lock () from /lib/i686/libpthread.so.0
#4 0x401ba9d8 in SDL_mutexP () from /usr/lib/libSDL-1.2.so.0
#5 0x08051c63 in OSystem_SDL::lockMutex(Common::OpaqueMutex*) (
this=0x860df70, mutex=0x8682bb0) at backends/platform/sdl/sdl.cpp:402
#6 0x0845fcc6 in Common::StackLock::lock() (this=0xbfffe140)
at common/mutex.cpp:67
#7 0x0845fc4e in StackLock (this=0xbfffe140, mutex=@0x8682b4c, mutexName=0x0)
at common/mutex.cpp:56
#8 0x08444c4f in Audio::Mixer::isSoundHandleActive(Audio::SoundHandle) (
this=0x8682b48, handle={_val = 82}) at sound/mixer.cpp:381
#9 0x0830c66c in Gob::Snd::playSample(Gob::Snd::SoundDesc*, short, short, short) (this=0x86a58a0, sndDesc=0x86666f0, repCount=1, frequency=5000, fadeLength=0)
at engines/gob/sound.cpp:243
#10 0x08335720 in Gob::Goblin::playSounds(Gob::Mult::Mult_Object*) (
this=0x8679538, obj=0x8657260) at engines/gob/goblin.cpp:1794
#11 0x082dbe35 in Gob::Goblin_v2::moveAdvance(Gob::Mult::Mult_Object*, Gob::Goblin::Gob_Object*, short, short) (this=0x8679538, obj=0x8657260, gobDesc=0x0,
nextAct=0, framesCount=0) at engines/gob/goblin_v2.cpp:316
#12 0x082fe783 in Gob::Mult_v2::animate() (this=0x86779f8)
at engines/gob/mult_v2.cpp:1269
#13 0x082e2cf0 in Gob::Inter_v1::o1_animate() (this=0x86e0500)
at engines/gob/inter_v1.cpp:1716
#14 0x082e77f7 in Gob::Inter_v2::executeDrawOpcode(unsigned char) (
this=0x86e0500, i=22 '\026') at engines/gob/inter_v2.cpp:657
#15 0x082dfa13 in Gob::Inter_v1::o1_drawOperations(char&, short&, short&) (
this=0x86e0500, cmdCount=@0xbfffe405, counter=@0xbfffe402,
retFlag=@0xbfffe406) at engines/gob/inter_v1.cpp:973
#16 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0500, i=1 '\001', j=14 '\016',
cmdCount=@0xbfffe405, counter=@0xbfffe402, retFlag=@0xbfffe406)
at engines/gob/inter_v2.cpp:673
#17 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:173
#18 0x08336bbc in Gob::Inter::callSub(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:198
#19 0x082e35a0 in Gob::Inter_v1::o1_callSub(char&, short&, short&) (
this=0x86e0500, cmdCount=@0xbfffe4c5, counter=@0xbfffe4c2,
retFlag=@0xbfffe4c6) at engines/gob/inter_v1.cpp:1844
#20 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0500, i=0 '\0', j=0 '\0',
cmdCount=@0xbfffe4c5, counter=@0xbfffe4c2, retFlag=@0xbfffe4c6)
at engines/gob/inter_v2.cpp:673
#21 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0500, retFlag=0)
at engines/gob/inter.cpp:173
#22 0x0831d0d5 in Gob::Game::collSub(short) (this=0x86784d8, offset=7269)
at engines/gob/game.cpp:767
#23 0x0832b22f in Gob::Game_v2::collisionsBlock() (this=0x86784d8)
at engines/gob/game_v2.cpp:1040
#24 0x08336bf9 in Gob::Inter::callSub(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:200
#25 0x082e35a0 in Gob::Inter_v1::o1_callSub(char&, short&, short&) (
this=0x86e0500, cmdCount=@0xbfffe915, counter=@0xbfffe912,
retFlag=@0xbfffe916) at engines/gob/inter_v1.cpp:1844
#26 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0500, i=0 '\0', j=1 '\001',
cmdCount=@0xbfffe915, counter=@0xbfffe912, retFlag=@0xbfffe916)
at engines/gob/inter_v2.cpp:673
#27 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0500, retFlag=1)
at engines/gob/inter.cpp:173
#28 0x082e2101 in Gob::Inter_v1::o1_repeatUntil(char&, short&, short&) (
this=0x86e0500, cmdCount=@0xbfffe9a5, counter=@0xbfffe9a2,
retFlag=@0xbfffe9a6) at engines/gob/inter_v1.cpp:1557
#29 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0500, i=0 '\0', j=6 '\006',
cmdCount=@0xbfffe9a5, counter=@0xbfffe9a2, retFlag=@0xbfffe9a6)
at engines/gob/inter_v2.cpp:673
#30 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:173
#31 0x08336bbc in Gob::Inter::callSub(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:198
#32 0x083274d6 in Gob::Game_v2::playTot(short) (this=0x86784d8, skipPlay=-1)
at engines/gob/game_v2.cpp:215
#33 0x0831c217 in Gob::Game::totSub(signed char, char*) (this=0x86784d8,
flags=2 '\002', newTotFile=0xbfffeae0 "GOB01") at engines/gob/game.cpp:548
#34 0x082eef10 in Gob::Inter_v2::o2_totSub() (this=0x86e0500)
at engines/gob/inter_v2.cpp:2352
#35 0x082e77f7 in Gob::Inter_v2::executeDrawOpcode(unsigned char) (
this=0x86e0500, i=64 '@') at engines/gob/inter_v2.cpp:657
#36 0x082dfa13 in Gob::Inter_v1::o1_drawOperations(char&, short&, short&) (
this=0x86e0500, cmdCount=@0xbfffebb5, counter=@0xbfffebb2,
retFlag=@0xbfffebb6) at engines/gob/inter_v1.cpp:973
#37 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0500, i=1 '\001', j=14 '\016',
cmdCount=@0xbfffebb5, counter=@0xbfffebb2, retFlag=@0xbfffebb6)
at engines/gob/inter_v2.cpp:673
#38 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0500, retFlag=1)
at engines/gob/inter.cpp:173
#39 0x082e2101 in Gob::Inter_v1::o1_repeatUntil(char&, short&, short&) (
this=0x86e0500, cmdCount=@0xbfffec45, counter=@0xbfffec42,
retFlag=@0xbfffec46) at engines/gob/inter_v1.cpp:1557
#40 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0500, i=0 '\0', j=6 '\006',
cmdCount=@0xbfffec45, counter=@0xbfffec42, retFlag=@0xbfffec46)
at engines/gob/inter_v2.cpp:673
#41 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:173
#42 0x08336bbc in Gob::Inter::callSub(short) (this=0x86e0500, retFlag=2)
at engines/gob/inter.cpp:198
#43 0x083274d6 in Gob::Game_v2::playTot(short) (this=0x86784d8, skipPlay=0)
at engines/gob/game_v2.cpp:215
#44 0x0831be8e in Gob::Game::start() (this=0x86784d8)
at engines/gob/game.cpp:495
#45 0x082dd994 in Gob::Init::initGame(char*) (this=0x8678ae8, totName=0x0)
at engines/gob/init.cpp:205
#46 0x082d5b23 in Gob::GobEngine::go() (this=0x863af58)
at engines/gob/gob.cpp:130
#47 0x080530be in runGame (plugin=0x865b5a0, system=@0x860df70,
edebuglevels=@0xbffff550) at base/main.cpp:200
#48 0x0805376b in scummvm_main (argc=1, argv=0xbffff614) at base/main.cpp:298
#49 0x080509ee in main (argc=1, argv=0xbffff614)
at backends/platform/sdl/sdl.cpp:115
#50 0x402fb082 in __libc_start_main () from /lib/i686/libc.so.6

The "tread" command doesn't do what's intended, too:

(gdb) thread 1
Thread ID 1 not known.

I hope this helps.

comment:13 by sev-, 13 years ago

Ah, right. There is an undocumented (i.e. intended for devs) command line option --disable-sdl-parachute

comment:14 by SF/bellut, 13 years ago

Ah, that helps. ^__^;

(gdb) thread 1
[Switching to thread 1 (process 21967)]#0 0x4030c479 in sigsuspend ()
from /lib/i686/libc.so.6
#0 0x4030c479 in sigsuspend () from /lib/i686/libc.so.6
#1 0x401e7e58 in pthread_create () from /lib/i686/libpthread.so.0
#2 0x401e9de8 in sem_unlink () from /lib/i686/libpthread.so.0
#3 0x401e6d06 in pthread_mutex_lock () from /lib/i686/libpthread.so.0
#4 0x401ba9d8 in SDL_mutexP () from /usr/lib/libSDL-1.2.so.0
#5 0x08051c63 in OSystem_SDL::lockMutex(Common::OpaqueMutex*) (
this=0x860df70, mutex=0x8682c60) at backends/platform/sdl/sdl.cpp:402
#6 0x0845fcc6 in Common::StackLock::lock() (this=0xbfffe0e0)
at common/mutex.cpp:67
#7 0x0845fc4e in StackLock (this=0xbfffe0e0, mutex=@0x8682bfc, mutexName=0x0)
at common/mutex.cpp:56
#8 0x08444c4f in Audio::Mixer::isSoundHandleActive(Audio::SoundHandle) (
this=0x8682bf8, handle={_val = 82}) at sound/mixer.cpp:381
#9 0x0830c66c in Gob::Snd::playSample(Gob::Snd::SoundDesc*, short, short, short) (this=0x86a5bf8, sndDesc=0x865aea0, repCount=1, frequency=7800, fadeLength=0)
at engines/gob/sound.cpp:243
#10 0x082fe914 in Gob::Mult_v2::playSound(Gob::Snd::SoundDesc*, short, short, short) (this=0x8677a58, soundDesc=0x865aea0, repCount=1, freq=7800, fadeLength=0)
at engines/gob/mult_v2.cpp:1296
#11 0x082fcdfe in Gob::Mult_v2::doSoundAnim(char, short) (this=0x8677a58,
stop=0 '\0', frame=325) at engines/gob/mult_v2.cpp:858
#12 0x082fd29c in Gob::Mult_v2::sub_62DD(short) (this=0x8677a58, index=1)
at engines/gob/mult_v2.cpp:959
#13 0x082fd481 in Gob::Mult_v2::sub_6A35() (this=0x8677a58)
at engines/gob/mult_v2.cpp:991
#14 0x082fd501 in Gob::Mult_v2::animate() (this=0x8677a58)
at engines/gob/mult_v2.cpp:1018
#15 0x082e2cf0 in Gob::Inter_v1::o1_animate() (this=0x86e0858)
at engines/gob/inter_v1.cpp:1716
#16 0x082e77f7 in Gob::Inter_v2::executeDrawOpcode(unsigned char) (
this=0x86e0858, i=22 '\026') at engines/gob/inter_v2.cpp:657
#17 0x082dfa13 in Gob::Inter_v1::o1_drawOperations(char&, short&, short&) (
this=0x86e0858, cmdCount=@0xbfffe3d5, counter=@0xbfffe3d2,
retFlag=@0xbfffe3d6) at engines/gob/inter_v1.cpp:973
#18 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0858, i=1 '\001', j=14 '\016',
cmdCount=@0xbfffe3d5, counter=@0xbfffe3d2, retFlag=@0xbfffe3d6)
at engines/gob/inter_v2.cpp:673
#19 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:173
#20 0x08336bbc in Gob::Inter::callSub(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:198
#21 0x082e35a0 in Gob::Inter_v1::o1_callSub(char&, short&, short&) (
this=0x86e0858, cmdCount=@0xbfffe495, counter=@0xbfffe492,
retFlag=@0xbfffe496) at engines/gob/inter_v1.cpp:1844
#22 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0858, i=0 '\0', j=0 '\0',
cmdCount=@0xbfffe495, counter=@0xbfffe492, retFlag=@0xbfffe496)
at engines/gob/inter_v2.cpp:673
#23 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0858, retFlag=0)
at engines/gob/inter.cpp:173
#24 0x0831d0d5 in Gob::Game::collSub(short) (this=0x8678538, offset=7269)
at engines/gob/game.cpp:767
#25 0x0832b22f in Gob::Game_v2::collisionsBlock() (this=0x8678538)
at engines/gob/game_v2.cpp:1040
#26 0x08336bf9 in Gob::Inter::callSub(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:200
#27 0x082e35a0 in Gob::Inter_v1::o1_callSub(char&, short&, short&) (
this=0x86e0858, cmdCount=@0xbfffe8e5, counter=@0xbfffe8e2,
retFlag=@0xbfffe8e6) at engines/gob/inter_v1.cpp:1844
#28 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0858, i=0 '\0', j=1 '\001',
cmdCount=@0xbfffe8e5, counter=@0xbfffe8e2, retFlag=@0xbfffe8e6)
at engines/gob/inter_v2.cpp:673
#29 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0858, retFlag=1)
at engines/gob/inter.cpp:173
#30 0x082e2101 in Gob::Inter_v1::o1_repeatUntil(char&, short&, short&) (
this=0x86e0858, cmdCount=@0xbfffe975, counter=@0xbfffe972,
retFlag=@0xbfffe976) at engines/gob/inter_v1.cpp:1557
#31 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0858, i=0 '\0', j=6 '\006',
cmdCount=@0xbfffe975, counter=@0xbfffe972, retFlag=@0xbfffe976)
at engines/gob/inter_v2.cpp:673
#32 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:173
#33 0x08336bbc in Gob::Inter::callSub(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:198
#34 0x083274d6 in Gob::Game_v2::playTot(short) (this=0x8678538, skipPlay=-1)
at engines/gob/game_v2.cpp:215
#35 0x0831c217 in Gob::Game::totSub(signed char, char*) (this=0x8678538,
flags=2 '\002', newTotFile=0xbfffeab0 "GOB01") at engines/gob/game.cpp:548
#36 0x082eef10 in Gob::Inter_v2::o2_totSub() (this=0x86e0858)
at engines/gob/inter_v2.cpp:2352
#37 0x082e77f7 in Gob::Inter_v2::executeDrawOpcode(unsigned char) (
this=0x86e0858, i=64 '@') at engines/gob/inter_v2.cpp:657
#38 0x082dfa13 in Gob::Inter_v1::o1_drawOperations(char&, short&, short&) (
this=0x86e0858, cmdCount=@0xbfffeb85, counter=@0xbfffeb82,
retFlag=@0xbfffeb86) at engines/gob/inter_v1.cpp:973
#39 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0858, i=1 '\001', j=14 '\016',
cmdCount=@0xbfffeb85, counter=@0xbfffeb82, retFlag=@0xbfffeb86)
at engines/gob/inter_v2.cpp:673
#40 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0858, retFlag=1)
at engines/gob/inter.cpp:173
#41 0x082e2101 in Gob::Inter_v1::o1_repeatUntil(char&, short&, short&) (
this=0x86e0858, cmdCount=@0xbfffec15, counter=@0xbfffec12,
retFlag=@0xbfffec16) at engines/gob/inter_v1.cpp:1557
#42 0x082e794d in Gob::Inter_v2::executeFuncOpcode(unsigned char, unsigned char, char&, short&, short&) (this=0x86e0858, i=0 '\0', j=6 '\006',
cmdCount=@0xbfffec15, counter=@0xbfffec12, retFlag=@0xbfffec16)
at engines/gob/inter_v2.cpp:673
#43 0x08336aaf in Gob::Inter::funcBlock(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:173
#44 0x08336bbc in Gob::Inter::callSub(short) (this=0x86e0858, retFlag=2)
at engines/gob/inter.cpp:198
#45 0x083274d6 in Gob::Game_v2::playTot(short) (this=0x8678538, skipPlay=0)
at engines/gob/game_v2.cpp:215
#46 0x0831be8e in Gob::Game::start() (this=0x8678538)
at engines/gob/game.cpp:495
#47 0x082dd994 in Gob::Init::initGame(char*) (this=0x8678b48, totName=0x0)
at engines/gob/init.cpp:205
#48 0x082d5b23 in Gob::GobEngine::go() (this=0x8706180)
at engines/gob/gob.cpp:130
#49 0x080530be in runGame (plugin=0x865b600, system=@0x860df70,
edebuglevels=@0xbffff520) at base/main.cpp:200
#50 0x0805376b in scummvm_main (argc=2, argv=0xbffff5e4) at base/main.cpp:298
#51 0x080509ee in main (argc=2, argv=0xbffff5e4)
at backends/platform/sdl/sdl.cpp:115
#52 0x402fb082 in __libc_start_main () from /lib/i686/libc.so.6
(gdb) thread 2
Thread ID 2 not known.
(gdb) thread 3
Thread ID 3 not known.
(gdb) thread 4
Thread ID 4 not known.

Is this what you need? Can I be of any more help?

comment:15 by DrMcCoy, 13 years ago

Could you try again with the latest SVN version / next daily build?

comment:16 by SF/bellut, 13 years ago

Looks goog so far ^__^; With 25412 I couldn't get a freeze. I played a couple of screens in Gobliiins and Gobliins 2 without a problem.
I'd say, this bug is fixed.

comment:17 by sev-, 13 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.