[Scummvm-tracker] [ScummVM :: Bugs] #14612: Assertion failure in Common::File::pos() const

ScummVM :: Bugs trac at scummvm.org
Sat Sep 9 09:10:19 UTC 2023


#14612: Assertion failure in Common::File::pos() const
--------------------------+--------------------------------
Reporter:  lephilousophe  |       Owner:  (none)
    Type:  defect         |      Status:  new
Priority:  normal         |   Component:  Engine: Illusions
 Version:                 |  Resolution:
Keywords:                 |        Game:
--------------------------+--------------------------------
Description changed by lephilousophe:

Old description:

> Assertion failure: '_handle' in common/file.cpp:126 (virtual int64
> Common::File::pos() const)
>
> {{{
> backtrace:
>   #00  pc 0x000000000004e178
> /apex/com.android.runtime/lib64/bionic/libc.so (abort+168)
>   #01  pc 0x0000000000552798  /apex/com.android.art/lib64/libart.so
> (art::Runtime::Abort(char const*)+2260)
>   #02  pc 0x0000000000013990  /system/lib64/libbase.so
> (android::base::SetAborter(std::__1::function<void (char
> const*)>&&)::$_3::__invoke(char const*)+76)
>   #03  pc 0x0000000000006e58  /system/lib64/liblog.so
> (__android_log_assert+336)
>   #04  pc 0x00000000019cb934
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (__assert2+40)
>   #05  pc 0x0000000003a970ec
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (Common::File::pos()
> const+56)
>   #06  pc 0x0000000003a48a08
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Audio::loadWAVFromStream(Common::SeekableReadStream&, int&, int&,
> unsigned char&, unsigned short*, int*, int*)+64)
>   #07  pc 0x0000000003a48f80
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Audio::makeWAVStream(Common::SeekableReadStream*,
> DisposeAfterUse::Flag)+52)
>   #08  pc 0x00000000025ab07c
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::VoicePlayer::start(short, short)+120)
>   #09  pc 0x00000000025ab8ec
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::SoundMan::startVoice(short, short)+64)
>   #10  pc 0x00000000025ad33c
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::TalkThread::onUpdate()+580)
>   #11  pc 0x00000000025ae5c8
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::Thread::update()+52)
>   #12  pc 0x00000000025ae6c8
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::ThreadList::updateThreads()+92)
>   #13  pc 0x000000000258ad50
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::IllusionsEngine_BBDOU::updateScript(unsigned int)+8)
>   #14  pc 0x00000000025af4ec
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::UpdateFunctions::update()+116)
>   #15  pc 0x000000000258a6d0
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
> (Illusions::IllusionsEngine_BBDOU::run()+2272)
>   #16  pc 0x00000000019d60d4
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (scummvm_main+7336)
>   #17  pc 0x00000000019c7250
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (JNI::main(_JNIEnv*,
> _jobject*, _jobjectArray*)+340)
>   #18  pc 0x000000000002d308
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/oat/arm64/base.odex (art_jni_trampoline+152)
>   #19  pc 0x0000000000058bd4
> /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
> RRTpzGk6LLN3bUeiCMCGQA==/oat/arm64/base.odex
> (org.scummvm.scummvm.ScummVM.run+516)
>   #20  pc 0x000000000015aaf8
> /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72)
>   #21  pc 0x0000000000133564  /apex/com.android.art/lib64/libart.so
> (art_quick_invoke_stub+548)
>   #22  pc 0x00000000001a8a6c  /apex/com.android.art/lib64/libart.so
> (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int,
> art::JValue*, char const*)+200)
>   #23  pc 0x000000000054a470  /apex/com.android.art/lib64/libart.so
> (art::JValue
> art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable
> const&, _jobject*, art::ArtMethod*, jvalue const*)+460)
>   #24  pc 0x0000000000598bcc  /apex/com.android.art/lib64/libart.so
> (art::Thread::CreateCallback(void*)+1288)
>   #25  pc 0x00000000000af97c
> /apex/com.android.runtime/lib64/bionic/libc.so
> (__pthread_start(void*)+64)
>   #26  pc 0x00000000000500d0
> /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
> }}}
>
> Illusions engine doesn't seem to check if WAV file can be opened before
> passing the File object to makeWAVStream.

