[Scummvm-tracker] [ScummVM] #10531: MOHAWK: MYST: Crash when opening map mech age brother rooms

dafioram trac at scummvm.org
Thu May 17 01:50:36 CEST 2018


#10531: MOHAWK: MYST: Crash when opening map mech age brother rooms
---------------------+----------------------------
Reporter:  dafioram  |      Owner:  (none)
    Type:  defect    |     Status:  new
Priority:  normal    |  Component:  Engine: Mohawk
Keywords:            |       Game:  Myst
---------------------+----------------------------
 When in the mechnical age if you open up either brother rooms and open the
 map while the doors are opening then scummvm throws an array out of bounds
 error.

 {{{
 #0  0x00007ffff4718e97 in __GI_raise (sig=sig at entry=6)
     at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff471a801 in __GI_abort () at abort.c:79
 #2  0x00007ffff470a39a in __assert_fail_base (fmt=0x7ffff48917d8
 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
 assertion=assertion at entry=0x5555558743b8 "idx < _size",
 file=file at entry=0x5555558743a7 "./common/array.h", line=line at entry=192,
 function=function at entry=0x555555874640
 <Common::Array<Mohawk::MystArea*>::operator[](unsigned
 int)::__PRETTY_FUNCTION__> "T&
 Common::Array<T>::operator[](Common::Array<T>::size_type) [with T =
 Mohawk::MystArea*; Common::Array<T>::size_type = unsigned int]") at
 assert.c:92
 #3  0x00007ffff470a412 in __GI___assert_fail (assertion=0x5555558743b8
 "idx < _size", file=0x5555558743a7 "./common/array.h", line=192,
 function=0x555555874640
 <Common::Array<Mohawk::MystArea*>::operator[](unsigned
 int)::__PRETTY_FUNCTION__> "T&
 Common::Array<T>::operator[](Common::Array<T>::size_type) [with T =
 Mohawk::MystArea*; Common::Array<T>::size_type = unsigned int]") at
 assert.c:101
 #4  0x00005555555ff046 in
 Common::Array<Mohawk::MystArea*>::operator[](unsigned int)
 (this=0x555555da0c38, idx=4) at ./common/array.h:192
 #5  0x000055555561c3db in
 Mohawk::MystStacks::Mechanical::o_throneEnablePassage(unsigned short,
 Common::Array<unsigned short> const&) (this=0x555555e6a910, var=1,
 args=...) at engines/mohawk/myst_stacks/mechanical.cpp:301
 #6  0x000055555561f670 in Common::Functor2Mem<unsigned short,
 Common::Array<unsigned short> const&, void,
 Mohawk::MystStacks::Mechanical>::operator()(unsigned short,
 Common::Array<unsigned short> const&) const (this=0x5555562f18d0, v1=1, v2
 =...) at ./common/func.h:507
 #7  0x000055555560c3a2 in Mohawk::MystScriptParser::runOpcode(unsigned
 short, unsigned short, Common::Array<unsigned short> const&)
 (this=0x555555e6a910, op=100, var=1, args=...) at
 engines/mohawk/myst_scripts.cpp:193
 #8  0x000055555560c22b in
 Mohawk::MystScriptParser::runScript(Common::SharedPtr<Common::Array<Mohawk::MystScriptEntry>
 >, Mohawk::MystArea*) (this=0x555555e6a910, script=...,
 invokingResource=0x555555e4b9a0)
     at engines/mohawk/myst_scripts.cpp:177
 #9  0x0000555555602ccc in Mohawk::MystAreaAction::handleMouseUp()
 (this=0x555555e4b9a0) at engines/mohawk/myst_areas.cpp:149
 #10 0x0000555555603d74 in Mohawk::MystAreaActionSwitch::doSwitch(void
 (Mohawk::MystArea::*)()) (this=0x5555562f0de0, handler=&virtual
 Mohawk::MystArea::handleMouseUp()) at engines/mohawk/myst_areas.cpp:325
 #11 0x0000555555603e46 in Mohawk::MystAreaActionSwitch::handleMouseUp()
 (this=0x5555562f0de0) at engines/mohawk/myst_areas.cpp:341
 #12 0x00005555555fc32b in
 Mohawk::MohawkEngine_Myst::checkCurrentResource() (this=0x555555da0b70) at
 engines/mohawk/myst.cpp:764
 #13 0x00005555555fb117 in Mohawk::MohawkEngine_Myst::doFrame()
 (this=0x555555da0b70) at engines/mohawk/myst.cpp:492
 #14 0x00005555555faac3 in Mohawk::MohawkEngine_Myst::run()
 (this=0x555555da0b70) at engines/mohawk/myst.cpp:386
 #15 0x00005555555b3c0b in runGame(Plugin const*, OSystem&, Common::String
 const&) (plugin=0x555555cd90e0, system=..., edebuglevels=...) at
 base/main.cpp:264
 #16 0x00005555555b4e31 in scummvm_main(int, char const* const*) (argc=1,
 argv=0x7fffffffdfb8) at base/main.cpp:530
 #17 0x00005555555b1c8e in main(int, char**) (argc=1, argv=0x7fffffffdfb8)
     at backends/platform/sdl/posix/posix-main.cpp:45
 }}}

--
Ticket URL: <https://bugs.scummvm.org/ticket/10531>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list