anthraxx/intellij-awesome-console

Exception thrown under unknown conditions

efine opened this issue · 2 comments

efine commented

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)

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

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