zielu / GitToolBox

GitToolBox IntelliJ plugin
GNU General Public License v3.0
604 stars 71 forks source link

[BUG] Exception when opening IntelliJ #508

Closed Asteda closed 6 months ago

Asteda commented 8 months ago

Describe the bug I opened a recent project with IntelliJ (File > open recent > new window) and I got this stack trace:

java.lang.AssertionError: null
    at com.intellij.openapi.diagnostic.DefaultLogger.error(DefaultLogger.java:54)
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:432)
    at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.setException(SchedulingWrapper.java:288)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:269)
    at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:272)
    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)
Caused by: java.lang.NullPointerException
    at java.base/java.util.Objects.requireNonNull(Objects.java:209)
    at git4idea.GitVcs.getInstance(GitVcs.java:82)
    at git4idea.commands.GitHandler.<init>(GitHandler.java:141)
    at git4idea.commands.GitHandler.<init>(GitHandler.java:89)
    at git4idea.commands.GitHandler.<init>(GitHandler.java:107)
    at git4idea.commands.GitTextHandler.<init>(GitTextHandler.java:45)
    at git4idea.commands.GitLineHandler.<init>(GitLineHandler.java:57)
    at zielu.gittoolbox.a.a.b.a(SourceFile:20)
    at zielu.gittoolbox.a.a.q.a(SourceFile:72)
    at zielu.gittoolbox.a.a.q.b(SourceFile:44)
    at zielu.gittoolbox.a.a.q.a(SourceFile:28)
    at com.codahale.metrics.Timer.timeSupplier(Timer.java:136)
    at zielu.a.j.a.h.a(SourceFile:14)
    at zielu.gittoolbox.a.a.q.a(SourceFile:27)
    at zielu.gittoolbox.a.a.d.b(SourceFile:68)
    at zielu.gittoolbox.a.a.d.a(SourceFile:48)
    at zielu.gittoolbox.a.S.a(SourceFile:29)
    at zielu.gittoolbox.a.A.a(SourceFile:188)
    at zielu.gittoolbox.a.A.a(SourceFile:154)
    at zielu.gittoolbox.a.B.a(SourceFile:172)
    at zielu.gittoolbox.a.B.invoke(SourceFile:172)
    at zielu.a.j.a.h.b(SourceFile:10)
    at com.codahale.metrics.Timer.timeSupplier(Timer.java:136)
    at zielu.a.j.a.h.a(SourceFile:10)
    at zielu.gittoolbox.a.r.a(SourceFile:36)
    at zielu.gittoolbox.a.A.a(SourceFile:172)
    at zielu.a.b.q.run(SourceFile:10)
    at zielu.a.k.r.run(SourceFile:129)
    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 zielu.gittoolbox.F.h.a(SourceFile:109)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at com.intellij.util.concurrency.ContextCallable.call(ContextCallable.java:29)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    ... 13 more

This stack trace was not blocking and IntelliJ and GitToolBox seem to work fine after the stack trace.

To Reproduce I don't know if this error is reproducible. To get it, from an already-opened IntelliJ window, I made: File > Open recent > (select a recent project) > new window

PS: in the project which was already opened, I updated the URL of the git remote and made a push (which finished successfully). I don't know if it is relevant.

I tried to re-do this action but the stack trace didn't show again.

Expected behavior No stack trace was expected.

Plugin version 500.0.21+222

IDE version OS: Windows 11 Professional, 22H2

IntelliJ IDEA 2023.2.2 (Ultimate Edition) Build #IU-232.9921.47, built on September 12, 2023 Licensed to *** Subscription is active until November 17, 2023. For educational use only. Runtime version: 17.0.8+7-b1000.22 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11.0 GC: G1 Young Generation, G1 Old Generation Memory: 4068M Cores: 8 Registry: ide.experimental.ui=true

Non-Bundled Plugins: zielu.gittoolbox (500.0.21+222)

Kotlin: 232-1.9.0-IJ9921.47

zielu commented 8 months ago

Hi, I'll look into it. These kind of exceptions are threading related so they come and go. I probably missed some place when I was redoing threading. Thanks for reporting.

zielu commented 6 months ago

There were several rounds of under the hood fixes. Closing for now.