anthraxx / intellij-awesome-console

IntelliJ IDEA plugin: awesome console finally makes links in your console at least 200% more awesome!
MIT License
159 stars 40 forks source link

Exception thrown under unknown conditions #69

Closed efine closed 3 years ago

efine commented 3 years ago

In PyCharm 2020.3.2 this exception was reported:

java.lang.Throwable: Regex group 'link' was NULL while trying to match url line: [2021-01-12 07:46:50,904: INFO/ForkPoolWorker-64] Task elation.quality_measures.tasks.push_patient_results_to_reports[f0f8e0da-815c-4f33-a520-6bc50d1dfebd] succeeded in 0.12684686802094802s: None

    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:159)
    at awesome.console.AwesomeLinkFilter.detectURLs(AwesomeLinkFilter.java:286)
    at awesome.console.AwesomeLinkFilter.getResultItemsUrl(AwesomeLinkFilter.java:102)
    at awesome.console.AwesomeLinkFilter.applyFilter(AwesomeLinkFilter.java:71)
    at com.intellij.execution.filters.CompositeFilter.applyFilter(CompositeFilter.java:77)
    at com.intellij.execution.impl.AsyncFilterRunner$HighlighterJob.analyzeLine(AsyncFilterRunner.java:231)
    at com.intellij.execution.impl.AsyncFilterRunner$HighlighterJob.analyzeNextLine(AsyncFilterRunner.java:220)
    at com.intellij.execution.impl.AsyncFilterRunner.runTasks(AsyncFilterRunner.java:148)
    at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
    at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:521)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:468)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:113)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:59)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:59)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:110)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:486)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:208)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
swaros commented 3 years ago

Same happens in IntelliJ while running a shell script configuration. there a multiple jobs running at the same time. (java and shell-scripts) It seems this will be triggered randomly. But most time if i run a second instance of a job they is already running. then it takes round about 10 seconds and the process is killed because of these exceptions.

so i have to disable the plugin for now to get all the jobs running :(

IntelliJ IDEA 2020.3.2 (Community Edition) Build #IC-203.7148.57, built on January 26, 2021 Runtime version: 11.0.9.1+11-b1145.77 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Linux 5.8.18-100.fc31.x86_64 GC: ParNew, ConcurrentMarkSweep Memory: 1931M Cores: 8 Non-Bundled Plugins: CMD Support, awesome.console, com.khmelyuk.multirun, name.kropp.intellij.makefile, Docker, com.dubreuia, org.jetbrains.plugins.hocon, com.thoughtworks.gauge, org.jetbrains.kotlin Current Desktop: GNOME

java.lang.Throwable: Regex group 'link' was NULL while trying to match url line:         event:itemCheck  itemAmount:1   38:43 time:(1.1366)min  
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:159)
    at awesome.console.AwesomeLinkFilter.detectURLs(AwesomeLinkFilter.java:286)
    at awesome.console.AwesomeLinkFilter.getResultItemsUrl(AwesomeLinkFilter.java:102)
    at awesome.console.AwesomeLinkFilter.applyFilter(AwesomeLinkFilter.java:71)
    at com.intellij.execution.filters.CompositeFilter.applyFilter(CompositeFilter.java:77)
    at com.intellij.terminal.JBTerminalWidget.lambda$runFilters$1(JBTerminalWidget.java:87)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:889)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
    at com.intellij.terminal.JBTerminalWidget.runFilters(JBTerminalWidget.java:85)
    at com.intellij.terminal.JBTerminalWidget.lambda$new$0(JBTerminalWidget.java:72)
    at com.jediterm.terminal.model.hyperlinks.TextProcessing.doProcessHyperlinks(TextProcessing.java:64)
    at com.jediterm.terminal.model.hyperlinks.TextProcessing.processHyperlinks(TextProcessing.java:42)
    at com.jediterm.terminal.model.LinesBuffer.writeString(LinesBuffer.java:150)
    at com.jediterm.terminal.model.TerminalTextBuffer.writeString(TerminalTextBuffer.java:229)
    at com.jediterm.terminal.model.TerminalTextBuffer.writeString(TerminalTextBuffer.java:219)
    at com.jediterm.terminal.model.JediTerminal.writeDecodedCharacters(JediTerminal.java:132)
    at com.jediterm.terminal.model.JediTerminal.horizontalTab(JediTerminal.java:280)
    at com.jediterm.terminal.emulator.JediEmulator.processChar(JediEmulator.java:75)
    at com.jediterm.terminal.DataStreamIteratingEmulator.next(DataStreamIteratingEmulator.java:36)
    at com.jediterm.terminal.TerminalStarter.start(TerminalStarter.java:54)
    at com.jediterm.terminal.ui.JediTermWidget$EmulatorTask.run(JediTermWidget.java:361)
    at java.base/java.lang.Thread.run(Thread.java:834)