New description:

 Version 2.7.1

 Assertion failure: '_handle' in common/file.cpp:126 (virtual int64
 Common::File::pos() const)

 Here is a crash report from Google Play console:
 {{{
 backtrace:
   #00  pc 0x000000000004e178
 /apex/com.android.runtime/lib64/bionic/libc.so (abort+168)
   #01  pc 0x0000000000552798  /apex/com.android.art/lib64/libart.so
 (art::Runtime::Abort(char const*)+2260)
   #02  pc 0x0000000000013990  /system/lib64/libbase.so
 (android::base::SetAborter(std::__1::function<void (char
 const*)>&&)::$_3::__invoke(char const*)+76)
   #03  pc 0x0000000000006e58  /system/lib64/liblog.so
 (__android_log_assert+336)
   #04  pc 0x00000000019cb934
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (__assert2+40)
   #05  pc 0x0000000003a970ec
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (Common::File::pos()
 const+56)
   #06  pc 0x0000000003a48a08
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Audio::loadWAVFromStream(Common::SeekableReadStream&, int&, int&,
 unsigned char&, unsigned short*, int*, int*)+64)
   #07  pc 0x0000000003a48f80
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Audio::makeWAVStream(Common::SeekableReadStream*,
 DisposeAfterUse::Flag)+52)
   #08  pc 0x00000000025ab07c
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::VoicePlayer::start(short, short)+120)
   #09  pc 0x00000000025ab8ec
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::SoundMan::startVoice(short, short)+64)
   #10  pc 0x00000000025ad33c
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::TalkThread::onUpdate()+580)
   #11  pc 0x00000000025ae5c8
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::Thread::update()+52)
   #12  pc 0x00000000025ae6c8
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::ThreadList::updateThreads()+92)
   #13  pc 0x000000000258ad50
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::IllusionsEngine_BBDOU::updateScript(unsigned int)+8)
   #14  pc 0x00000000025af4ec
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::UpdateFunctions::update()+116)
   #15  pc 0x000000000258a6d0
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so
 (Illusions::IllusionsEngine_BBDOU::run()+2272)
   #16  pc 0x00000000019d60d4
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (scummvm_main+7336)
   #17  pc 0x00000000019c7250
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/lib/arm64/libscummvm.so (JNI::main(_JNIEnv*,
 _jobject*, _jobjectArray*)+340)
   #18  pc 0x000000000002d308
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/oat/arm64/base.odex (art_jni_trampoline+152)
   #19  pc 0x0000000000058bd4
 /data/app/~~pUKTPjFb0jejsdE83Kh3FQ==/org.scummvm.scummvm-
 RRTpzGk6LLN3bUeiCMCGQA==/oat/arm64/base.odex
 (org.scummvm.scummvm.ScummVM.run+516)
   #20  pc 0x000000000015aaf8  /apex/com.android.art/javalib/arm64/boot.oat
 (java.lang.Thread.run+72)
   #21  pc 0x0000000000133564  /apex/com.android.art/lib64/libart.so
 (art_quick_invoke_stub+548)
   #22  pc 0x00000000001a8a6c  /apex/com.android.art/lib64/libart.so
 (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int,
 art::JValue*, char const*)+200)
   #23  pc 0x000000000054a470  /apex/com.android.art/lib64/libart.so
 (art::JValue
 art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable
 const&, _jobject*, art::ArtMethod*, jvalue const*)+460)
   #24  pc 0x0000000000598bcc  /apex/com.android.art/lib64/libart.so
 (art::Thread::CreateCallback(void*)+1288)
   #25  pc 0x00000000000af97c
 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
   #26  pc 0x00000000000500d0
 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
 }}}

 Illusions engine doesn't seem to check if WAV file can be opened before
 passing the File object to makeWAVStream.

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


More information about the Scummvm-tracker mailing list