Crash in semantic highlighter
This happens intermittently on a particularly large file in my project. I cannot include the source, and because I do not know where it is crashing, I have not been able to find a minimal example that reproduces the crash.
eclipse.buildId=4.5.2.M20160212-1500
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/Users/adpauls/sm/EclipseProjects/ -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
This is a continuation of log file /Users/adpauls/sm/EclipseProjects/.metadata/.bak_3.log
Created Time: 2016-05-13 10:35:56.752
org.scala-ide.sdt.core
Error
Fri May 13 12:28:11 PDT 2016
Unexptected error - most likely due to an illegal position
java.lang.AssertionError: assertion failed: bad position: [765:763]
at scala.reflect.internal.util.Position$.validate(Position.scala:34)
at scala.reflect.internal.util.Position$.range(Position.scala:51)
at scala.reflect.internal.util.InternalPositionImpl$class.copyRange(Position.scala:205)
at scala.reflect.internal.util.InternalPositionImpl$class.withStart(Position.scala:124)
at scala.reflect.internal.util.Position.withStart(Position.scala:12)
at scala.tools.refactoring.common.EnrichedTrees$TreeMethodsForPositions.namePosition(EnrichedTrees.scala:196)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SafeSymbol$class.safeSymbol(SafeSymbol.scala:154)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.safeSymbol(SymbolClassification.scala:34)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.org$scalaide$core$internal$decorators$semantichighlighting$classifier$SymbolClassification$$findSymbolInfo$1(SymbolClassification.scala:93)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:105)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser.traverseTrees(Trees.scala:2484)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1234)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1215)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1328)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1232)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1208)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1327)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1326)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.classifySymbols(SymbolClassification.scala:110)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:123)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:119)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:99)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:98)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.internal(PresentationCompilerProxy.scala:98)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.apply(PresentationCompilerProxy.scala:56)
at org.scalaide.core.compiler.InteractiveCompilationUnit$class.withSourceFile(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.jdt.model.ScalaSourceFile.withSourceFile(ScalaSourceFile.scala:66)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.performSemanticHighlighting(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.run(Presenter.scala:115)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
eclipse.buildId=4.5.2.M20160212-1500
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/Users/adpauls/sm/EclipseProjects/ -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
This is a continuation of log file /Users/adpauls/sm/EclipseProjects/.metadata/.bak_3.log
Created Time: 2016-05-13 10:35:56.752
org.scala-ide.sdt.core
Error
Fri May 13 12:28:11 PDT 2016
Unexptected error - most likely due to an illegal position
java.lang.AssertionError: assertion failed: bad position: [765:763]
at scala.reflect.internal.util.Position$.validate(Position.scala:34)
at scala.reflect.internal.util.Position$.range(Position.scala:51)
at scala.reflect.internal.util.InternalPositionImpl$class.copyRange(Position.scala:205)
at scala.reflect.internal.util.InternalPositionImpl$class.withStart(Position.scala:124)
at scala.reflect.internal.util.Position.withStart(Position.scala:12)
at scala.tools.refactoring.common.EnrichedTrees$TreeMethodsForPositions.namePosition(EnrichedTrees.scala:196)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SafeSymbol$class.safeSymbol(SafeSymbol.scala:154)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.safeSymbol(SymbolClassification.scala:34)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.org$scalaide$core$internal$decorators$semantichighlighting$classifier$SymbolClassification$$findSymbolInfo$1(SymbolClassification.scala:93)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:105)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser.traverseTrees(Trees.scala:2484)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1234)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1215)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1328)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1232)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1208)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1327)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1326)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.classifySymbols(SymbolClassification.scala:110)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:123)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:119)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:99)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:98)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.internal(PresentationCompilerProxy.scala:98)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.apply(PresentationCompilerProxy.scala:56)
at org.scalaide.core.compiler.InteractiveCompilationUnit$class.withSourceFile(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.jdt.model.ScalaSourceFile.withSourceFile(ScalaSourceFile.scala:66)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.performSemanticHighlighting(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.run(Presenter.scala:115)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Leave a comment
on 2016-09-03 23:47 *
By Simon Schäfer
I can't reproduce with the given code example on the latest nightly. Do you have the time to check if the problem still happens with the latest nightly?
I downloaded the latest nightly, and the problem is still there. I'm not sure if this is relevant, but I have the macroparadise compiler plugin installed, and it has been causing other crashes in the presentation compiler (which I plan to submit a separate bug for if I can narrow it down).
I did not make this file in an isolated project, but rather as part of a bigger project. Do you have any suggestions for narrowing down the source of this crash for me? Does the stack trace give you any indication of what the problem might be?
eclipse.buildId=4.5.2.M20160212-1500
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/Users/adpauls/sm/EclipseProjects/ -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
org.scala-ide.sdt.core
Error
Sun Sep 04 01:08:30 PDT 2016
Unexptected error - most likely due to an illegal position
java.lang.AssertionError: assertion failed: bad position: [139:137]
at scala.reflect.internal.util.Position$.validate(Position.scala:34)
at scala.reflect.internal.util.Position$.range(Position.scala:51)
at scala.reflect.internal.util.InternalPositionImpl$class.copyRange(Position.scala:205)
at scala.reflect.internal.util.InternalPositionImpl$class.withStart(Position.scala:124)
at scala.reflect.internal.util.Position.withStart(Position.scala:12)
at scala.tools.refactoring.common.EnrichedTrees$TreeMethodsForPositions.namePosition(EnrichedTrees.scala:196)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SafeSymbol$class.safeSymbol(SafeSymbol.scala:154)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.safeSymbol(SymbolClassification.scala:34)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.org$scalaide$core$internal$decorators$semantichighlighting$classifier$SymbolClassification$$findSymbolInfo$1(SymbolClassification.scala:93)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:105)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser.traverseTrees(Trees.scala:2484)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1234)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1215)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1328)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1232)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1208)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1327)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1326)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.classifySymbols(SymbolClassification.scala:110)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:123)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:119)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:101)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:100)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.internal(PresentationCompilerProxy.scala:100)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.apply(PresentationCompilerProxy.scala:58)
at org.scalaide.core.compiler.InteractiveCompilationUnit$class.withSourceFile(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.jdt.model.ScalaSourceFile.withSourceFile(ScalaSourceFile.scala:71)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.performSemanticHighlighting(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.run(Presenter.scala:115)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
I did not make this file in an isolated project, but rather as part of a bigger project. Do you have any suggestions for narrowing down the source of this crash for me? Does the stack trace give you any indication of what the problem might be?
eclipse.buildId=4.5.2.M20160212-1500
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/Users/adpauls/sm/EclipseProjects/ -product org.eclipse.epp.package.java.product -keyring /Users/adpauls/.eclipse_keyring -showlocation
org.scala-ide.sdt.core
Error
Sun Sep 04 01:08:30 PDT 2016
Unexptected error - most likely due to an illegal position
java.lang.AssertionError: assertion failed: bad position: [139:137]
at scala.reflect.internal.util.Position$.validate(Position.scala:34)
at scala.reflect.internal.util.Position$.range(Position.scala:51)
at scala.reflect.internal.util.InternalPositionImpl$class.copyRange(Position.scala:205)
at scala.reflect.internal.util.InternalPositionImpl$class.withStart(Position.scala:124)
at scala.reflect.internal.util.Position.withStart(Position.scala:12)
at scala.tools.refactoring.common.EnrichedTrees$TreeMethodsForPositions.namePosition(EnrichedTrees.scala:196)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SafeSymbol$class.safeSymbol(SafeSymbol.scala:154)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.safeSymbol(SymbolClassification.scala:34)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.org$scalaide$core$internal$decorators$semantichighlighting$classifier$SymbolClassification$$findSymbolInfo$1(SymbolClassification.scala:93)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:105)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser.traverseTrees(Trees.scala:2484)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1234)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1215)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1328)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.traverseComponents$1(Trees.scala:1232)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1330)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.internal.Trees$$anonfun$traverseMemberDef$1$1.apply$mcV$sp(Trees.scala:1208)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.internal.Trees$class.traverseMemberDef$1(Trees.scala:1203)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1327)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:99)
at scala.reflect.api.Trees$Traverser$$anonfun$traverseStats$1$$anonfun$apply$1.apply$mcV$sp(Trees.scala:2498)
at scala.reflect.api.Trees$Traverser.atOwner(Trees.scala:2507)
at scala.reflect.api.Trees$Traverser.traverseStats(Trees.scala:2497)
at scala.reflect.internal.Trees$class.itraverse(Trees.scala:1326)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itraverse(SymbolTable.scala:16)
at scala.reflect.api.Trees$Traverser.traverse(Trees.scala:2475)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification$$anon$1.traverse(SymbolClassification.scala:108)
at org.scalaide.core.internal.decorators.semantichighlighting.classifier.SymbolClassification.classifySymbols(SymbolClassification.scala:110)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:123)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1$$anonfun$apply$1.apply(Presenter.scala:119)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.compiler.InteractiveCompilationUnit$$anonfun$withSourceFile$1.apply(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:101)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy$$anonfun$internal$1.apply(PresentationCompilerProxy.scala:100)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.internal(PresentationCompilerProxy.scala:100)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.apply(PresentationCompilerProxy.scala:58)
at org.scalaide.core.compiler.InteractiveCompilationUnit$class.withSourceFile(InteractiveCompilationUnit.scala:201)
at org.scalaide.core.internal.jdt.model.ScalaSourceFile.withSourceFile(ScalaSourceFile.scala:71)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob$$anonfun$performSemanticHighlighting$1.apply(Presenter.scala:119)
at scala.Option.flatMap(Option.scala:171)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.performSemanticHighlighting(Presenter.scala:119)
at org.scalaide.ui.internal.editor.decorators.semantichighlighting.Presenter$SemanticHighlightingJob.run(Presenter.scala:115)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
I reduced it a little further:
Still causes the issue. However, this does not:
object Bar { def foo[T <: Comparable[T]]: Ordering[T] = (a: T, b: T) => a.compareTo(b) }
Still causes the issue. However, this does not:
object Bar { def foo[T <: Comparable[T]]: Ordering[T] = new Ordering[T] { def compare(a: T, b: T) = a.compareTo(b) } }
on 2016-09-04 10:35 *
By Simon Schäfer
Your code examples do not compile. Do you have an implicit conversion lying around somewhere from
Beside from that the problem is that we create a position internally which is not valid. I do not understand why the position can be invalid just by looking at our code though.
(T,T) => Int
to Ordering[T]
or do you also get compilation errors?Beside from that the problem is that we create a position internally which is not valid. I do not understand why the position can be invalid just by looking at our code though.
I have
EDIT: I verified that it compiles on my machine using sbt. This program:
Ran just fine:
-Xexperimental
on. This is just a SAM conversion right?EDIT: I verified that it compiles on my machine using sbt. This program:
package bar
object Bar {
def foo[T <: Comparable[T]]: Ordering[T] = (a: T, b: T) => a.compareTo(b)
def main(args: Array[String]): Unit = {
val data = IndexedSeq("1","3","2")
println(data.sorted(foo[String]))
}
}
Ran just fine:
sbt "runMain bug.Bar"
.....
[info] Running bug.Bar
[info] Vector(1, 2, 3)
[success] Total time: 7 s, completed Sep 4, 2016 9:02:59 AM
Ok, with
-Xexperimental
enabled I can reproduce the issue. The issue now actually makes sense. I guess the transformation of the SAM converter creates some invalid positions, which is not very surprising given that it is an experimental feature.