【问题标题】:Azure SpeechSynthesizer crashes when used with screen off AndroidAzure SpeechSynthesizer 在关闭 Android 屏幕时崩溃
【发布时间】:2021-12-30 04:42:28
【问题描述】:

我正在制作一个 Android 应用程序,一切正常,直到我尝试在屏幕关闭的情况下使该应用程序可用。我获得了PARTIAL_WAKE_LOCKWIFI_MODE_FULL_HIGH_PERF。似乎有一个 SafeHandle 正在使用,它断言两个变量的相等性,它失败并导致抛出异常。 取自 Azure:-

 public SpeechSynthesisResult SpeakText(String var1) {
        IntRef var2 = new IntRef(0L);
        Contracts.throwIfFail(this.speakText(this.synthHandle, var1, var2));
        return new SpeechSynthesisResult(var2);
    }

这个错误的有趣部分是,当使用调试时,它实际上会很好地说出文本(因为我设置了断点并且在抛出异常之前还有时间)。我相信这个 safeHandle 可能是某种线程安全措施,但我不确定。

一些日志:-

F/libc    (14943): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x73756c50656ee7 in tid 5685 (Thread-16), pid 14943 (ta.elementalabs)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 14943, tid: 5685, name: Thread-16  >>> com.elementa.elementalabs <<<
uid: 10359
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x73756c50656ee7
    x0  b40000791a5be290  x1  0000000000000010  x2  0000000000000000  x3  00000077bfe95890
    x4  b40000786a5cb4ff  x5  00000077bfe95800  x6  206e616320776f48  x7  3f706c6568204920
    x8  3f73756c50656e4f  x9  682e0967af026884  x10 0000000000000001  x11 0000000000000000
    x12 b40000789a5b9738  x13 0000000000000000  x14 000000007ffbffff  x15 0000000000000012
    x16 00000077c17905f8  x17 0000007b4acbe81c  x18 00000000000ba245  x19 00000077bfe95690
    x20 b40000791a5be290  x21 00000077bfe957f0  x22 0000000000000000  x23 00000077bfe98000
    x24 000000000000000f  x25 00000077bfe98000  x26 000000000000004d  x27 0000000000000004
    x28 00000077bfe95910  x29 00000077bfe95680
    lr  00000077c13b7d8c  sp  00000077bfe94270  pc  00000077c13b7d98  pst 0000000060000000
backtrace:
      #00 pc 00000000002f7d98  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #01 pc 00000000002e4388  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #02 pc 000000000027f610  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #03 pc 00000000001be1a8  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000) (synthesizer_speak_text+128)
      #04 pc 0000000000016b84  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.java.bindings.so (offset 0xf46000) (Java_com_microsoft_cognitiveservices_speech_SpeechSynthesizer_speakText+156)
      #05 pc 000000000013ced4  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #06 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #07 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #08 pc 00000000003184a8  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #09 pc 000000000030e7d4  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #10 pc 000000000067f240  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+576) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #11 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #12 pc 00000000001c188a  [anon:dalvik-classes6.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes6.dex] (com.microsoft.cognitiveservices.speech.SpeechSynthesizer.SpeakText+18)
      #13 pc 000000000067ce64  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #14 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #15 pc 00000000000072fe  [anon:dalvik-classes5.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes5.dex] (com.elementa.elementalabs.MainActivity.speakText+186)
      #16 pc 000000000067ce64  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #17 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #18 pc 00000000000076d0  [anon:dalvik-classes5.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes5.dex] (com.elementa.elementalabs.MainActivity.wakewordActivated+24)
      #19 pc 000000000067ce64  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #20 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #21 pc 00000000000063d2  [anon:dalvik-classes5.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes5.dex] (com.elementa.elementalabs.MainActivity.onCreate$lambda-5+10)
      #22 pc 000000000067fdc0  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #23 pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #24 pc 000000000000625c  [anon:dalvik-classes5.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes5.dex] (com.elementa.elementalabs.MainActivity.lambda$og9JLYYMUtAnM1Y7cWoT7Zlo0vE)
      #25 pc 000000000067fdc0  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #26 pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #27 pc 0000000000003fd8  [anon:dalvik-classes5.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes5.dex] (com.elementa.elementalabs.-$$Lambda$MainActivity$og9JLYYMUtAnM1Y7cWoT7Zlo0vE.onEvent+8)
      #28 pc 000000000067e89c  /apex/com.android.art/lib64/libart.so (MterpInvokeInterface+1808) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #29 pc 000000000012da14  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #30 pc 00000000001ce31e  [anon:dalvik-classes6.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes6.dex] (com.microsoft.cognitiveservices.speech.util.EventHandlerImpl.fireEvent+50)
      #31 pc 000000000067ce64  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #32 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #33 pc 00000000001bb770  [anon:dalvik-classes6.dex extracted in memory from /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!classes6.dex] (com.microsoft.cognitiveservices.speech.KeywordRecognizer.recognizedEventCallback+40)
      #34 pc 0000000000305dd0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.3728063326046250456)+268) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #35 pc 000000000066b8cc  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #36 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #37 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #38 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #39 pc 0000000000555614  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+468) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #40 pc 00000000005557b4  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #41 pc 0000000000413f7c  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+660) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #42 pc 00000000003796a0  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+2512) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #43 pc 0000000000367750  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+72) (BuildId: b0b1b97e51dc36cf4439284e5ac2a281)
      #44 pc 000000000001ad30  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.java.bindings.so (offset 0xf46000)
      #45 pc 000000000001ea54  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.java.bindings.so (offset 0xf46000)
      #46 pc 0000000000152b38  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #47 pc 00000000002285a8  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #48 pc 0000000000226b70  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #49 pc 0000000000226d9c  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #50 pc 000000000026166c  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #51 pc 000000000026af50  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #52 pc 00000000002ec948  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #53 pc 00000000002ebf34  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #54 pc 00000000002ed6e8  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #55 pc 00000000002ebfe4  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #56 pc 00000000002eeab8  /data/app/~~rD-9CNu-uAFhkQUHj8pA4Q==/com.elementa.elementalabs-5w_O4yJJWRjdskFXpPGAvw==/base.apk!libMicrosoft.CognitiveServices.Speech.core.so (offset 0x74e000)
      #57 pc 00000000000b0048  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: 07fbaeed7b7a19203975f06be6f1d5ef)
      #58 pc 00000000000503c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 07fbaeed7b7a19203975f06be6f1d5ef)

我注意到有 SIGSEGV 错误,这可能意味着指针无效?我应该注意什么来诊断这个问题?提前致谢。

【问题讨论】:

    标签: android microsoft-cognitive azure-cognitive-services


    【解决方案1】:

    SIGSEGV 问题的调试更复杂,因为它取决于项目。因此,您可以了解应用程序内存的流向并了解使用情况。

    假设它在调试时成功运行。尝试清除缓存并在生产环境中重新加载项目。

    如果您正在使用任何本机库,您可以确保它们是否正确使用。

    确保您使用的内存和指向的变量可用于特定用途。 SIGSEGV 问题仅在它指向无效指针时发生。

    参考here

    【讨论】:

    • 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢
    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多