intellij-plugin-java-cfr icon indicating copy to clipboard operation
intellij-plugin-java-cfr copied to clipboard

DecompilerAction.getVirtualClassFile freezes UI thread for 55 seconds

Open viuginick opened this issue 8 months ago • 1 comments

idv.freddie.intellij.plugin.DecompilerAction.update(DecompilerAction.kt:135) [55200ms]
idv.freddie.intellij.plugin.DecompilerAction.isShowAction(DecompilerAction.kt:144) [55200ms]
idv.freddie.intellij.plugin.DecompilerAction.getVirtualClassFile(DecompilerAction.kt:206) [55200ms]
+ idv.freddie.intellij.plugin.DecompilerAction.findVirtualFile(DecompilerAction.kt:225) [32400ms]
  kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:773) [32400ms]
  kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:782) [32400ms]
  kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:752) [32400ms]
  kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194) [32300ms]
  + kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:169) [30200ms]
    kotlin.collections.AbstractIterator.hasNext(AbstractIterator.kt:29) [30100ms]
    kotlin.collections.AbstractIterator.tryToComputeNext(AbstractIterator.kt:42) [30100ms]
    kotlin.io.FileTreeWalk$FileTreeWalkIterator.computeNext(FileTreeWalk.kt:80) [30100ms]
    + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:105) [19400ms]
      [email protected]/java.io.File.isDirectory(Unknown Source) [19400ms]
      [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [19400ms]
      [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [19400ms]
    + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:98) [10100ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.step(FileTreeWalk.kt:177) [10100ms]
      [email protected]/java.io.File.listFiles(Unknown Source) [10100ms]
      [email protected]/java.io.File.normalizedList(Unknown Source) [10100ms]
      [email protected]/java.io.UnixFileSystem.list(Unknown Source) [10100ms]
      [email protected]/java.io.UnixFileSystem.list0(Native Method) [10100ms]
    + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:110) [600ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator.directoryState(FileTreeWalk.kt:90) [600ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.<init>(FileTreeWalk.kt:156) [600ms]
      kotlin.io.FileTreeWalk$DirectoryState.<init>(FileTreeWalk.kt:62) [600ms]
      [email protected]/java.io.File.isDirectory(Unknown Source) [600ms]
      [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [600ms]
      [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [600ms]
  + kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:171) [2100ms]
    idv.freddie.intellij.plugin.DecompilerAction$findVirtualFile$1$1.invoke(DecompilerAction.kt:33) [2100ms]
    idv.freddie.intellij.plugin.DecompilerAction$findVirtualFile$1$1.invoke(DecompilerAction.kt:224) [2100ms]
    [email protected]/java.io.File.isDirectory(Unknown Source) [2100ms]
    [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [2100ms]
    [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [2100ms]
+ idv.freddie.intellij.plugin.DecompilerAction.findVirtualFile(DecompilerAction.kt:230) [22600ms]
  kotlin.collections.AbstractIterator.hasNext(AbstractIterator.kt:29) [22500ms]
  kotlin.collections.AbstractIterator.tryToComputeNext(AbstractIterator.kt:42) [22500ms]
  kotlin.io.FileTreeWalk$FileTreeWalkIterator.computeNext(FileTreeWalk.kt:80) [22500ms]
  + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:105) [14500ms]
    [email protected]/java.io.File.isDirectory(Unknown Source) [14500ms]
    [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [14500ms]
    [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [14500ms]
  + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:98) [7700ms]
    kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.step(FileTreeWalk.kt:177) [7700ms]
    [email protected]/java.io.File.listFiles(Unknown Source) [7700ms]
    [email protected]/java.io.File.normalizedList(Unknown Source) [7700ms]
    [email protected]/java.io.UnixFileSystem.list(Unknown Source) [7700ms]
    [email protected]/java.io.UnixFileSystem.list0(Native Method) [7700ms]
  + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:110) [300ms]
    kotlin.io.FileTreeWalk$FileTreeWalkIterator.directoryState(FileTreeWalk.kt:90) [300ms]
    kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.<init>(FileTreeWalk.kt:156) [300ms]
    kotlin.io.FileTreeWalk$DirectoryState.<init>(FileTreeWalk.kt:62) [300ms]
    [email protected]/java.io.File.isDirectory(Unknown Source) [300ms]
    [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [300ms]
    [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [300ms]

viuginick avatar May 17 '25 20:05 viuginick

And one more snapshot:

com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$success$1$1$1.invoke(ActionUpdater.kt:511) [48000ms]
com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.kt:254) [48000ms]
com.intellij.openapi.actionSystem.ex.ActionUtil$$Lambda/0x0000000800e2d608.invoke(Unknown Source) [48000ms]
com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate$lambda$2(ActionUtil.kt:236) [48000ms]
idv.freddie.intellij.plugin.DecompilerAction.update(DecompilerAction.kt:135) [48000ms]
+ idv.freddie.intellij.plugin.DecompilerAction.isShowAction(DecompilerAction.kt:144) [26900ms]
  idv.freddie.intellij.plugin.DecompilerAction.getVirtualClassFile(DecompilerAction.kt:206) [26900ms]
  + idv.freddie.intellij.plugin.DecompilerAction.findVirtualFile(DecompilerAction.kt:230) [26200ms]
    kotlin.collections.AbstractIterator.hasNext(AbstractIterator.kt:29) [26200ms]
    kotlin.collections.AbstractIterator.tryToComputeNext(AbstractIterator.kt:42) [26200ms]
    kotlin.io.FileTreeWalk$FileTreeWalkIterator.computeNext(FileTreeWalk.kt:80) [26200ms]
    + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:105) [16200ms]
      [email protected]/java.io.File.isDirectory(Unknown Source) [16200ms]
      [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [16200ms]
      [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [16200ms]
    + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:98) [9900ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.step(FileTreeWalk.kt:177) [9900ms]
      [email protected]/java.io.File.listFiles(Unknown Source) [9900ms]
      [email protected]/java.io.File.normalizedList(Unknown Source) [9900ms]
      [email protected]/java.io.UnixFileSystem.list(Unknown Source) [9900ms]
      [email protected]/java.io.UnixFileSystem.list0(Native Method) [9900ms]
  + idv.freddie.intellij.plugin.DecompilerAction.findVirtualFile(DecompilerAction.kt:231) [700ms]
    idv.freddie.intellij.plugin.DecompilerAction.compareClassFileName(DecompilerAction.kt:246) [500ms]
    kotlin.text.StringsKt__StringsKt.split$default(Strings.kt:1202) [500ms]
+ idv.freddie.intellij.plugin.DecompilerAction.isShowAction(DecompilerAction.kt:146) [21100ms]
  idv.freddie.intellij.plugin.DecompilerAction.getVirtualClassFile(DecompilerAction.kt:213) [21100ms]
  + idv.freddie.intellij.plugin.DecompilerAction.findVirtualFile(DecompilerAction.kt:230) [20800ms]
    + kotlin.collections.AbstractIterator.hasNext(AbstractIterator.kt:29) [20400ms]
      kotlin.collections.AbstractIterator.tryToComputeNext(AbstractIterator.kt:42) [20400ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator.computeNext(FileTreeWalk.kt:80) [20400ms]
      + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:105) [12200ms]
        [email protected]/java.io.File.isDirectory(Unknown Source) [12200ms]
        [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [12200ms]
        [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [12200ms]
      + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:98) [7500ms]
        kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.step(FileTreeWalk.kt:177) [7500ms]
        [email protected]/java.io.File.listFiles(Unknown Source) [7500ms]
        [email protected]/java.io.File.normalizedList(Unknown Source) [7300ms]
        [email protected]/java.io.UnixFileSystem.list(Unknown Source) [7300ms]
        [email protected]/java.io.UnixFileSystem.list0(Native Method) [7300ms]
      + kotlin.io.FileTreeWalk$FileTreeWalkIterator.gotoNext(FileTreeWalk.kt:110) [700ms]
        kotlin.io.FileTreeWalk$FileTreeWalkIterator.directoryState(FileTreeWalk.kt:90) [700ms]
        kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.<init>(FileTreeWalk.kt:156) [700ms]
        kotlin.io.FileTreeWalk$DirectoryState.<init>(FileTreeWalk.kt:62) [700ms]
        [email protected]/java.io.File.isDirectory(Unknown Source) [700ms]
        [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [700ms]
        [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [700ms]
    + kotlin.io.FileTreeWalk.iterator(FileTreeWalk.kt:50) [400ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator.<init>(FileTreeWalk.kt:73) [400ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator.directoryState(FileTreeWalk.kt:90) [400ms]
      kotlin.io.FileTreeWalk$FileTreeWalkIterator$TopDownDirectoryState.<init>(FileTreeWalk.kt:156) [400ms]
      kotlin.io.FileTreeWalk$DirectoryState.<init>(FileTreeWalk.kt:62) [400ms]
      [email protected]/java.io.File.isDirectory(Unknown Source) [400ms]
      [email protected]/java.io.UnixFileSystem.hasBooleanAttributes(Unknown Source) [400ms]
      [email protected]/java.io.UnixFileSystem.getBooleanAttributes0(Native Method) [400ms]
  + idv.freddie.intellij.plugin.DecompilerAction.findVirtualFile(DecompilerAction.kt:231) [300ms]
    idv.freddie.intellij.plugin.DecompilerAction.compareClassFileName(DecompilerAction.kt:246) [300ms]
    kotlin.text.StringsKt__StringsKt.split$default(Strings.kt:1202) [300ms]
    kotlin.text.StringsKt__StringsKt.split(Strings.kt:1206) [300ms]
    kotlin.text.StringsKt__StringsKt.split$StringsKt__StringsKt(Strings.kt:1263) [300ms]

viuginick avatar May 17 '25 20:05 viuginick