residualvm/residualvm — Issue #466: GRIM: Crash when trying to open tool cabinet in Glottis's garage
Author: roughl
Created: 2012-01-10 21:12:13+00:00
State: open

* Grim English version
* platform: Linux 3.2.0-2-ARCH #1 SMP PREEMPT Sat Jan 7 14:27:58 CET 2012 x86_64 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz GenuineIntel GNU/Linux
* gcc (GCC) 4.6.2 20111223 (prerelease)

__Reproduce__
Load save game and try to open the tool cabinet next to Glottis's room
__Backtrace__
```
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff0f9c700 (LWP 13273)]
[New Thread 0x7fffebdf2700 (LWP 13275)]
WARNING: SDL mixer output buffer size: 705 differs from desired: 2048!
WARNING: Could not find theme 'modern' falling back to builtin!
User picked target 'grim-win' (gameid 'grim')...
Looking for a plugin supporting this gameid... Grim Engine
Starting 'Grim Fandango'
WARNING: FSDirectory::cacheDirectory: name clash when building cache, ignoring file 'credits.lab'!
WARNING: FSDirectory::cacheDirectory: name clash when building cache, ignoring file 'Grim.tab'!
WARNING: FSDirectory::cacheDirectory: name clash when building cache, ignoring file 'YEAR0MUS.LAB'!
WARNING: FSDirectory::cacheDirectory: name clash when building cache, ignoring file 'vox0000.lab'!
ALSA lib pcm.c:7316:(snd_pcm_recover) underrun occurred
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option pp_jimenezmlaa overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
[New Thread 0x7fffe9e6e700 (LWP 13276)]
[New Thread 0x7fffe966d700 (LWP 13277)]
WARNING: INFO: GL RED bits: 8!
WARNING: INFO: GL GREEN bits: 8!
WARNING: INFO: GL BLUE bits: 8!
WARNING: INFO: GL APLHA bits: 8!
WARNING: INFO: GL Z buffer depth bits: 24!
WARNING: INFO: GL Double Buffer: 1!
WARNING: INFO: GL Stencil buffer bits: 8!
WARNING: Font treb13bs.laf, char 0xb8 exceeds font height by 1, increasing font height!
WARNING: Lua_V1::SetGamma, implement opcode, level: 1!
WARNING: !!!! Trying to call MakeSectorActive without a scene!
WARNING: !!!! Trying to call MakeSectorActive without a scene!
WARNING: !!!! Trying to call MakeSectorActive without a scene!
WARNING: !!!! Trying to call MakeSectorActive without a scene!
WARNING: !!!! Trying to call MakeSectorActive without a scene!
WARNING: SetActorFollowBoxes() not implemented!
WARNING: SetActorFollowBoxes() not implemented!
GrimEngine::savegameRestore() started.
WARNING: Font treb13bs.laf, char 0xb8 exceeds font height by 1, increasing font height!
WARNING: Seek to time: 739, frame: 11!
WARNING: Current frame: 0!
WARNING: Seek complete!
GrimEngine::savegameRestore() finished.
WARNING: Lua_V1::SetGamma, implement opcode, level: 1!
WARNING: Lua_V1::SetOffscreenTextPos: implement opcode!

Program received signal SIGSEGV, Segmentation fault.
0x00000000004a4d14 in Grim::SmushDecoder::close (this=0xec71a0) at engines/grim/movie/codecs/smush_decoder.cpp:93
93	_stream->finish();
(gdb) bt full
#0 0x00000000004a4d14 in Grim::SmushDecoder::close (this=0xec71a0) at engines/grim/movie/codecs/smush_decoder.cpp:93
No locals.
#1 0x0000000000475953 in Grim::MoviePlayer::deinit (this=0xa22290) at engines/grim/movie/movie.cpp:127
No locals.
#2 0x00000000004759e0 in Grim::MoviePlayer::play (this=0xa22290, filename=..., looping=false, x=142, y=139) at engines/grim/movie/movie.cpp:140
lock = {_mutex = 0xa23aa0, _mutexName = 0x0}
#3 0x000000000043b1c0 in Grim::Lua_V1::StartMovie (this=0x152d770) at engines/grim/lua_v1_graphics.cpp:130
y = 139
prevEngineMode = Grim::GrimEngine::NormalMode
name = 13
x = 142
looping = false
result = false
#4 0x000000000043396d in Grim::Lua_V1::static_StartMovie () at ./engines/grim/lua_v1.h:208
No locals.
#5 0x0000000000463460 in Grim::callC (f=0x433952 , base=12) at engines/grim/lua/ldo.cpp:145
CS = 0x18506c8
oldCLS = {base = 0, lua2C = 0, num = 0}
firstResult = 0
numarg = 4
#6 0x0000000000463ae7 in Grim::luaD_call (base=12, nResults=0) at engines/grim/lua/ldo.cpp:238
function = 0x433952
firstResult = 0
funcObj = 0x47f4260
tmpTask = 0x0
#7 0x0000000000470cdc in Grim::runtasks (rootState=0x4401ee0) at engines/grim/lua/ltask.cpp:281
errorJmp = {{__jmpbuf = {30, -2425080575506288389, 0, 140737488346704, 0, 0, -2425080575541939973, 2425079965239963899}, __mask_was_saved = 0,
__saved_mask = {__val = {26715584, 76260192, 227633266785, 140737488341104, 4652506, 27005904, 23262704, 106954775, 26715584,
18446744071899539763, 25890896, 140737488341184, 4662422, 8589920416, 27005888, 140737488341168}}}}
nextState = 0x0
stillRunning = false
state = 0x7fffffffc8d0
#8 0x0000000000470bc7 in Grim::lua_runtasks () at engines/grim/lua/ltask.cpp:259
state = 0x0
#9 0x000000000042d055 in Grim::LuaBase::update (this=0x152d770, frameTime=30, movieTime=0) at engines/grim/lua.cpp:272
No locals.
#10 0x000000000041b755 in Grim::GrimEngine::luaUpdate (this=0xa24680) at engines/grim/grim.cpp:446
newStart = 15846
#11 0x000000000041c6a0 in Grim::GrimEngine::mainLoop (this=0xa24680) at engines/grim/grim.cpp:654
startTime = 15846
event = {type = Common::EVENT_INVALID, synthetic = false, kbd = {keycode = Common::KEYCODE_INVALID, ascii = 0, flags = 0 '\000'}, mouse = {x = 0,
y = 0}, relMouse = {x = 0, y = 0}}
endTime = 15836
diffTime = 20
---Type to continue, or q to quit---
resetShortFrame = false
#12 0x000000000041ad22 in Grim::GrimEngine::run (this=0xa24680) at engines/grim/grim.cpp:292
splash_bm = 0xa04980
__PRETTY_FUNCTION__ = "virtual Common::Error Grim::GrimEngine::run()"
demo = false
fullscreen = false
lua = 0x152d770
#13 0x000000000040997e in runGame (plugin=0x92d920, system=..., edebuglevels=...) at base/main.cpp:213
dir = { = {_vptr.ArchiveMember = 0x628ab0}, _realNode = {_refCount = 0x92f1a0, _deletion = 0xa229a0, _pointer = 0xa1ff90}}
err = {_code = Common::kNoError, _desc = {static _builtinCapacity = 20, _size = 8, _str = 0x7fffffffcc08 "No error", {
_storage = "No error\000\020\000\000\000\000\000\000]\325Y", _extern = {_refCount = 0x726f727265206f4e, _capacity = 4096}}}}
engine = 0xa24680
tokenizer = {_str = {static _builtinCapacity = 20, _size = 0, _str = 0x7fffffffcba0 "", {
_storage = "\000\311b\365\377\177\000\000@\332\377\377\377\177\000\000\000\000\000", _extern = {_refCount = 0x7ffff562c900,
_capacity = 4294957632}}}, _delimiters = {static _builtinCapacity = 20, _size = 2, _str = 0x7fffffffcbc8 " ,", {
_storage = " ,\000\377\377\177\000\000.[A\000\000\000\000\000game", _extern = {_refCount = 0x7fffff002c20, _capacity = 4283182}}},
_tokenBegin = 0, _tokenEnd = 0}
caption = {static _builtinCapacity = 20, _size = 31, _str = 0x92f070 "Grim Fandango (Windows/English)", {
_storage = "\340ђ\000\000\000\000\000 \000\000\000\000\000\000\000\340\a\223", _extern = {_refCount = 0x92d1e0, _capacity = 32}}}
result = {_code = 9635833, _desc = {static _builtinCapacity = 20, _size = 9637273, _str = 0x1

, {
_storage = "\200\r\223\000\000\000\000\000`\314\377\377\377\177\000\000\241\313Y", _extern = {_refCount = 0x930d80,
_capacity = 4294954080}}}}
#14 0x000000000040a25d in residualvm_main (argc=1, argv=0x7fffffffde58) at base/main.cpp:399
result = {_code = 2037569108, _desc = {static _builtinCapacity = 20, _size = 4158544034,
_str = 0x7fff00000014

, {
_storage = "\020\332\377\377\377\177\000\000\377\377\377\377\000\000\000\000\374\061", , _extern = {
_refCount = 0x7fffffffda10, _capacity = 4294967295}}}}
plugin = 0x92d920
specialDebug = {static _builtinCapacity = 20, _size = 0, _str = 0x7fffffffd880 "", {
_storage = "\000\311b\365\377\177\000\000@\332\377\377\377\177\000\000\000\000\000", _extern = {_refCount = 0x7ffff562c900,
_capacity = 4294957632}}}
command = {static _builtinCapacity = 20, _size = 0, _str = 0x7fffffffd8b0 "", {
_storage = "\000\tc\365\377\177\000\000\060o\222\367\377\177\000\000\000\000\000", _extern = {_refCount = 0x7ffff5630900,
_capacity = 4153569072}}}
__PRETTY_FUNCTION__ = "int residualvm_main(int, const char* const*)"
system = @0x921050
settings = {_nodePool = {> = { = {_chunkSize = 80, _pages = {_capacity = 0, _size = 0,
_storage = 0x0}, _next = 0x7fffffffd4a8, _chunksPerPage = 8},
_storage = "\370\324\377\377\377\177\000\000\003\000\000\000\000\000\000\000B\253\272\366\377\177\000\000\260\325\377\377\377\177\000\000\000\000\240\250\377\377\377\377\000\000\026E\275\357\377\377\360\251\377\367\377\177\000\000\001\000\000\000\000\000\000\000U\240\222\367\377\177\000\000\260\325\377\377\377\177\000\000H\325\377\377\377\177\000\000\000\000\026E\275\357\377\377", '\000' , "&", '\000' "\353, \026\251\030a\257\000\371\301S\200\030\273\025sB\257\304M\017p\037\271\366\377\177\000\000\060\334\377\377\377\177\000\000\230\325\377\377\377\177\000\000\001\000\000\000\377\177\000\000\000\240\374\367\377\177\000\000\360\323\377\377\377\177\000\000\000\000\000\000\000\000\000\000\020\035\350\366\377\177\000\000{\210\336\367\377\177\000\000\001\000\000\000\000\000\000\000\230\331\377\367\377\177\000\000P\325\377\377\377\177\000\000\350\325\377\377\377\177\000\000\240ݳ---Type to continue, or q to quit---
\367\377\177\000\000{\210\336\367\377\177\000\000\300\264\374\367\377\177\000\000\000\000\000\000\000\000\000\000\360\251\377\367\377\177\000\000\000\240\374\367\377\177\000\000\300\264\374\367\377\177", '\000' , "`\270\377\377\377\377\070\326\377\377\377\177\000\000\003\000\000\000\000\000\000\000\032l\264\367\377\177\000\000\360\326\377\377\377\177\000\000\000\000"...}, }, _storage = 0x92eeb0, _mask = 15, _size = 0,
_deleted = 0, _hash = {}, _equal = {}, _defaultVal = {static _builtinCapacity = 20, _size = 0,
_str = 0x7fffffffd7f0 "", {_storage = "\000\333\377\377\377\177\000\000\020\333\377\377\377\177\000\000\370\t", ,
_extern = {_refCount = 0x7fffffffdb00, _capacity = 4294957840}}}}
res = {_code = Common::kNoError, _desc = {static _builtinCapacity = 20, _size = 8, _str = 0x7fffffffd828 "No error", {
_storage = "No error\000rror\000\000\000\260\v\374", , _extern = {_refCount = 0x726f727265206f4e,
_capacity = 1869771264}}}}
#15 0x00000000004086fc in main (argc=1, argv=0x7fffffffde58) at backends/platform/sdl/posix/posix-main.cpp:45
__PRETTY_FUNCTION__ = "int main(int, char**)"
res = 0
```