JetBrains / idea-gitignore

.ignore support plugin for IntelliJ IDEA
Apache License 2.0
1.29k stars 177 forks source link

Exception 'NoSuchElementException: Array is empty' in 'actions.IgnoreFileGroupAction' #845

Closed ivanpajic closed 1 year ago

ivanpajic commented 1 year ago

Prerequisites

Description

JetBrains Rider 2023.2 Build RD-232.8453.124 Date 2023-06-30T10:07:42.947+0000

--- JAVA_EXCEPTION ---
  IgnoreFileGroupAction#update@EditorPopup(preload-bgt) (mobi.hsz.idea.gitignore.actions.IgnoreFileGroupAction), actionId=Ignore.IgnoreGroup, text='Add to ignore file'

```stacktrace
  java.util.NoSuchElementException: Array is empty.
at kotlin.collections.ArraysKt___ArraysKt.first(_Arrays.kt:1012)
at mobi.hsz.idea.gitignore.util.Utils.getModuleRootForFile(Utils.kt:106)
at mobi.hsz.idea.gitignore.actions.IgnoreFileGroupAction.update(IgnoreFileGroupAction.kt:63)
at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:159)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:182)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:740)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$updateActionReal$4(ActionUpdater.java:145)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$callAction$5(ActionUpdater.java:195)
at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.computeWithSpan(trace.kt:171)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:191)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:170)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.updateActionReal(ActionUpdater.java:146)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$0(ActionUpdater.java:132)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:725)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:566)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$22(ActionUpdater.java:531)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1539)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:531)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:315)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$14(ActionUpdater.java:382)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$15(ActionUpdater.java:403)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$tryRunReadActionAndCancelBeforeWrite$19(ActionUpdater.java:435)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:133)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.tryRunReadActionAndCancelBeforeWrite(ActionUpdater.java:431)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$16(ActionUpdater.java:403)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:360)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$17(ActionUpdater.java:402)
at io.opentelemetry.context.Context.lambda$wrap$1(Context.java:212)
at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:24)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:249)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:227)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:215)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)

last.action = null
plugin.name = .ignore
plugin.version = 4.5.1

app.eap = true
app.internal = false
app.build = RD-232.8453.124
app.version.major = 2023
app.version.minor = 2
app.build.date = 2023-06-30T10:07:42.947+0000
app.build.date.release = 2023-08-02T00:00:42.947+0000
app.build.date.release = 2023-08-02T00:00:42.947+0000
app.product.code = RD

os.name = Windows
os.cpu.arch = amd64
java.version = 17.0.7
java.vm.vendor = JetBrains s.r.o.

UIUtil.isRetina = false
JBUI.isHiDPI() = false
ImageScaleFactor = 1

netcore = true

.NET Core v7.0.7 x64 (Server GC)

Original issue reported: https://youtrack.jetbrains.com/issue/IDEA-324447

Versions

Plugin:

plugin.name = .ignore
plugin.version = 4.5.1

IDE:

app.eap = true
app.internal = false
app.build = RD-232.8453.124
app.version.major = 2023
app.version.minor = 2
app.build.date = 2023-06-30T10:07:42.947+0000
app.build.date.release = 2023-08-02T00:00:42.947+0000
app.build.date.release = 2023-08-02T00:00:42.947+0000
app.product.code = RD

OS:

os.name = Windows
os.cpu.arch = amd64
java.version = 17.0.7
java.vm.vendor = JetBrains s.r.o.
hsz commented 1 year ago

Thanks for creating an issue!

Already fixed with 13bb48406bd547c41a0544d6ef6cc0db13040be1

It'll be released soon as 4.5.2