[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