zielu / GitToolBox

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

[BUG] NPE on Idea startup #424

Closed asampal closed 1 year ago

asampal commented 1 year ago

Describe the bug The following NPE was thrown on Idea startup:

Not disposed

CompositeException (3 nested):
------------------------------
[1]: java.lang.RuntimeException: Cannot invoke (class=CacheSourcesSubscriberFileChangesListener, method=after, topic=Git ToolBox File Changes)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:639)
    at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:395)
    at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:374)
    at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
    at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:433)
    at jdk.proxy9/jdk.proxy9.$Proxy214.after(Unknown Source)
    at zielu.gittoolbox.cache.CacheSourcesAppSubscriber$after$task$1.invoke(CacheSourcesAppSubscriber.kt:29)
    at zielu.gittoolbox.cache.CacheSourcesAppSubscriber$after$task$1.invoke(CacheSourcesAppSubscriber.kt:28)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$Companion$fromKt$runnable$1.run(ZDisposableRunnableWrapper.kt:49)
    at zielu.intellij.concurrent.DisposeSafe.handleSafely(DisposeSafe.kt:11)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$run$1.invoke(ZDisposableRunnableWrapper.kt:21)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$run$1.invoke(ZDisposableRunnableWrapper.kt:18)
    at zielu.intellij.util.ZDisposeGuard.ifActive(ZDisposeGuard.kt:23)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper.run(ZDisposableRunnableWrapper.kt:18)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    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.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because "it" is null
    at zielu.gittoolbox.cache.CacheSourcesSubscriber.afterFilesChanged(CacheSourcesSubscriber.kt:54)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener$after$1.invoke(CacheSourcesSubscriberListeners.kt:52)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener$after$1.invoke(CacheSourcesSubscriberListeners.kt:51)
    at zielu.gittoolbox.util.ProjectMessageBusListener.handleEvent(ProjectMessageBusListener.kt:12)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener.after(CacheSourcesSubscriberListeners.kt:51)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:655)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:621)
    ... 18 more

[2]: java.lang.RuntimeException: Cannot invoke (class=CacheSourcesSubscriberFileChangesListener, method=after, topic=Git ToolBox File Changes)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:639)
    at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:395)
    at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:374)
    at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
    at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:433)
    at jdk.proxy9/jdk.proxy9.$Proxy214.after(Unknown Source)
    at zielu.gittoolbox.cache.CacheSourcesAppSubscriber$after$task$1.invoke(CacheSourcesAppSubscriber.kt:29)
    at zielu.gittoolbox.cache.CacheSourcesAppSubscriber$after$task$1.invoke(CacheSourcesAppSubscriber.kt:28)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$Companion$fromKt$runnable$1.run(ZDisposableRunnableWrapper.kt:49)
    at zielu.intellij.concurrent.DisposeSafe.handleSafely(DisposeSafe.kt:11)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$run$1.invoke(ZDisposableRunnableWrapper.kt:21)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$run$1.invoke(ZDisposableRunnableWrapper.kt:18)
    at zielu.intellij.util.ZDisposeGuard.ifActive(ZDisposeGuard.kt:23)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper.run(ZDisposableRunnableWrapper.kt:18)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    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.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because "it" is null
    at zielu.gittoolbox.cache.CacheSourcesSubscriber.afterFilesChanged(CacheSourcesSubscriber.kt:54)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener$after$1.invoke(CacheSourcesSubscriberListeners.kt:52)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener$after$1.invoke(CacheSourcesSubscriberListeners.kt:51)
    at zielu.gittoolbox.util.ProjectMessageBusListener.handleEvent(ProjectMessageBusListener.kt:12)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener.after(CacheSourcesSubscriberListeners.kt:51)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:655)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:621)
    ... 18 more

[3]: java.lang.RuntimeException: Cannot invoke (class=CacheSourcesSubscriberFileChangesListener, method=after, topic=Git ToolBox File Changes)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:639)
    at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:395)
    at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:374)
    at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
    at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:433)
    at jdk.proxy9/jdk.proxy9.$Proxy214.after(Unknown Source)
    at zielu.gittoolbox.cache.CacheSourcesAppSubscriber$after$task$1.invoke(CacheSourcesAppSubscriber.kt:29)
    at zielu.gittoolbox.cache.CacheSourcesAppSubscriber$after$task$1.invoke(CacheSourcesAppSubscriber.kt:28)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$Companion$fromKt$runnable$1.run(ZDisposableRunnableWrapper.kt:49)
    at zielu.intellij.concurrent.DisposeSafe.handleSafely(DisposeSafe.kt:11)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$run$1.invoke(ZDisposableRunnableWrapper.kt:21)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper$run$1.invoke(ZDisposableRunnableWrapper.kt:18)
    at zielu.intellij.util.ZDisposeGuard.ifActive(ZDisposeGuard.kt:23)
    at zielu.intellij.concurrent.ZDisposableRunnableWrapper.run(ZDisposableRunnableWrapper.kt:18)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    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.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because "it" is null
    at zielu.gittoolbox.cache.CacheSourcesSubscriber.afterFilesChanged(CacheSourcesSubscriber.kt:54)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener$after$1.invoke(CacheSourcesSubscriberListeners.kt:52)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener$after$1.invoke(CacheSourcesSubscriberListeners.kt:51)
    at zielu.gittoolbox.util.ProjectMessageBusListener.handleEvent(ProjectMessageBusListener.kt:12)
    at zielu.gittoolbox.cache.CacheSourcesSubscriberFileChangesListener.after(CacheSourcesSubscriberListeners.kt:51)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:655)
    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:621)
    ... 18 more

------------------------------

To Reproduce Steps to reproduce the behavior: No idea how to reproduce

Expected behavior Should not get exceptions on startup, especially NPE's

Plugin version 212.10.0

IDE version IntelliJ IDEA 2022.3 Beta (Ultimate Edition) Build #IU-223.7571.4, built on November 9, 2022 Licensed to IntelliJ IDEA EAP user: Adrian Sampaleanu Expiration date: December 9, 2022 Runtime version: 17.0.5+1-b653.6 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 3072M Cores: 12 Registry: debugger.watches.in.variables=false debugger.new.tool.window.layout=true ide.experimental.ui=true eslint.additional.file.extensions=svelte js.debugger.webconsole=false

Non-Bundled Plugins: cn.haojiyou.CodeGlance3 (2.1.1-2021.1.3) com.fwdekker.randomness (2.7.5) ideanginx9 (0.1.9) org.intellij.plugins.hcl (223.7571.10) com.andrewbrookins.wrap_to_column (1.8.0) quokka.js (1.0.364) AceJump (3.8.8) com.intellij.kubernetes (223.7571.10) EclipseCodeFormatter (22.0.203.000.0-Eclipse_2021-09) VisualVMLauncher (1.21.211.6085.0) String Manipulation (9.6.1) GrepConsole (12.15.211.6693.1) PlantUML integration (5.19) net.seesharpsoft.intellij.plugins.csv (3.0.1-223) dev.blachut.svelte.lang (223.7571.10) izhangzhihao.rainbow.brackets (2022.3.4) zielu.gittoolbox (212.10.0) com.intellij.plugins.html.instantEditing (223.7571.10)

Kotlin: 223-1.7.20-release-201-IJ7571.4

Screenshots None available

zielu commented 1 year ago

On it

zielu commented 1 year ago

Done in 212.10.1