Anki-Android icon indicating copy to clipboard operation
Anki-Android copied to clipboard

[BUG]: Crash during "change cloze number"

Open Arthur-Milchior opened this issue 6 months ago • 3 comments

Checked for duplicates?

  • [X] This issue is not a duplicate

Does it also happen in the desktop version?

  • [X] This bug does not occur in the latest version of Anki

What are the steps to reproduce this bug?

I was testing this feature, and suddenly I had this crash

Expected behaviour

no crash

Actual behaviour

024-08-17 23:08:07.946  4928-4928  MessageQueue-JNI        
  com.ichi2.anki.debug                 E  java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
  at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1331)
  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:685)
  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:677)
  at androidx.emoji2.text.SpannableBuilder.setSpan(SpannableBuilder.java:140)
  at android.text.Selection.setSelection(Selection.java:95)
  at android.text.Selection.setSelection(Selection.java:79)
  at android.text.method.ArrowKeyMovementMethod.onTouchEvent(ArrowKeyMovementMethod.java:342)
  at android.widget.TextView.onTouchEvent(TextView.java:12765)
  at android.view.View.dispatchTouchEvent(View.java:15655)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
  at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:490)
  at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1904)
  at android.app.Dialog.dispatchTouchEvent(Dialog.java:910)
  at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
  at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:448)
  at android.view.View.dispatchPointerEvent(View.java:15919)
  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7021)
  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6815)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6229)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6286)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6252)
  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6417)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6260)
  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6474)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6233)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6286)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6252)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6260)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6233)
  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9211)
  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9162)
  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9131)
  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9337)
  2024-08-17 23:08:07.946  4928-4928  MessageQueue-JNI        com.ichi2.anki.debug                 E
  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:267)
  at android.os.MessageQueue.nativePollOnce(Native Method)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loopOnce(Looper.java:162)
  at android.os.Looper.loop(Looper.java:294)
  at android.app.ActivityThread.main(ActivityThread.java:8177)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
  --------- beginning of crashe

Debug info

running on current main

(Optional) Anything else you want to share?

No response

Research

  • [X] I am reporting a bug specific to AnkiDroid (Android app)
  • [X] I have checked the manual and the FAQ and could not find a solution to my issue
  • [X] (Optional) I have confirmed the issue is not resolved in the latest alpha release (instructions)

Arthur-Milchior avatar Aug 17 '24 21:08 Arthur-Milchior