Following exceptions happened soon after this one, most probably they are induced.

2021-03-11T13:38:44.483
Caught exception in terminal thread
java.lang.RuntimeException: Error while applying awesome.console.AwesomeLinkFilter@4867a61c to '        event:itemCheck  itemAmount:1   38:44 time:(1.1497)min  '
    at com.intellij.execution.filters.CompositeFilter.applyFilter(CompositeFilter.java:83)
    at com.intellij.terminal.JBTerminalWidget.lambda$runFilters$1(JBTerminalWidget.java:87)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:889)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
    at com.intellij.terminal.JBTerminalWidget.runFilters(JBTerminalWidget.java:85)
    at com.intellij.terminal.JBTerminalWidget.lambda$new$0(JBTerminalWidget.java:72)
    at com.jediterm.terminal.model.hyperlinks.TextProcessing.doProcessHyperlinks(TextProcessing.java:64)
    at com.jediterm.terminal.model.hyperlinks.TextProcessing.processHyperlinks(TextProcessing.java:42)
    at com.jediterm.terminal.model.LinesBuffer.writeString(LinesBuffer.java:150)
    at com.jediterm.terminal.model.TerminalTextBuffer.writeString(TerminalTextBuffer.java:229)
    at com.jediterm.terminal.model.TerminalTextBuffer.writeString(TerminalTextBuffer.java:219)
    at com.jediterm.terminal.model.JediTerminal.writeDecodedCharacters(JediTerminal.java:132)
    at com.jediterm.terminal.model.JediTerminal.horizontalTab(JediTerminal.java:280)
    at com.jediterm.terminal.emulator.JediEmulator.processChar(JediEmulator.java:75)
    at com.jediterm.terminal.DataStreamIteratingEmulator.next(DataStreamIteratingEmulator.java:36)
    at com.jediterm.terminal.TerminalStarter.start(TerminalStarter.java:54)
    at com.jediterm.terminal.ui.JediTermWidget$EmulatorTask.run(JediTermWidget.java:361)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.StringIndexOutOfBoundsException: begin 60, end 58, length 64
    at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
    at java.base/java.lang.String.substring(String.java:1874)
    at java.base/java.lang.String.subSequence(String.java:1913)
    at java.base/java.util.regex.Matcher.getSubSequence(Matcher.java:1781)
    at java.base/java.util.regex.Matcher.group(Matcher.java:684)
    at awesome.console.AwesomeLinkFilter.detectPaths(AwesomeLinkFilter.java:264)
    at awesome.console.AwesomeLinkFilter.getResultItemsFile(AwesomeLinkFilter.java:135)
    at awesome.console.AwesomeLinkFilter.applyFilter(AwesomeLinkFilter.java:73)
    at com.intellij.execution.filters.CompositeFilter.applyFilter(CompositeFilter.java:77)
    ... 17 more
anthraxx commented 3 years ago

pin pointed this to a concurrency issue, fix is heading out shortly