[Scummvm-tracker] [ScummVM] #10001: TITANIC: MaitreD Random Crashes

Willem Jan Palenstijn trac at scummvm.org
Tue Jul 25 18:57:25 CEST 2017


#10001: TITANIC: MaitreD Random Crashes
-------------------------------+-----------------------------
  Reporter:  dafioram          |      Owner:  (none)
      Type:  defect            |     Status:  new
  Priority:  high              |  Component:  Engine: Titanic
Resolution:                    |   Keywords:
      Game:  Starship Titanic  |
-------------------------------+-----------------------------

Comment (by wjp):

 Can't reproduce a crash here, but valgrind give somewhat randomly
 reproducible warnings:

 {{{
 ==31679== Conditional jump or move depends on uninitialised value(s)
 ==31679==    at 0x6F7978: huffDescCompare (indeo.cpp:119)
 ==31679==    by 0x6F7978:
 Image::Indeo::IVIHuffTab::decodeHuffDesc(Image::Indeo::IVI45DecContext*,
 int, int) (indeo.cpp:155)
 ==31679==    by 0x6E179A: Image::Indeo4Decoder::decodePictureHeader()
 (indeo4.cpp:206)
 ==31679==    by 0x6FB0EC:
 Image::Indeo::IndeoDecoderBase::decodeIndeoFrame() (indeo.cpp:502)
 ==31679==    by 0x6E047C:
 Image::Indeo4Decoder::decodeFrame(Common::SeekableReadStream&)
 (indeo4.cpp:80)
 ==31679==    by 0x6C2392:
 Video::AVIDecoder::AVIVideoTrack::decodeFrame(Common::SeekableReadStream*)
 (avi_decoder.cpp:889)
 ==31679==    by 0x6C2921:
 Video::AVIDecoder::handleNextPacket(Video::AVIDecoder::TrackStatus&)
 (avi_decoder.cpp:538)
 ==31679==    by 0x6C29CF: Video::AVIDecoder::readNextPacket()
 (avi_decoder.cpp:445)
 ==31679==    by 0x6D11E1: Video::VideoDecoder::decodeNextFrame()
 (video_decoder.cpp:178)
 ==31679==    by 0x617185: Titanic::AVISurface::renderFrame()
 (avi_surface.cpp:377)
 ==31679==    by 0x5EA8EE:
 Titanic::OSMovie::handleEvents(Titanic::CMovieEventList&) (movie.cpp:163)
 ==31679==    by 0x5FEFF3: Titanic::CGameManager::updateMovies()
 (game_manager.cpp:236)
 ==31679==    by 0x5FF2F8: Titanic::CGameManager::update()
 (game_manager.cpp:167)
 ==31679==  Uninitialised value was created by a heap allocation
 ==31679==    at 0x4C2A610: operator new(unsigned long)
 (vg_replace_malloc.c:334)
 ==31679==    by 0x6D9279: Image::createBitmapCodec(unsigned int, int, int,
 int) (codec.cpp:216)
 ==31679==    by 0x6C1430: createCodec (avi_decoder.cpp:962)
 ==31679==    by 0x6C1430:
 Video::AVIDecoder::AVIVideoTrack::AVIVideoTrack(int,
 Video::AVIDecoder::AVIStreamHeader const&,
 Video::AVIDecoder::BitmapInfoHeader const&, unsigned char*)
 (avi_decoder.cpp:873)
 ==31679==    by 0x6C1CEE: Video::AVIDecoder::handleStreamHeader(unsigned
 int) (avi_decoder.cpp:297)
 ==31679==    by 0x6C1F44: Video::AVIDecoder::parseNextChunk()
 (avi_decoder.cpp:169)
 ==31679==    by 0x6C230F: Video::AVIDecoder::handleList(unsigned int)
 (avi_decoder.cpp:228)
 ==31679==    by 0x6C1FB4: Video::AVIDecoder::parseNextChunk()
 (avi_decoder.cpp:151)
 ==31679==    by 0x6C230F: Video::AVIDecoder::handleList(unsigned int)
 (avi_decoder.cpp:228)
 ==31679==    by 0x6C1FB4: Video::AVIDecoder::parseNextChunk()
 (avi_decoder.cpp:151)
 ==31679==    by 0x6C3197:
 Video::AVIDecoder::loadStream(Common::SeekableReadStream*)
 (avi_decoder.cpp:368)
 ==31679==    by 0x61658C:
 Titanic::AVISurface::AVISurface(Titanic::CResourceKey const&)
 (avi_surface.cpp:56)
 ==31679==    by 0x5EA67E: Titanic::OSMovie::OSMovie(Titanic::CResourceKey
 const&, Titanic::CVideoSurface*) (movie.cpp:85)
 ==31679==
 ==31823== Thread 4 SDLAudioDev1:
 ==31823== Use of uninitialised value of size 8
 ==31823==    at 0x59B3CCC: III_decode (in /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x59B5B2A: mad_layer_III (in /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x59AEBA6: mad_frame_decode (in
 /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x7AA960:
 Audio::BaseMP3Stream::decodeMP3Data(Common::ReadStream&) (mp3.cpp:166)
 ==31823==    by 0x7AACFA:
 Audio::BaseMP3Stream::fillBuffer(Common::ReadStream&, short*, int)
 (mp3.cpp:322)
 ==31823==    by 0x7C4C26: Audio::CopyRateConverter<false,
 false>::flow(Audio::AudioStream&, short*, unsigned int, unsigned short,
 unsigned short) (rate.cpp:315)
 ==31823==    by 0x7A4EE9: Audio::Channel::mix(short*, unsigned int)
 (mixer.cpp:621)
 ==31823==    by 0x7A4FFA: Audio::MixerImpl::mixCallback(unsigned char*,
 unsigned int) (mixer.cpp:293)
 ==31823==    by 0x4E4FC61: SDL_RunAudio (in
 /usr/lib64/libSDL2-2.0.so.0.4.1)
 ==31823==    by 0x4EAB25B: SDL_RunThread (in
 /usr/lib64/libSDL2-2.0.so.0.4.1)
 ==31823==    by 0x4EF5ED8: RunThread (in /usr/lib64/libSDL2-2.0.so.0.4.1)
 ==31823==    by 0x8FB7443: start_thread (in /lib64/libpthread-2.22.so)
 ==31823==  Uninitialised value was created by a heap allocation
 ==31823==    at 0x4C29FA0: malloc (vg_replace_malloc.c:299)
 ==31823==    by 0x59B5D12: mad_layer_III (in /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x59AEBA6: mad_frame_decode (in
 /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x7AA960:
 Audio::BaseMP3Stream::decodeMP3Data(Common::ReadStream&) (mp3.cpp:166)
 ==31823==    by 0x7AB390:
 Audio::MP3Stream::MP3Stream(Common::SeekableReadStream*,
 DisposeAfterUse::Flag) (mp3.cpp:359)
 ==31823==    by 0x7AB908:
 Audio::makeMP3Stream(Common::SeekableReadStream*, DisposeAfterUse::Flag)
 (mp3.cpp:534)
 ==31823==    by 0x7B1589:
 Audio::makeWAVStream(Common::SeekableReadStream*, DisposeAfterUse::Flag)
 (wave.cpp:208)
 ==31823==    by 0x5D9094: Titanic::CWaveFile::audioStream()
 (wave_file.cpp:183)
 ==31823==    by 0x612E9F: Titanic::QMixer::qsWaveMixPump()
 (qmixer.cpp:239)
 ==31823==    by 0x6132A2: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned
 int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&)
 (qmixer.cpp:166)
 ==31823==    by 0x5D6F27:
 Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int,
 Titanic::CProximity&) (sound_manager.cpp:426)
 ==31823==    by 0x5F47CA:
 Titanic::CTrueTalkManager::playSpeech(Titanic::TTtalker*,
 Titanic::TTroomScript*, Titanic::CViewItem*, bool)
 (true_talk_manager.cpp:536)
 ==31823==
 ==31823== Use of uninitialised value of size 8
 ==31823==    at 0x59B3D18: III_decode (in /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x59B5B2A: mad_layer_III (in /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x59AEBA6: mad_frame_decode (in
 /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x7AA960:
 Audio::BaseMP3Stream::decodeMP3Data(Common::ReadStream&) (mp3.cpp:166)
 ==31823==    by 0x7AACFA:
 Audio::BaseMP3Stream::fillBuffer(Common::ReadStream&, short*, int)
 (mp3.cpp:322)
 ==31823==    by 0x7C4C26: Audio::CopyRateConverter<false,
 false>::flow(Audio::AudioStream&, short*, unsigned int, unsigned short,
 unsigned short) (rate.cpp:315)
 ==31823==    by 0x7A4EE9: Audio::Channel::mix(short*, unsigned int)
 (mixer.cpp:621)
 ==31823==    by 0x7A4FFA: Audio::MixerImpl::mixCallback(unsigned char*,
 unsigned int) (mixer.cpp:293)
 ==31823==    by 0x4E4FC61: SDL_RunAudio (in
 /usr/lib64/libSDL2-2.0.so.0.4.1)
 ==31823==    by 0x4EAB25B: SDL_RunThread (in
 /usr/lib64/libSDL2-2.0.so.0.4.1)
 ==31823==    by 0x4EF5ED8: RunThread (in /usr/lib64/libSDL2-2.0.so.0.4.1)
 ==31823==    by 0x8FB7443: start_thread (in /lib64/libpthread-2.22.so)
 ==31823==  Uninitialised value was created by a heap allocation
 ==31823==    at 0x4C29FA0: malloc (vg_replace_malloc.c:299)
 ==31823==    by 0x59B5D12: mad_layer_III (in /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x59AEBA6: mad_frame_decode (in
 /usr/lib64/libmad.so.0.2.1)
 ==31823==    by 0x7AA960:
 Audio::BaseMP3Stream::decodeMP3Data(Common::ReadStream&) (mp3.cpp:166)
 ==31823==    by 0x7AB390:
 Audio::MP3Stream::MP3Stream(Common::SeekableReadStream*,
 DisposeAfterUse::Flag) (mp3.cpp:359)
 ==31823==    by 0x7AB908:
 Audio::makeMP3Stream(Common::SeekableReadStream*, DisposeAfterUse::Flag)
 (mp3.cpp:534)
 ==31823==    by 0x7B1589:
 Audio::makeWAVStream(Common::SeekableReadStream*, DisposeAfterUse::Flag)
 (wave.cpp:208)
 ==31823==    by 0x5D9094: Titanic::CWaveFile::audioStream()
 (wave_file.cpp:183)
 ==31823==    by 0x612E9F: Titanic::QMixer::qsWaveMixPump()
 (qmixer.cpp:239)
 ==31823==    by 0x6132A2: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned
 int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&)
 (qmixer.cpp:166)
 ==31823==    by 0x5D6F27:
 Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int,
 Titanic::CProximity&) (sound_manager.cpp:426)
 ==31823==    by 0x5F47CA:
 Titanic::CTrueTalkManager::playSpeech(Titanic::TTtalker*,
 Titanic::TTroomScript*, Titanic::CViewItem*, bool)
 (true_talk_manager.cpp:536)
 }}}

--
Ticket URL: <https://bugs.scummvm.org/ticket/10001#comment:1>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list