Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple ConcurrentModificationExceptions associated with ArendMessagesView #542

Open
sxhya opened this issue Jul 30, 2024 · 0 comments
Open
Assignees
Labels

Comments

@sxhya
Copy link
Collaborator

sxhya commented Jul 30, 2024

Here are 3 exceptions I got from routine working with plugin (I used Arend Messages View to view goals and error messages). The noticeable problem was that baloons which appear over goals stopped working at some point.

java.util.ConcurrentModificationException
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1221)
	at org.arend.injection.actions.NormalizationCache.getNormalizedExpression(NormalizationCache.kt:11)
	at org.arend.injection.actions.RevealingUtilsKt$withNormalizedTerms$1.invoke(RevealingUtils.kt:12)
	at org.arend.injection.actions.RevealingUtilsKt$withNormalizedTerms$1.invoke(RevealingUtils.kt:12)
	at org.arend.injection.actions.DocMapper.visitTerm(RevealingUtils.kt:49)
	at org.arend.injection.actions.DocMapper.visitTerm(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.TermDoc.accept(TermDoc.java:48)
	at org.arend.injection.actions.DocMapper.visitHang(RevealingUtils.kt:29)
	at org.arend.injection.actions.DocMapper.visitHang(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.HangDoc.accept(HangDoc.java:41)
	at org.arend.injection.actions.DocMapper.visitVList(RevealingUtils.kt:17)
	at org.arend.injection.actions.DocMapper.visitVList(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.VListDoc.accept(VListDoc.java:23)
	at org.arend.injection.actions.DocMapper.visitHang(RevealingUtils.kt:29)
	at org.arend.injection.actions.DocMapper.visitHang(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.HangDoc.accept(HangDoc.java:41)
	at org.arend.injection.actions.DocMapper.visitVList(RevealingUtils.kt:17)
	at org.arend.injection.actions.DocMapper.visitVList(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.VListDoc.accept(VListDoc.java:23)
	at org.arend.injection.actions.RevealingUtilsKt.withNormalizedTerms(RevealingUtils.kt:12)
	at org.arend.injection.InjectedArendEditor.getDoc(InjectedArendEditor.kt:260)
	at org.arend.toolWindow.errors.ArendMessagesView.updateEditors$lambda$13$lambda$12(ArendMessagesView.kt:209)
	at com.intellij.openapi.application.ActionsKt.runReadAction$lambda$3(actions.kt:31)
	at com.intellij.openapi.application.impl.RwLockHolder.runReadAction(RwLockHolder.kt:271)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:845)
	at com.intellij.openapi.application.ActionsKt.runReadAction(actions.kt:31)
	at org.arend.toolWindow.errors.ArendMessagesView.updateEditors$lambda$13(ArendMessagesView.kt:200)
	at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	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:840)
java.util.ConcurrentModificationException
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1221)
	at org.arend.injection.actions.NormalizationCache.getNormalizedExpression(NormalizationCache.kt:11)
	at org.arend.injection.actions.RevealingUtilsKt$withNormalizedTerms$1.invoke(RevealingUtils.kt:12)
	at org.arend.injection.actions.RevealingUtilsKt$withNormalizedTerms$1.invoke(RevealingUtils.kt:12)
	at org.arend.injection.actions.DocMapper.visitTerm(RevealingUtils.kt:49)
	at org.arend.injection.actions.DocMapper.visitTerm(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.TermDoc.accept(TermDoc.java:48)
	at org.arend.injection.actions.DocMapper.visitHang(RevealingUtils.kt:29)
	at org.arend.injection.actions.DocMapper.visitHang(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.HangDoc.accept(HangDoc.java:41)
	at org.arend.injection.actions.DocMapper.visitVList(RevealingUtils.kt:17)
	at org.arend.injection.actions.DocMapper.visitVList(RevealingUtils.kt:15)
	at org.arend.ext.prettyprinting.doc.VListDoc.accept(VListDoc.java:23)
	at org.arend.injection.actions.RevealingUtilsKt.withNormalizedTerms(RevealingUtils.kt:12)
	at org.arend.injection.InjectedArendEditor.getDoc(InjectedArendEditor.kt:260)
	at org.arend.toolWindow.errors.ArendMessagesView.updateEditors$lambda$13$lambda$12(ArendMessagesView.kt:209)
	at com.intellij.openapi.application.ActionsKt.runReadAction$lambda$3(actions.kt:31)
	at com.intellij.openapi.application.impl.RwLockHolder.runReadAction(RwLockHolder.kt:271)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:845)
	at com.intellij.openapi.application.ActionsKt.runReadAction(actions.kt:31)
	at org.arend.toolWindow.errors.ArendMessagesView.updateEditors$lambda$13(ArendMessagesView.kt:200)
	at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	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:840)
java.util.ConcurrentModificationException
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1221)
	at org.arend.extImpl.definitionRenamer.CachingDefinitionRenamer.renameDefinition(CachingDefinitionRenamer.java:21)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:130)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.visitor.BaseExpressionVisitor.visitFieldCall(BaseExpressionVisitor.java:25)
	at org.arend.core.expr.FieldCallExpression.accept(FieldCallExpression.java:94)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitApp(VoidExpressionVisitor.java:17)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitApp(VoidExpressionVisitor.java:13)
	at org.arend.core.expr.AppExpression.accept(AppExpression.java:78)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitApp(VoidExpressionVisitor.java:16)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitApp(VoidExpressionVisitor.java:13)
	at org.arend.core.expr.AppExpression.accept(AppExpression.java:78)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.lambda$visitLam$1(CollectFreeVariablesVisitor.java:76)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitParameters(CollectFreeVariablesVisitor.java:51)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitParameters(CollectFreeVariablesVisitor.java:58)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitLam(CollectFreeVariablesVisitor.java:76)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitLam(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.LamExpression.accept(LamExpression.java:69)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitDefCall(VoidExpressionVisitor.java:24)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:137)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.visitor.BaseExpressionVisitor.visitFunCall(BaseExpressionVisitor.java:10)
	at org.arend.core.expr.FunCallExpression.accept(FunCallExpression.java:105)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitDefCall(VoidExpressionVisitor.java:24)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:137)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.visitor.BaseExpressionVisitor.visitFieldCall(BaseExpressionVisitor.java:25)
	at org.arend.core.expr.FieldCallExpression.accept(FieldCallExpression.java:94)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitDefCall(VoidExpressionVisitor.java:24)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:137)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.visitor.BaseExpressionVisitor.visitDataCall(BaseExpressionVisitor.java:20)
	at org.arend.core.expr.DataCallExpression.accept(DataCallExpression.java:63)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.lambda$visitPi$2(CollectFreeVariablesVisitor.java:82)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitParameters(CollectFreeVariablesVisitor.java:51)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitParameters(CollectFreeVariablesVisitor.java:58)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitPi(CollectFreeVariablesVisitor.java:82)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitPi(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.PiExpression.accept(PiExpression.java:114)
	at org.arend.core.expr.visitor.VoidExpressionVisitor.visitDefCall(VoidExpressionVisitor.java:24)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:137)
	at org.arend.term.prettyprint.CollectFreeVariablesVisitor.visitDefCall(CollectFreeVariablesVisitor.java:18)
	at org.arend.core.expr.visitor.BaseExpressionVisitor.visitFunCall(BaseExpressionVisitor.java:10)
	at org.arend.core.expr.FunCallExpression.accept(FunCallExpression.java:105)
	at org.arend.term.prettyprint.ToAbstractVisitor.convert(ToAbstractVisitor.java:110)
	at org.arend.term.prettyprint.ToAbstractVisitor.convert(ToAbstractVisitor.java:93)
	at org.arend.term.prettyprint.ToAbstractVisitor.convert(ToAbstractVisitor.java:85)
	at org.arend.core.expr.Expression.prettyPrint(Expression.java:104)
	at org.arend.ext.prettyprinting.doc.TermDoc.getString(TermDoc.java:37)
	at org.arend.ext.prettyprinting.doc.CachingDoc.getText(CachingDoc.java:17)
	at org.arend.ext.prettyprinting.doc.CachingDoc.isSingleLine(CachingDoc.java:48)
	at org.arend.ext.prettyprinting.doc.HangDoc.linearize(HangDoc.java:93)
	at org.arend.ext.prettyprinting.doc.VListDoc.linearize(VListDoc.java:85)
	at org.arend.ext.prettyprinting.doc.HangDoc.linearize(HangDoc.java:86)
	at org.arend.ext.prettyprinting.doc.VListDoc.linearize(VListDoc.java:85)
	at org.arend.ext.prettyprinting.doc.Doc.linearize(Doc.java:23)
	at org.arend.ext.prettyprinting.doc.LineDocVisitor.visitDoc(LineDocVisitor.java:7)
	at org.arend.ext.prettyprinting.doc.LineDocVisitor.visitVList(LineDocVisitor.java:15)
	at org.arend.ext.prettyprinting.doc.LineDocVisitor.visitVList(LineDocVisitor.java:5)
	at org.arend.ext.prettyprinting.doc.VListDoc.accept(VListDoc.java:23)
	at org.arend.ext.prettyprinting.doc.DocStringBuilder.build(DocStringBuilder.java:14)
	at org.arend.ext.prettyprinting.doc.Doc.toString(Doc.java:28)
	at java.base/java.lang.String.valueOf(String.java:4220)
	at org.arend.toolWindow.errors.ArendMessagesView.updateEditors$lambda$13$lambda$12(ArendMessagesView.kt:221)
	at com.intellij.openapi.application.ActionsKt.runReadAction$lambda$3(actions.kt:31)
	at com.intellij.openapi.application.impl.RwLockHolder.runReadAction(RwLockHolder.kt:271)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:845)
	at com.intellij.openapi.application.ActionsKt.runReadAction(actions.kt:31)
	at org.arend.toolWindow.errors.ArendMessagesView.updateEditors$lambda$13(ArendMessagesView.kt:200)
	at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	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:840)
@sxhya sxhya added the bug label Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants