ElishaAz / Sayboard

An open-source on-device voice IME (keyboard) for Android using the Vosk library.
GNU General Public License v3.0
304 stars 19 forks source link

Crash when switching language #32

Closed machiav3lli closed 8 months ago

machiav3lli commented 9 months ago

Crash when switching between languages, resulting only one language at once is usable (happens with and without weakRef of models).

On Pixel 7 (panther).

Crashlog:

CalyxOS version: '4.14.0' ABI: 'arm64' Cause: null pointer dereference x0 0000000000000000 x1 00000074d001c9c0 x2 0000000000003200 x3 0000000000000010 x4 0000000000000000 x5 0000000000000001 x6 00000074d001cb00 x7 0000000000001900 x8 b400007707cd3620 x9 0000000000000000 x10 0000000000000000 x11 b4000076d8df30d8 x12 b400007707cd6830 x13 0000000000000000 x14 0000000000000007 x15 00000000ebad6a89 x16 00000074dc6b3c50 x17 00000074dc25ab48 x18 0000000000000000 x19 b4000075f7c5b310 x20 0000000000000000 x21 0000000000000000 x22 0000000000000000 x23 0000000000000000 x24 0000000000000000 x25 0000000000000000 x26 0000000000000000 x27 00000074d001ca70 x28 00000074d001c9b0 x29 00000074d001c9a0 lr 00000074dc1aebfc sp 00000074d001c990 pc 00000074dc25ab5c pst 0000000080001000 backtrace:

00 pc 0000000000410b5c /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x164000) (kaldi::OnlineNnet2FeaturePipeline::AcceptWaveform(float, kaldi::VectorBase const&)+20)

  #01 pc 0000000000364bf8  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x164000) (KaldiRecognizer::AcceptWaveform(kaldi::Vector<float>&)+180)
  #02 pc 0000000000364d58  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x164000) (KaldiRecognizer::AcceptWaveform(short const*, int)+192)
  #03 pc 0000000000408654  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x164000) (vosk_recognizer_accept_waveform_s+8)
  #04 pc 0000000000010154  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x14d000)
  #05 pc 000000000000f938  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x14d000)
  #06 pc 0000000000006e6c  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x14d000)
  #07 pc 000000000000fedc  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x14d000)
  #08 pc 00000000000102d0  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/base.apk (offset 0x14d000)
  #09 pc 000000000021a354  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #10 pc 0000000000209398  /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #11 pc 00000000001c6ea4  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/oat/arm64/base.vdex (q6.a.acceptWaveForm+8)
  #12 pc 000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #13 pc 000000000011e7c4  /data/app/~~tcdECrvDovGGW1dduNEIrw==/com.elishaazaria.sayboard-uZTljg2ZyiRD3umbVnW1GA==/oat/arm64/base.vdex (f4.f.run+180)
  #14 pc 000000000021096c  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+556) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #15 pc 0000000000279de8  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+184) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #16 pc 000000000062276c  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+460) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #17 pc 000000000066b020  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1296) (BuildId: b5ce79b35743992e5feb7b30b1d4b351)
  #18 pc 00000000000c226c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: e191b8ff2c87c749bcc0e5cd3cf8f4bf)
  #19 pc 0000000000054a30  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: e191b8ff2c87c749bcc0e5cd3cf8f4bf)
ElishaAz commented 8 months ago

I've fixed some bugs related to closing the model properly, which should help with this error. Can you please update to v4.0.1 and tell me if anything changed?

machiav3lli commented 8 months ago

Crashes also, but seems now to be earlier and connected to the onClick action:

FATAL EXCEPTION: main
Process: com.elishaazaria.sayboard, PID: 19381
java.lang.NullPointerException
    at f4.c.c(SourceFile:42)
    at f4.i.onClick(SourceFile:316)
    at android.view.View.performClick(View.java:7542)
    at android.view.View.performClickInternal(View.java:7519)
    at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
    at android.view.View$PerformClick.run(View.java:29476)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7924)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
alensiljak commented 8 months ago

V4.0.3 Downloaded two language packs. Switching worked. Removed one and downloaded again hoping to adjust the order (which it didn't). After this it crashes whenever I try changing the language while the board is visible. Also Pixel 7.

hydrandt commented 8 months ago

For me, also crashes. As soon as I tap on the language name in bottom left. I have two models installed.

ElishaAz commented 8 months ago

I added a bug by mistake in v4.0.1 with multiple models when listen immediately wash checked. I fixed it now.

tomatojam42 commented 8 months ago

@ElishaAz Still here in 4.0.3 exactly when "listen immediately" is checked. Behavior: when i tap on switch language, then sayboard hides, then opens again with same language as before. When try to interact, crashes.

ElishaAz commented 8 months ago

4.0.3 still has the bug. I didn't create a new release yet

ElishaAz commented 8 months ago

New release out: v4.1.0.

@machiav3lli, do you still have the original error with this new release?

alensiljak commented 8 months ago

I can confirm it's resolved.

ElishaAz commented 8 months ago

So I'll close this for now. @machiav3lli , if you still have the original error, you're welcome to reopen / create a new issue.