CodeAssist icon indicating copy to clipboard operation
CodeAssist copied to clipboard

IndexOutOfBoundsException CodeAssist crash

Open Josh-Reimer opened this issue 3 years ago • 4 comments

After typing in a java file for a random amount of time, usually quite short, CodeAssist crashes and shows this screen: Screenshot_20221101-165828_CodeAssist

Screenshot_20221031-120130_CodeAssist The full error message when I click on 'copy to clipboard'

Build version: 0.2.9 ALPHA Build date: 1981-01-01 01:01:02 Current date: 2022-10-31 12:01:46 Device: Samsung SM-A520W

Stack trace:
java.lang.IndexOutOfBoundsException: Index: 4, Size: 1 at java.util.ArrayList.get(ArrayList.java:437) at com.tyron.code.language.textmate.BaseIncrementalAnalyzeManager$LockedSpans$ReaderImpl.getSpanAt(BaseIncrementalAnalyzeManager.java:428) at io.github.rosemoe.sora.widget.EditorPainter.drawRows(EditorPainter.java:860) at io.github.rosemoe.sora.widget.EditorPainter.drawView(EditorPainter.java:464) at io.github.rosemoe.sora.widget.EditorPainter.draw(EditorPainter.java:128) at io.github.rosemoe.sora.widget.CodeEditor.onDraw(CodeEditor.java:3268) at com.tyron.code.ui.editor.impl.text.rosemoe.CodeEditorView.onDraw(CodeEditorView.java:456) at android.view.View.draw(View.java:20373) at android.view.View.updateDisplayListIfDirty(View.java:19318) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385) at android.view.View.updateDisplayListIfDirty(View.java:19277) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385) at android.view.View.updateDisplayListIfDirty(View.java:19277) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385) at android.view.View.updateDisplayListIfDirty(View.java:19277) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385) at android.view.View.updateDisplayListIfDirty(View.java:19277) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1312) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at androidx.fragment.app.FragmentContainerView.drawChild(FragmentContainerView.kt:235) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at androidx.fragment.app.FragmentContainerView.dispatchDraw(FragmentContainerView.kt:225) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1478) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at androidx.fragment.app.FragmentContainerView.drawChild(FragmentContainerView.kt:235) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at androidx.fragment.app.FragmentContainerView.dispatchDraw(FragmentContainerView.kt:225) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.updateDisplayListIfDirty(View.java:19309) at android.view.View.draw(View.java:20096) at android.view.ViewGroup.drawChild(ViewGroup.java:4421) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207) at android.view.View.draw(View.java:20376) at com.android.internal.policy.DecorView.draw(DecorView.java:980) at android.view.View.updateDisplayListIfDirty(View.java:19318) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:800) at android.view.ViewRootImpl.draw(ViewRootImpl.java:3501) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3288) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2823) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1785) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7832) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:723) at android.view.Choreographer.doFrame(Choreographer.java:658) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6944) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

User actions: 2022-10-31 10:27:17: MainActivity created 2022-10-31 10:27:18: MainActivity resumed 2022-10-31 10:27:19: MainActivity paused 2022-10-31 12:00:17: MainActivity resumed

To Reproduce Steps to reproduce the behavior:

  1. Open codeassist app
  2. Select or create a project
  3. Start typing out your code and wait for codeassist to crash
  4. See error

Expected behavior Codeassist should simply not crash and let you keep typing.

Smartphone (please complete the following information):

  • Device: Galaxy A5
  • OS: Android Oreo
  • Version 0.2.9 ALPHA

Additional context I should mention that I downloaded CodeAssist from Google Play. Also, the error seems to occur most often when CodeAssist is guessing what you want to type, or when it should be.

Josh-Reimer avatar Nov 01 '22 20:11 Josh-Reimer

me too, it makes me feel angry 😡

a7m2005 avatar Nov 05 '22 20:11 a7m2005

same problem here

impawstarlight avatar Nov 16 '22 13:11 impawstarlight

Does this problem not affect other phones or different android versions?

Josh-Reimer avatar Mar 07 '23 02:03 Josh-Reimer

Just a tip to other users facing the same problem: use an external editor like Acode and than use CodeAssist to compile your code. Hmm... It seems the issue must be in CodeAssist's editor.

Josh-Reimer avatar Mar 07 '23 13:03 Josh-Reimer