sourcegraph / jetbrains

Apache License 2.0
59 stars 19 forks source link

bug: java.lang.IndexOutOfBoundsException: Wrong line: 1. Available lines count: 1 #1451

Open homayoonahmadi opened 4 months ago

homayoonahmadi commented 4 months ago

Cody Version

5.5.9

IDE Information

Android Studio Jellyfish | 2023.3.1 Build #AI-233.14808.21.2331.11709847, built on April 12, 2024 Runtime version: 17.0.10+0--11572160 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 4096M Cores: 4 Registry: ide.balloon.shadow.size=0 debugger.watches.in.variables=false debugger.new.tool.window.layout=true completion.show.intention.icon=false ide.experimental.ui=true Non-Bundled Plugins: Dummy Text Generator (1.2.0) com.github.mdk.jetbrains.plugin.persiantranslator (1.0) com.floobits.unique.plugin.id (1.7.3) com.sburlyaev.terminal.plugin (0.8.0) Statistic (4.2.14) Lombook Plugin (233.14808.21) String Manipulation (9.13.0) com.genuitec.codetogether (2024.2.0-01563) hunspell (233.14808.24) ChatGPT (3.2.1-231.233) com.robohorse.robopojogenerator (2.4.3) com.wakatime.intellij.plugin (14.3.13) com.mistamek.drawablepreview.drawable-preview (1.1.6) com.sourcegraph.jetbrains (5.5.9) com.mallowigi (94.1.0) io.autofill.kotlin.kotlin-auto-fill (1.0.5)

Describe the bug

I was committing some files and writing commit message for it. it showed me some information that wasn't showing correctly since I was writing my message in Persian, and the Tab key doesn't work to bring the suggestion into the text and it just moves focus to commit button.

Expected behavior

I expected to see the commit message text correctly in Unicode, and also I've expected to have the suggested text in my message by pressing Tab.

Additional context

Stacktrace:

java.lang.IndexOutOfBoundsException: Wrong line: 1. Available lines count: 1
 at com.intellij.openapi.editor.impl.LineSet.checkLineIndex(LineSet.java:197)
 at com.intellij.openapi.editor.impl.LineSet.getLineEnd(LineSet.java:191)
 at com.intellij.openapi.editor.impl.DocumentImpl.getLineEndOffset(DocumentImpl.java:1018)
 at com.sourcegraph.utils.CodyEditorUtil.getTextRange(CodyEditorUtil.kt:96)
 at com.sourcegraph.cody.autocomplete.CodyAutocompleteManager.displayAgentAutocomplete(CodyAutocompleteManager.kt:343)
 at com.sourcegraph.cody.autocomplete.CodyAutocompleteManager.processAutocompleteResult$lambda$15$lambda$14(CodyAutocompleteManager.kt:322)
 at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$4(WriteCommandAction.java:338)
 at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:144)
 at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:975)
 at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:142)
 at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:225)
 at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:187)
 at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:151)
 at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:118)
 at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:338)
 at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:326)
 at com.sourcegraph.cody.autocomplete.CodyAutocompleteManager.processAutocompleteResult$lambda$15(CodyAutocompleteManager.kt:321)
 at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
 at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
 at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
 at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
 at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
 at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
 at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
 at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1436)
 at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
 at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
 at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
 at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
 at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
 at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
 at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
 at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
 at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
 at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
 at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
 at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
 at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
 at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
 at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
 at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
 at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
 at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
 at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
 at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
 at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
 at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
 at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
 at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
 at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
 at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
 at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
 at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
 at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
 at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
 at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
 at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
homayoonahmadi commented 4 months ago

Screenshot

01

dominiccooney commented 3 months ago

Thanks for these details! I am working on the boxes hiding the autocomplete text in #1467.

dominiccooney commented 3 months ago

I'm unassigning myself from this, I was looking at the boxes appearing in the inline suggestion, and that is fixed.

The IndexOutOfBoundsExceptions need to be clustered and analyzed.