Arend icon indicating copy to clipboard operation
Arend copied to clipboard

IAE in IDE

Open ice1000 opened this issue 4 years ago • 6 comments

java.lang.IllegalArgumentException: Illegal Capacity: -4
	at java.base/java.util.ArrayList.<init>(ArrayList.java:158)
	at org.arend.typechecking.visitor.CheckTypeVisitor.checkAllImplemented(CheckTypeVisitor.java:900)
	at org.arend.typechecking.visitor.DefinitionTypechecker.typecheckCoClauses(DefinitionTypechecker.java:660)
	at org.arend.typechecking.visitor.DefinitionTypechecker.typecheckFunctionBody(DefinitionTypechecker.java:890)
	at org.arend.typechecking.visitor.DefinitionTypechecker.visitFunction(DefinitionTypechecker.java:147)
	at org.arend.typechecking.visitor.DefinitionTypechecker.visitFunction(DefinitionTypechecker.java:65)
	at org.arend.term.concrete.Concrete$BaseFunctionDefinition.accept(Concrete.java:1860)
	at org.arend.typechecking.order.listener.TypecheckingOrderingListener.unitFound(TypecheckingOrderingListener.java:219)
	at org.arend.typechecking.order.Ordering.unitFound(Ordering.java:165)
	at org.arend.typechecking.order.Ordering.unitFound(Ordering.java:23)
	at org.arend.typechecking.order.BellmanFord.doOrderRecursively(BellmanFord.java:54)
	at org.arend.typechecking.order.BellmanFord.order(BellmanFord.java:24)
	at org.arend.typechecking.order.Ordering.order(Ordering.java:96)
	at org.arend.typechecking.order.listener.TypecheckingOrderingListener.lambda$typecheckDefinitions$0(TypecheckingOrderingListener.java:99)
	at org.arend.typechecking.computation.ComputationRunner.run(ComputationRunner.java:33)
	at org.arend.typechecking.order.listener.TypecheckingOrderingListener.typecheckDefinitions(TypecheckingOrderingListener.java:96)
	at org.arend.highlight.BackgroundTypecheckerPass$typecheckDefinition$$inlined$let$lambda$1.invoke(BackgroundTypecheckerPass.kt:69)
	at org.arend.highlight.BackgroundTypecheckerPass$typecheckDefinition$$inlined$let$lambda$1.invoke(BackgroundTypecheckerPass.kt:26)
	at org.arend.typechecking.DefinitionBlacklistService.runTimed(DefinitionBlacklistService.kt:24)
	at org.arend.highlight.BackgroundTypecheckerPass.typecheckDefinition(BackgroundTypecheckerPass.kt:68)
	at org.arend.highlight.BackgroundTypecheckerPass.collectInfo(BackgroundTypecheckerPass.kt:108)
	at org.arend.highlight.BaseGroupPass.collectInformationWithProgress(BaseGroupPass.kt:47)
	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:52)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:434)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1106)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:427)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:625)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:570)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:426)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:402)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:168)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:168)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:400)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:171)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Though it's happened in the IDE, the stacktrace indicates that it's in the compiler. So I reported it here.

ice1000 avatar Jun 13 '20 17:06 ice1000

I think it's caused by broken bin files.

valis avatar Jun 13 '20 17:06 valis

or by broken caches in IDE.

valis avatar Jun 13 '20 17:06 valis

Yes, but probably we should be more error tolerant? (This error is happened after a set of normal IDE operations, so it can happen to users as well)

ice1000 avatar Jun 14 '20 05:06 ice1000

Yes, it happens a lot. We have a bunch of issues that are intendent to fix this.

valis avatar Jun 14 '20 20:06 valis

Added error handling for this

ice1000 avatar Sep 23 '20 21:09 ice1000

java.lang.IllegalArgumentException: Too many implemented fields (expected 3): {A=a = a', contraction=Jl {A} {a} (\lam (x : A) => (=) (inv {A} {a} {a} (p a a) *> p a x)) (inv_*> {A} {a} {a} (p a a)) {a'}, A=a = a', center=inv {A} {a} {a} (p a a) *> p a a', contraction=Jl {A} {a} (\lam (x : A) => (=) (inv {A} {a} {a} (p a a) *> p a x)) (inv_*> {A} {a} {a} (p a a)) {a'}, center=inv {A} {a} {a} (p a a) *> p a a'}
	at org.arend.typechecking.visitor.CheckTypeVisitor.checkAllImplemented(CheckTypeVisitor.java:1193)
	at org.arend.typechecking.visitor.CheckTypeVisitor.visitNew(CheckTypeVisitor.java:1180)
	at org.arend.typechecking.visitor.CheckTypeVisitor.visitNew(CheckTypeVisitor.java:92)
	at org.arend.term.concrete.Concrete$NewExpression.accept(Concrete.java:753)
	at org.arend.typechecking.visitor.CheckTypeVisitor.checkExpr(CheckTypeVisitor.java:606)
	at org.arend.typechecking.visitor.DefinitionTypechecker.typecheckFunctionBody(DefinitionTypechecker.java:1068)
	at org.arend.typechecking.visitor.DefinitionTypechecker.visitFunction(DefinitionTypechecker.java:158)
	at org.arend.typechecking.visitor.DefinitionTypechecker.visitFunction(DefinitionTypechecker.java:64)
	at org.arend.term.concrete.Concrete$BaseFunctionDefinition.accept(Concrete.java:2086)
	at org.arend.typechecking.order.listener.TypecheckingOrderingListener.unitFound(TypecheckingOrderingListener.java:222)
	at org.arend.typechecking.order.listener.CollectingOrderingListener$MyUnit.feedTo(CollectingOrderingListener.java:49)
	at org.arend.typechecking.BackgroundTypechecker$typecheckDefinition$ok$1$1.get(BackgroundTypechecker.kt:86)
	at org.arend.typechecking.BackgroundTypechecker$typecheckDefinition$ok$1$1.get(BackgroundTypechecker.kt:20)
	at org.arend.typechecking.computation.ComputationRunner.run(ComputationRunner.java:37)
	at org.arend.typechecking.computation.BooleanComputationRunner.run(BooleanComputationRunner.java:8)
	at org.arend.typechecking.BackgroundTypechecker$typecheckDefinition$ok$1.invoke(BackgroundTypechecker.kt:85)
	at org.arend.typechecking.BackgroundTypechecker$typecheckDefinition$ok$1.invoke(BackgroundTypechecker.kt:20)
	at org.arend.typechecking.DefinitionBlacklistService.runTimed(DefinitionBlacklistService.kt:25)
	at org.arend.typechecking.BackgroundTypechecker.typecheckDefinition(BackgroundTypechecker.kt:84)
	at org.arend.typechecking.BackgroundTypechecker.runTypechecker(BackgroundTypechecker.kt:64)
	at org.arend.highlight.ArendHighlightingPass$applyInformationWithProgress$2.invoke(ArendHighlightingPass.kt:201)
	at org.arend.highlight.ArendHighlightingPass$applyInformationWithProgress$2.invoke(ArendHighlightingPass.kt:34)
	at org.arend.typechecking.TypecheckingTaskQueue$addTask$2.run(TypecheckingTaskQueue.kt:43)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:268)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	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)

ice1000 avatar Oct 09 '20 20:10 ice1000