Getting Position of Tree fails execution
See original GitHub issueCompiler version
3.1.0-RC1-bin-20210820-68044a6-NIGHTLY
When using traverseTree
from Quotes TreeTraverser
trait I check the position of each tree I visit. For some reason accessing the pos
property, the execution fails. The stacktrace is leading to the assertion of the Span existence. The stacktrace is as follow:
Stacktrace
[error] Exception in thread "main" java.lang.AssertionError: assertion failed
[error] at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11)
[error] at dotty.tools.dotc.util.Spans$Span$.start$extension(Spans.scala:44)
[error] at dotty.tools.dotc.util.SourcePosition.start(SourcePosition.scala:50)
[error] at dotty.tools.dotc.util.SourcePosition.startLine(SourcePosition.scala:51)
[error] at scala.quoted.runtime.impl.QuotesImpl$reflect$PositionMethods$.startLine(QuotesImpl.scala:2727)
[error] at scala.quoted.runtime.impl.QuotesImpl$reflect$PositionMethods$.startLine(QuotesImpl.scala:2727)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:73)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree(Quotes.scala:4329)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldOverTree(StacktracesInspector.scala:56)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTreeChildren(StacktracesInspector.scala:80)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:74)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree(Quotes.scala:4304)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldOverTree(StacktracesInspector.scala:56)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTreeChildren(StacktracesInspector.scala:80)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:74)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$$anonfun$1(Quotes.scala:4252)
[error] at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
[error] at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
[error] at scala.collection.immutable.List.foldLeft(List.scala:79)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees(Quotes.scala:4252)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTrees(StacktracesInspector.scala:56)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree(Quotes.scala:4307)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldOverTree(StacktracesInspector.scala:56)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTreeChildren(StacktracesInspector.scala:80)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:74)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$$anonfun$1(Quotes.scala:4252)
[error] at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
[error] at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
[error] at scala.collection.immutable.List.foldLeft(List.scala:79)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees(Quotes.scala:4252)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTrees(StacktracesInspector.scala:56)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree(Quotes.scala:4313)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldOverTree(StacktracesInspector.scala:56)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTreeChildren(StacktracesInspector.scala:80)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:74)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$$anonfun$1(Quotes.scala:4252)
[error] at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
[error] at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
[error] at scala.collection.immutable.List.foldLeft(List.scala:79)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees(Quotes.scala:4252)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTrees(StacktracesInspector.scala:56)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree(Quotes.scala:4313)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldOverTree(StacktracesInspector.scala:56)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTreeChildren(StacktracesInspector.scala:80)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:74)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTree(StacktracesInspector.scala:78)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$$anonfun$1(Quotes.scala:4252)
[error] at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
[error] at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
[error] at scala.collection.immutable.List.foldLeft(List.scala:79)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees(Quotes.scala:4252)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldTrees$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldTrees(StacktracesInspector.scala:56)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree(Quotes.scala:4313)
[error] at scala.quoted.Quotes$reflectModule$TreeAccumulator.foldOverTree$(Quotes.scala:4247)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.foldOverTree(StacktracesInspector.scala:56)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTreeChildren(StacktracesInspector.scala:80)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$Traverser$1.traverseTree(StacktracesInspector.scala:74)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector.inspect$$anonfun$1(StacktracesInspector.scala:114)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector.inspect(StacktracesInspector.scala:119)
[error] at scala.tasty.inspector.TastyInspector$TastyInspectorPhase$1.runOn(TastyInspector.scala:67)
[error] at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:205)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] at dotty.tools.dotc.Run.runPhases$5(Run.scala:216)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:224)
[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
[error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:231)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:172)
[error] at dotty.tools.dotc.fromtasty.TASTYRun.compile(TASTYRun.scala:12)
[error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:39)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:199)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:167)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:179)
[error] at scala.tasty.inspector.TastyInspector$.inspectFiles(TastyInspector.scala:106)
[error] at scala.tasty.inspector.TastyInspector$.inspectAllTastyFiles(TastyInspector.scala:52)
[error] at org.virtuslab.stacktraces.core.StacktracesInspector$.inspectStackTrace(StacktracesInspector.scala:28)
[error] at org.virtuslab.stacktraces.core.Stacktraces$.convertToPrettyStackTrace(Stacktraces.scala:26)
[error] at org.virtuslab.stacktraces.TestExecutor$package$.convertToPrettyStackTraceWithStdlib(TestExecutor.scala:17)
[error] at org.virtuslab.stacktraces.TestExecutor$.executeTest(TestExecutor.scala:13)
[error] at org.virtuslab.stacktraces.tests.BasicTests$.nestedLambdas(BasicTest.scala:37)
[error] at org.virtuslab.stacktraces.tests.nestedLambdas.main(BasicTest.scala:27)
[error] Nonzero exit code returned from runner: 1
The trees that were accessed in the traverser callback that cause failure
Failing trees
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[HKTypeLambda(List(_$1), List(TypeBounds(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any))), TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any), List())]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[HKTypeLambda(List(_$1), List(TypeBounds(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any))), TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any), List())]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Nothing)]
[info] TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Any)]
There used to be the exists
function in Position
to check whether the Span
exists but IIRC was removed because accessing pos
should be safe now. I can provide a sample repo if necessary.
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)
Top Results From Across the Web
execute, tree in PipelineModel.transform using Pyspark ...
I have a data frame that has categorical as well as numerical columns, so I have one hot encoded categorical columns using string...
Read more >treesitter/highlighter: Error executing lua: ...: end_col value ...
Describe the bug When editing files that have a parser installed (for example lua), with certain actions, suddenly the following message ...
Read more >Is there a way to see the execution tree of systemd?
I know that you can do it by analysing systemd state data, but is there a quick way to see such a tree?...
Read more >Error "This is a writable tree with No root." while Executing ...
Location changed to edit custom tree. This is a writable tree with No root. For more help, use help('editCustom'). Traceback (innermost last):.
Read more >Behavior trees for AI: How they work - Game Developer
The third means that success or failure is not yet determined, and the node is still running. The node will be ticked again...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@BarkingBad could you try to make it a test in
tests/run-custom-args/tasty-inspector
?Please try sticking to the issue format and providing a reproducing method with minimized code.