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

Debugger no longer shows values of lazy sequences #2348

Closed
katox opened this issue Apr 9, 2020 · 2 comments
Closed

Debugger no longer shows values of lazy sequences #2348

katox opened this issue Apr 9, 2020 · 2 comments
Labels
bug Marks issues describing bugs released Marks issues which have had the fixes released in a stable build
Milestone

Comments

@katox
Copy link

katox commented Apr 9, 2020

The cursive debugger no longer shows values of realized lazy sequences (it does show the type of an unrealized lazy seq).

It is not shown in code evaluation, watches, variables - it only gives a red text "Internal error, see logs for mode details - but there is nothing in the idea.log.

@katox
Copy link
Author

katox commented Apr 9, 2020

cursive-debugger-lazy-seq

@asafch
Copy link

asafch commented May 12, 2020

Here are a few stack traces from IntelliJ's log that appear related to the issue (using Cursive 1.9.1-2019.3, JDK 1.8.0.231, IntelliJ 2019.3.3 Build IU 193.6494.35):

2020-05-10 18:58:05,970 [34591489]   INFO - llij.debugger.engine.JavaValue - Cannot create expression from code fragment. 
com.intellij.debugger.engine.evaluation.EvaluateException: Cannot create expression from code fragment.
	at com.intellij.debugger.ui.impl.watch.EvaluationDescriptor.getDescriptorEvaluation(EvaluationDescriptor.java:116)
	at com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl.getTreeEvaluation(ValueDescriptorImpl.java:463)
	at com.intellij.debugger.engine.JavaValue$6.lambda$contextAction$0(JavaValue.java:477)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:825)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:71)
	at com.intellij.debugger.engine.JavaValue$6.contextAction(JavaValue.java:475)
	at com.intellij.debugger.engine.events.SuspendContextCommandImpl.action(SuspendContextCommandImpl.java:57)
	at com.intellij.debugger.engine.events.DebuggerCommandImpl.run(DebuggerCommandImpl.java:43)
	at com.intellij.debugger.engine.DebuggerManagerThreadImpl.processEvent(DebuggerManagerThreadImpl.java:151)
	at com.intellij.debugger.engine.DebuggerManagerThreadImpl.processEvent(DebuggerManagerThreadImpl.java:29)
	at com.intellij.debugger.impl.InvokeThread.run(InvokeThread.java:138)
	at com.intellij.debugger.impl.InvokeThread.access$100(InvokeThread.java:19)
	at com.intellij.debugger.impl.InvokeThread$WorkerThreadRequest.lambda$run$0(InvokeThread.java:49)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:221)
	at com.intellij.debugger.impl.InvokeThread$WorkerThreadRequest.run(InvokeThread.java:48)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:238)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	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.lang.Thread.run(Thread.java:834)
2020-05-11 10:10:58,300 [89363819]  ERROR - ht.daemon.impl.LineMarkersPass - During querying provider cursive.editor.ClojureLineMarkerProvider@1ff299ff (class cursive.editor.ClojureLineMarkerProvider) 
com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.tree.LeafPsiElement #Clojure  because: containing file is null
invalidated at: see attachment; com.intellij.psi.impl.source.tree.LeafPsiElement:Symbol token / com.intellij.psi.impl.source.tree.CompositeElement:symbol / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list
	at com.intellij.psi.impl.source.tree.LeafPsiElement.invalid(LeafPsiElement.java:103)
	at com.intellij.psi.impl.source.tree.LeafPsiElement.getContainingFile(LeafPsiElement.java:87)
	at cursive.psi.ClojurePsiElements.getNs(ClojurePsiElements.java:50)
	at cursive.psi.ClojurePsiElementImpl.getNs(ClojurePsiElementImpl.java:35)
	at cursive.psi.ClojurePsiElementImpl.getInNs(ClojurePsiElementImpl.java:51)
	at cursive.psi$containing_ns.invokeStatic(psi.clj:134)
	at cursive.psi$containing_ns.invoke(psi.clj:131)
	at cursive.symbol$var_meta.invokeStatic(symbol.clj:49)
	at cursive.symbol$var_meta.invoke(symbol.clj:44)
	at cursive.resolve.symbol$resolve_symbol.invokeStatic(symbol.clj:95)
	at cursive.resolve.symbol$resolve_symbol.invoke(symbol.clj:80)
	at clojure.lang.Var.invoke(Var.java:388)
	at cursive.api.DelayedFn.invoke(DelayedFn.java:36)
	at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:70)
	at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:66)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:147)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:177)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
	at cursive.psi.impl.symbols.SymbolReference.multiResolve(SymbolReference.java:60)
	at cursive.resolve$resolve.invokeStatic(resolve.clj:54)
	at cursive.resolve$resolve.invoke(resolve.clj:51)
	at cursive.resolve$resolve_keys.invokeStatic(resolve.clj:191)
	at cursive.resolve$resolve_keys.invoke(resolve.clj:179)
	at cursive.resolve$fn__1586$fn__1587.invoke(resolve.clj:219)
	at cursive.psi$cached_value$reify__663.compute(psi.clj:555)
	at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
	at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:240)
	at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
	at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:241)
	at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
	at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:64)
	at cursive.psi$cached_value.invokeStatic(psi.clj:558)
	at cursive.psi$cached_value.doInvoke(psi.clj:545)
	at clojure.lang.RestFn.invoke(RestFn.java:494)
	at cursive.resolve$list_resolve_symbols.invokeStatic(resolve.clj:230)
	at cursive.resolve$list_resolve_symbols.invoke(resolve.clj:229)
	at cursive.intellij.gutter$line_marker_info$fn__14041$fn__14049.invoke(gutter.clj:53)
	at cursive.intellij.gutter$line_marker_info$fn__14041.invoke(gutter.clj:52)
	at clojure.core$some.invokeStatic(core.clj:2701)
	at clojure.core$some.invoke(core.clj:2692)
	at cursive.intellij.gutter$line_marker_info.invokeStatic(gutter.clj:46)
	at cursive.intellij.gutter$line_marker_info.invoke(gutter.clj:42)
	at clojure.lang.Var.invoke(Var.java:384)
	at cursive.api.DelayedFn.invoke(DelayedFn.java:31)
	at cursive.editor.ClojureLineMarkerProvider.getLineMarkerInfo(Gutter.kt:14)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:170)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:95)
	at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:79)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:90)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:55)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:429)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:997)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:422)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:585)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:531)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:421)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:397)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:157)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:395)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
	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)
