Closed
Description
Preamble
The issue is related to PR #9164 (see method PickleSource(source: SourceFile): Unit
).
The Java method Path relativize(Path other)
may throw an IllegalArgumentException
.
Minimized code
$ sbt dotty-bootstrapped/test
Output (click arrow to expand)
In the following we give only the first two exceptions thrown by tests CommentPicklingTest.commentOnClass
and CommentPicklingTest.commentOnObject
(NB. lines starting with label [PositionPickler]
are mine):
...
[info] Test run started
[info] Test dotty.tools.vulpix.VulpixUnitTests.negAnnotWrongLine started
[info] Test dotty.tools.vulpix.VulpixUnitTests.infiniteAlloc started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\infiniteAlloc.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.runOutRedirects started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\i2147.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.infiteNonRec started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\infinite.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.negNoPositionAnnot started
[info] Test dotty.tools.vulpix.VulpixUnitTests.runCompileFail started
[info] Test dotty.tools.vulpix.VulpixUnitTests.infiteTailRec started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\infiniteTail.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.badJava started
[info] Test dotty.tools.vulpix.VulpixUnitTests.pos1Error started
[info] Test dotty.tools.vulpix.VulpixUnitTests.deadlock started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\deadlock.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.negTooManyAnnots started
[info] Test dotty.tools.vulpix.VulpixUnitTests.runWrongOutput1 started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\runWrongOutput1.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.runWrongOutput2 started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\runWrongOutput2.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.runDiffOutput1 started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\runDiffOutput1.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.runTimeout started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\timeout.scala
Test 'tests\vulpix-tests\unit\timeout.scala' failed with output: [=======================================] completed (1/1, 1 failed, 0
s)
[error] Test dotty.tools.vulpix.VulpixUnitTests.runTimeout failed: org.junit.ComparisonFailure: expected:<...d 1 test failures(s)[ - test 'tests\vulpix-tests\unit\timeout.scala' timed out]> but was:<...d 1 test failures(s)[]>, took 0.157 sec
[error] at dotty.tools.vulpix.VulpixUnitTests.runTimeout(VulpixUnitTests.scala:101)
[error] ...
[info] Test dotty.tools.vulpix.VulpixUnitTests.missingFile started
[info] Test dotty.tools.vulpix.VulpixUnitTests.runStackOverflow started
[PositionPickler] cwd=W:\dotty path=W:\dotty\tests\vulpix-tests\unit\stackOverflow.scala
[info] Test dotty.tools.vulpix.VulpixUnitTests.negAnyPositionAnnot started
[=======================================] completed (1/1, 0 failed, 0s)
[info] Test dotty.tools.vulpix.VulpixUnitTests.negMissingAnnot started
[info] Test run finished: 1 failed, 0 ignored, 19 total, 8.001s
[info] Test run started
[info] Test dotty.tools.AnnotationsTest.annotTreeNotErased started
[info] Test dotty.tools.AnnotationsTest.surviveMissingAnnot started
[info] Test run finished: 0 failed, 0 ignored, 2 total, 0.156s
[info] Test run started
[info] Test dotty.tools.dotc.core.tasty.CommentPicklingTest.commentOnClass started
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp7324608142041616973\Src0.scala
java.lang.IllegalArgumentException: 'other' has different root while compiling C:\Users\michelou\AppData\Local\Temp\temp7324608142041616973\Src0.scala
[error] Test dotty.tools.dotc.core.tasty.CommentPicklingTest.commentOnClass failed: java.lang.IllegalArgumentException: 'other' has different root, took 0.046 sec
[error] at sun.nio.fs.WindowsPath.relativize(WindowsPath.java:392)
[error] at sun.nio.fs.WindowsPath.relativize(WindowsPath.java:44)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.pickleSource$1(PositionPickler.scala:54)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.traverse$1(PositionPickler.scala:90)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.picklePositions$$anonfun$1(PositionPickler.scala:115)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.picklePositions(PositionPickler.scala:115)
[error] at dotty.tools.dotc.transform.Pickler.run$$anonfun$9$$anonfun$8(Pickler.scala:68)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.dotc.transform.Pickler.run$$anonfun$1(Pickler.scala:87)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.dotc.transform.Pickler.run(Pickler.scala:87)
[error] at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:318)
[error] at scala.collection.immutable.List.map(List.scala:246)
[error] at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:319)
[error] at dotty.tools.dotc.transform.Pickler.runOn(Pickler.scala:91)
[error[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp7945414141791549912\Src0.scala]
at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:180)
java.lang.IllegalArgumentException: 'other' has different root while compiling C:\Users\michelou\AppData\Local\Temp\temp7945414141791549912\Src0.scala
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.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:190)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:198)
[error] at dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:205)
[error] at dotty.tools.dotc.Run.compileSources(Run.scala:142)
[error] at dotty.tools.dotc.Run.compile(Run.scala:124)
[error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:194)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:163)
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.compileAndUnpickle$$anonfun$1(CommentPicklingTest.scala:95)
[error] at dotty.tools.io.Directory$.inTempDirectory(Directory.scala:26)
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp4681394860595471636\Src0.scalajava.lang.IllegalArgumentException: 'other' has different root while compiling C:\Users\michelou\AppData\Local\Temp\temp4681394860595471636\Src0.scala
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.compileAndUnpickle(CommentPicklingTest.scala:103)
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.compileAndCheckComment(CommentPicklingTest.scala:70)
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.commentOnClass(CommentPicklingTest.scala:47)
[error] ...
[info] Test dotty.tools.dotc.core.tasty.CommentPicklingTest.commentOnObject started
[error] Test dotty.tools.dotc.core.tasty.CommentPicklingTest.commentOnObject failed: java.lang.IllegalArgumentException: 'other' has different root, took 0.047 sec
[error] at sun.nio.fs.WindowsPath.relativize(WindowsPath.java:392)
[error] at sun.nio.fs.WindowsPath.relativize(WindowsPath.java:44)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.pickleSource$1(PositionPickler.scala:54)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.traverse$1(PositionPickler.scala:90)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.picklePositions$$anonfun$1(PositionPickler.scala:115)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.dotc.core.tasty.PositionPickler.picklePositions(PositionPickler.scala:115)
[error] at dotty.tools.dotc.transform.Pickler.run$$anonfun$9$$anonfun$8(Pickler.scala:68)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.dotc.transform.Pickler.run$$anonfun$1(Pickler.scala:87)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.dotc.transform.Pickler.run(Pickler.scala:87)
[error] at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:318)
[error] at scala.collection.immutable.List.map(List.scala:246)
[error] at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:319)
[error] at dotty.tools.dotc.transform.Pickler.runOn(Pickler.scala:91)
[error] at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:180)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.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:190)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:198)
[error] at dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:205)
[error] at dotty.tools.dotc.Run.compileSources(Run.scala:142)
[error] at dotty.tools.dotc.Run.compile(Run.scala:124)
[error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:194)
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp1512916754000034897\Src0.scala
[error] at dotty.tools.dotc.Driver.process(Driver.scala:163)
java.lang.IllegalArgumentException: 'other' has different root while compiling C:\Users\michelou\AppData\Local\Temp\temp1512916754000034897\Src0.scala
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.compileAndUnpickle$$anonfun$1(CommentPicklingTest.scala:95)
[error] at dotty.tools.io.Directory$.inTempDirectory(Directory.scala:26)
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.compileAndUnpickle(CommentPicklingTest.scala:103)
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.compileAndCheckComment(CommentPicklingTest.scala:70)
[error] at dotty.tools.dotc.core.tasty.CommentPicklingTest.commentOnObject(CommentPicklingTest.scala:52)
[error] ...
PS. Alltogether the IllegalArgumentException
is thrown19 times:
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp7324608142041616973\Src0.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp4681394860595471636\Src0.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\temp1512916754000034897\Src0.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-8548842402433974214.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-2843557297509805724.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-3954596758020590678.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-4644045128804528760.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-395029573304599055.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-6315878606131673314.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-8665432824884685149.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-4818850896981599586.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-4917626262930281097.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-1985633544964279141.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-9013534656388954297.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-7409735552127987292.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-4982354246075748085.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-4740876485467897133.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-2240732138193459376.scala
[PositionPickler] cwd=W:\dotty path=C:\Users\michelou\AppData\Local\Temp\dottydoc-test-607911629041922924.scala