crazyproger / Tabdir

IntelliJ IDEA plugin for adding path chunks to file tabs
32 stars 12 forks source link

IDE shows execption caused by Tabdir plugin on startup #29

Open Arkemlar opened 1 year ago

Arkemlar commented 1 year ago

Updated to recent PhpStorm 2022.2 Build #PS-222.3345.135, built on July 28, 2022 and started to get exception notice in PHPStorm on every startup. IDE works, plugin works too, but exceptions are bad. Here is exception trace:

java.lang.Throwable: Assertion failed
    at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:220)
    at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:229)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.doFindChildById(VirtualDirectoryImpl.java:558)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecords$1ParentFinder.findChild(FSRecords.java:539)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecords$1ParentFinder.findDescendantByIdPath(FSRecords.java:531)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecords.findFileById(FSRecords.java:551)
    at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.findFileById(PersistentFSImpl.java:1436)
    at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.findFileById(PersistentFSImpl.java:58)
    at com.intellij.util.indexing.FileBasedIndexScanUtil.processFilesContainingAnyKey(FileBasedIndexScanUtil.java:244)
    at com.intellij.util.indexing.FileBasedIndexScanUtil.getContainingFiles(FileBasedIndexScanUtil.java:63)
    at com.intellij.util.indexing.FileBasedIndexImpl.getContainingFiles(FileBasedIndexImpl.java:1113)
    at ru.crazycoder.plugins.tabdir.SameFilenameTitleProvider.titleWithDiffs(SameFilenameTitleProvider.java:123)
    at ru.crazycoder.plugins.tabdir.SameFilenameTitleProvider.getEditorTabTitleInternal(SameFilenameTitleProvider.java:74)
    at ru.crazycoder.plugins.tabdir.SameFilenameTitleProvider.getEditorTabTitle(SameFilenameTitleProvider.java:59)
    at com.intellij.openapi.fileEditor.impl.EditorTabPresentationUtil.getCustomEditorTabTitle(EditorTabPresentationUtil.java:34)
    at com.intellij.openapi.fileEditor.impl.EditorTabPresentationUtil.getEditorTabTitle(EditorTabPresentationUtil.java:19)
    at com.intellij.openapi.fileEditor.impl.EditorWindow.lambda$updateFileName$12(EditorWindow.java:1112)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:536)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:501)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:75)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:115)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:66)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:66)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:112)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:75)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:501)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:206)
    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)
Arkemlar commented 1 year ago

@crazyproger any chances to see fix soon?

vlascik commented 1 month ago

There is now a fork of this addon at https://plugins.jetbrains.com/plugin/24528-tabdir-redux , should be approved in 2 days. The repo is at https://github.com/vlascik/Tabdir.

This exception should be fixed there.

I also added an option to use Regex replacements on tab titles and "empty path replacement" for situations where folder shortening ends up in an empty string.

Users will have to uninstall this version before installing a new one.