iink SDK on Device

Answered

How to avoid crashes caused by unlifted points.

In our tests, we found that the handwriting recognition engine crashed when we actively dropped points.

Below is the log of the crash catch.How to avoid such a crash.

2020-09-17 10:55:20.958 3513-3513/com.example.androidwhiteboard E/=======AndroidWhiteBoard======:  no up Msg downPointerId = 0 

2020-09-17 10:55:20.966 3513-3513/com.example.androidwhiteboard E/InputEventReceiver: Exception dispatching input event. 

2020-09-17 10:55:20.967 3513-3513/com.example.androidwhiteboard E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback 

2020-09-17 10:55:20.969 3513-3513/com.example.androidwhiteboard E/MessageQueue-JNI: java.lang.IllegalStateException: no trace pending 

        at com.myscript.iink.NativeFunctions.pointerCancel(Native Method) 

        at com.myscript.iink.Editor.pointerCancel(Editor.java:466) 

        at com.example.androidwhiteboard.HandwritingRecognition.TouchEvent(HandwritingRecognition.java:304) 

        at com.example.androidwhiteboard.MainActivity.myTouchEvent(MainActivity.java:2548) 

        at com.example.view.Draw.SendPoint(Draw.java:226) 

        at com.example.view.Draw.onTouchEvent(Draw.java:169) 

        at android.view.View.dispatchTouchEvent(View.java:12032) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:445) 

        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1828) 

        at android.app.Activity.dispatchTouchEvent(Activity.java:3292) 

        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:407) 

        at android.view.View.dispatchPointerEvent(View.java:12271) 

        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4781) 

        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4595) 

        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 

        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4181) 

        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 

        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4274) 

        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 

        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4331) 

        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 

        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4181) 

        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 

        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 

        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 

        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6647) 

        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6621) 

        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6582) 

        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6750) 

        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 

        at android.os.MessageQueue.nativePollOnce(Native Method) 

        at android.os.MessageQueue.next(MessageQueue.java:325) 

        at android.os.Looper.loop(Looper.java:142) 

        at android.app.ActivityThread.main(ActivityThread.java:6541) 

        at java.lang.reflect.Method.invoke(Native Method) 

        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 

        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

2020-09-17 10:55:20.969 3513-3513/com.example.androidwhiteboard D/AndroidRuntime: Shutting down VM 

     

     

    --------- beginning of crash 

2020-09-17 10:55:20.970 3513-3513/com.example.androidwhiteboard E/AndroidRuntime: FATAL EXCEPTION: main 

    Process: com.example.androidwhiteboard, PID: 3513 

    java.lang.IllegalStateException: no trace pending 

        at com.myscript.iink.NativeFunctions.pointerCancel(Native Method) 

        at com.myscript.iink.Editor.pointerCancel(Editor.java:466) 

        at com.example.androidwhiteboard.HandwritingRecognition.TouchEvent(HandwritingRecognition.java:304) 

        at com.example.androidwhiteboard.MainActivity.myTouchEvent(MainActivity.java:2548) 

        at com.example.view.Draw.SendPoint(Draw.java:226) 

        at com.example.view.Draw.onTouchEvent(Draw.java:169) 

        at android.view.View.dispatchTouchEvent(View.java:12032) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961) 

        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2593) 

        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:445) 

        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1828) 

        at android.app.Activity.dispatchTouchEvent(Activity.java:3292) 

        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:407) 

        at android.view.View.dispatchPointerEvent(View.java:12271) 

        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4781) 

        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4595) 

        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 

        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4181) 

        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 

        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4274) 

        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 

        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4331) 

        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 

        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4181) 

        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 

        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 

        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 

        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6647) 

        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6621) 

        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6582) 

        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6750) 

        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 

        at android.os.MessageQueue.nativePollOnce(Native Method) 

        at android.os.MessageQueue.next(MessageQueue.java:325) 

        at android.os.Looper.loop(Looper.java:142) 

        at android.app.ActivityThread.main(ActivityThread.java:6541) 

        at java.lang.reflect.Method.invoke(Native Method) 

        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 

        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

2020-09-17 10:55:20.976 2126-2508/system_process I/ActivityManager: START u0 {cmp=com.example.androidwhiteboard/.ErrorActivity (has extras)} from uid 1000 

2020-09-17 10:55:21.006 1811-2673/? D/HiMW@hi_mw_logic_media_player.cpp: [configHdrOnChange:348] ======get stream info fail!======== 

2020-09-17 10:55:21.017 3513-3528/? I/zygote64: Debugger is no longer active 

2020-09-17 10:55:21.056 1811-2673/? D/HiMW@hi_mw_logic_media_player.cpp: [configHdrOnChange:348] ======get stream info fail!========


Best Answer

Dear 刚 陈,,


Thank you for contacting us.


A similar question was just submitted in the following post: https://developer-support.myscript.com/support/discussions/topics/16000029713


You can then check the answer.


Let us know if you need more help.


Best regards,


Olivier

1 Comment

Answer

Dear 刚 陈,,


Thank you for contacting us.


A similar question was just submitted in the following post: https://developer-support.myscript.com/support/discussions/topics/16000029713


You can then check the answer.


Let us know if you need more help.


Best regards,


Olivier