2020-05-11 10:10:58,301 [89363820]  ERROR - aemon.impl.PassExecutorService - Element: class com.intellij.psi.impl.source.tree.LeafPsiElement; Invalid context in cursive.debugger.ClojureCodeFragment@7bc12b4e of class cursive.debugger.ClojureCodeFragment 
com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.tree.LeafPsiElement; Invalid context in cursive.debugger.ClojureCodeFragment@7bc12b4e of class cursive.debugger.ClojureCodeFragment
	at com.intellij.psi.util.PsiUtil.getLanguageLevel(PsiUtil.java:1084)
	at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.prepare(HighlightVisitorImpl.java:208)
	at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.analyze(HighlightVisitorImpl.java:158)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:314)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:314)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:93)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:314)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:282)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:227)
	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:55)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:429)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:997)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:422)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:585)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:531)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:421)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:397)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:157)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:395)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
	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)
2020-05-11 10:10:58,305 [89363824]  ERROR - aemon.impl.PassExecutorService - Element: class com.intellij.psi.impl.source.tree.LeafPsiElement #Clojure  because: containing file is null
invalidated at: see attachment; com.intellij.psi.impl.source.tree.LeafPsiElement:Symbol token / com.intellij.psi.impl.source.tree.CompositeElement:symbol / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list 
com.intellij.psi.PsiInvalidElementAccessException: Element: class com.intellij.psi.impl.source.tree.LeafPsiElement #Clojure  because: containing file is null
invalidated at: see attachment; com.intellij.psi.impl.source.tree.LeafPsiElement:Symbol token / com.intellij.psi.impl.source.tree.CompositeElement:symbol / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list / com.intellij.psi.impl.source.tree.CompositeElement:list
	at com.intellij.psi.impl.source.tree.LeafPsiElement.invalid(LeafPsiElement.java:103)
	at com.intellij.psi.impl.source.tree.LeafPsiElement.getContainingFile(LeafPsiElement.java:87)
	at cursive.psi.ClojurePsiElements.getNs(ClojurePsiElements.java:50)
	at cursive.psi.ClojurePsiElementImpl.getNs(ClojurePsiElementImpl.java:35)
	at cursive.psi.ClojurePsiElementImpl.getInNs(ClojurePsiElementImpl.java:51)
	at cursive.psi$containing_ns.invokeStatic(psi.clj:134)
	at cursive.psi$containing_ns.invoke(psi.clj:131)
	at cursive.symbol$var_meta.invokeStatic(symbol.clj:49)
	at cursive.symbol$var_meta.invoke(symbol.clj:44)
	at cursive.resolve.symbol$resolve_symbol.invokeStatic(symbol.clj:95)
	at cursive.resolve.symbol$resolve_symbol.invoke(symbol.clj:80)
	at clojure.lang.Var.invoke(Var.java:388)
	at cursive.api.DelayedFn.invoke(DelayedFn.java:36)
	at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:70)
	at cursive.psi.impl.symbols.SymbolReference$SymbolResolver.resolve(SymbolReference.java:66)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:147)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:177)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
	at cursive.psi.impl.symbols.SymbolReference.resolve(SymbolReference.java:78)
	at cursive.findUsages.highlight.ClojureHighlightUsagesHandlerFactory.createHighlightUsagesHandler(ClojureHighlightUsagesHandlerFactory.java:41)
	at com.intellij.codeInsight.highlighting.HighlightUsagesHandlerFactoryBase.createHighlightUsagesHandler(HighlightUsagesHandlerFactoryBase.java:53)
	at com.intellij.codeInsight.highlighting.HighlightUsagesHandlerFactoryBase.createHighlightUsagesHandler(HighlightUsagesHandlerFactoryBase.java:44)
	at com.intellij.codeInsight.highlighting.HighlightUsagesHandler.createCustomHandler(HighlightUsagesHandler.java:152)
	at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.doCollectInformation(IdentifierHighlighterPass.java:61)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:55)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:429)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:997)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:422)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:585)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:531)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:421)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:397)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:157)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:395)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
	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)

@cursive-ide cursive-ide modified the milestones: 1.9.2, 1.9.2-eap3 May 15, 2020
@cursive-ide cursive-ide added the bug Marks issues describing bugs label Sep 22, 2020
@cursive-ide cursive-ide added the released Marks issues which have had the fixes released in a stable build label Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Marks issues describing bugs released Marks issues which have had the fixes released in a stable build
Projects
None yet
Development

No branches or pull requests

3 participants