keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
376 stars 104 forks source link

fix(android): crash when attempting to resume but no keyboard is set #11714

Open sentry-io[bot] opened 2 weeks ago

sentry-io[bot] commented 2 weeks ago

Sentry Issue: KEYMAN-ANDROID-39S

Specific 17.0 variant of the event: https://keyman.sentry.io/issues/4263106108/events/a28e3d2d9bab47749926d8ea16b4b701/

getKeyboardIndex failed while key is null

There are a lot of 16.0 event reports lumped in related to older forms of this error, but we're only interested in the 17.0 variant... that has a total of 2 events so far. Still, it exists, and we don't want this to get lost in the noise.

jahorton commented 2 weeks ago

Stack-trace:

image

mcdurdin commented 2 weeks ago
    at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
    at java.lang.Thread.getStackTrace(Thread.java:1841)
    at com.tavultesoft.kmea.util.KMLog.LogError(KMLog.java:49)
    at com.tavultesoft.kmea.data.KeyboardController.getKeyboardIndex(KeyboardController.java:211)
    at com.tavultesoft.kmea.KMManager.getCurrentKeyboardIndex(KMManager.java:2009)
    at com.tavultesoft.kmea.KMManager.getCurrentKeyboardInfo(KMManager.java:2013)
    at com.keyman.android.SystemKeyboard.onStartInput(SystemKeyboard.java:145)
    at android.inputmethodservice.InputMethodService.doStartInput(InputMethodService.java:2462)
    at android.inputmethodservice.InputMethodService$InputMethodImpl.startInput(InputMethodService.java:700)
    at android.inputmethodservice.InputMethodService$InputMethodImpl.dispatchStartInputWithToken(InputMethodService.java:730)
    at android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:199)
    at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:44)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:241)
    at android.os.Looper.loop(Looper.java:342)
    at android.app.ActivityThread.main(ActivityThread.java:8100)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:583)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)