Skip to content

Avoid NPE during global initialization under -verbose/-Ylogcp#7825

Merged
SethTisue merged 1 commit intoscala:2.12.xfrom
retronym:topic/closeable-registry
Mar 7, 2019
Merged

Avoid NPE during global initialization under -verbose/-Ylogcp#7825
SethTisue merged 1 commit intoscala:2.12.xfrom
retronym:topic/closeable-registry

Conversation

@retronym
Copy link
Member

@retronym retronym commented Mar 7, 2019

$ git clone wheaties/TwoTails
sbt:root> ; ++2.12.9-bin-88ed07f-SNAPSHOT! ; Test/compile

[error] java.lang.NullPointerException
[error]     at scala.tools.nsc.classpath.FileBasedCache.getOrCreate(ZipAndJarFileLookupFactory.scala:269)
[error]     at scala.tools.nsc.classpath.ZipAndJarFileLookupFactory.create(ZipAndJarFileLookupFactory.scala:44)
[error]     at scala.tools.nsc.classpath.ZipAndJarFileLookupFactory.create$(ZipAndJarFileLookupFactory.scala:37)
[error]     at scala.tools.nsc.classpath.ZipAndJarClassPathFactory$.create(ZipAndJarFileLookupFactory.scala:55)
[error]     at scala.tools.nsc.classpath.ClassPathFactory$.newClassPath(ClassPathFactory.scala:85)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.newClassPath(ClassPathFactory.scala:29)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.$anonfun$classesInPathImpl$3(ClassPathFactory.scala:69)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.$anonfun$classesInPathImpl$1(ClassPathFactory.scala:65)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.classesInPathImpl(ClassPathFactory.scala:64)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.classesInPath(ClassPathFactory.scala:55)
[error]     at scala.tools.util.PathResolver$Calculated$.basis(PathResolver.scala:260)
[error]     at scala.tools.util.PathResolver$Calculated$.containers$lzycompute(PathResolver.scala:272)
[error]     at scala.tools.util.PathResolver$Calculated$.containers(PathResolver.scala:272)
[error]     at scala.tools.util.PathResolver.containers(PathResolver.scala:288)
[error]     at scala.tools.util.PathResolver.computeResult(PathResolver.scala:310)
[error]     at scala.tools.util.PathResolver.result(PathResolver.scala:293)
[error]     at scala.tools.nsc.backend.JavaPlatform.classPath(JavaPlatform.scala:30)
[error]     at scala.tools.nsc.backend.JavaPlatform.classPath$(JavaPlatform.scala:29)
[error]     at scala.tools.nsc.Global$GlobalPlatform.classPath(Global.scala:127)
[error]     at scala.tools.nsc.Global.classPath(Global.scala:138)
[error]     at scala.tools.nsc.Global.<init>(Global.scala:364)
[error]     at xsbt.CallbackGlobal.<init>(CallbackGlobal.scala:21)
[error]     at xsbt.ZincCompiler.<init>(CallbackGlobal.scala:60)
[error]     at xsbt.CachedCompilerCompat.newCompiler(Compat.scala:31)
[error]     at xsbt.CachedCompilerCompat.newCompiler$(Compat.scala:30)
[error]     at xsbt.CachedCompiler0.newCompiler(CompilerInterface.scala:55)
[error]     at xsbt.CachedCompiler0.<init>(CompilerInterface.scala:84)
[error]     at xsbt.CompilerInterface.newCompiler(CompilerInterface.scala:22)

```
$ git clone wheaties/TwoTails
```

```
sbt:root> ; ++2.12.9-bin-88ed07f-SNAPSHOT! ; Test/compile

[error] java.lang.NullPointerException
[error]     at scala.tools.nsc.classpath.FileBasedCache.getOrCreate(ZipAndJarFileLookupFactory.scala:269)
[error]     at scala.tools.nsc.classpath.ZipAndJarFileLookupFactory.create(ZipAndJarFileLookupFactory.scala:44)
[error]     at scala.tools.nsc.classpath.ZipAndJarFileLookupFactory.create$(ZipAndJarFileLookupFactory.scala:37)
[error]     at scala.tools.nsc.classpath.ZipAndJarClassPathFactory$.create(ZipAndJarFileLookupFactory.scala:55)
[error]     at scala.tools.nsc.classpath.ClassPathFactory$.newClassPath(ClassPathFactory.scala:85)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.newClassPath(ClassPathFactory.scala:29)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.$anonfun$classesInPathImpl$3(ClassPathFactory.scala:69)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.$anonfun$classesInPathImpl$1(ClassPathFactory.scala:65)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.classesInPathImpl(ClassPathFactory.scala:64)
[error]     at scala.tools.nsc.classpath.ClassPathFactory.classesInPath(ClassPathFactory.scala:55)
[error]     at scala.tools.util.PathResolver$Calculated$.basis(PathResolver.scala:260)
[error]     at scala.tools.util.PathResolver$Calculated$.containers$lzycompute(PathResolver.scala:272)
[error]     at scala.tools.util.PathResolver$Calculated$.containers(PathResolver.scala:272)
[error]     at scala.tools.util.PathResolver.containers(PathResolver.scala:288)
[error]     at scala.tools.util.PathResolver.computeResult(PathResolver.scala:310)
[error]     at scala.tools.util.PathResolver.result(PathResolver.scala:293)
[error]     at scala.tools.nsc.backend.JavaPlatform.classPath(JavaPlatform.scala:30)
[error]     at scala.tools.nsc.backend.JavaPlatform.classPath$(JavaPlatform.scala:29)
[error]     at scala.tools.nsc.Global$GlobalPlatform.classPath(Global.scala:127)
[error]     at scala.tools.nsc.Global.classPath(Global.scala:138)
[error]     at scala.tools.nsc.Global.<init>(Global.scala:364)
[error]     at xsbt.CallbackGlobal.<init>(CallbackGlobal.scala:21)
[error]     at xsbt.ZincCompiler.<init>(CallbackGlobal.scala:60)
[error]     at xsbt.CachedCompilerCompat.newCompiler(Compat.scala:31)
[error]     at xsbt.CachedCompilerCompat.newCompiler$(Compat.scala:30)
[error]     at xsbt.CachedCompiler0.newCompiler(CompilerInterface.scala:55)
[error]     at xsbt.CachedCompiler0.<init>(CompilerInterface.scala:84)
[error]     at xsbt.CompilerInterface.newCompiler(CompilerInterface.scala:22)
```
@scala-jenkins scala-jenkins added this to the 2.12.9 milestone Mar 7, 2019
@retronym retronym requested a review from SethTisue March 7, 2019 01:04
@retronym
Copy link
Member Author

retronym commented Mar 7, 2019

This will need a merge to 2.13.x before RC1.

@retronym
Copy link
Member Author

retronym commented Mar 7, 2019

sbt:root> ; ++2.12.9-bin-d62f26c-SNAPSHOT! ; Test/compile
[info] Forcing Scala version to 2.12.9-bin-d62f26c-SNAPSHOT on all projects.
[info] Reapplying settings...
[info] Set current project to root (in build file:/Users/jz/code/TwoTails/)
[info] Updating ...
[info] Updating twotails-annotations...
[warn] Sorting results from org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT
[warn] Sorting results from org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT
[warn] Sorting results from org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT
[info] Done updating.
[info] Updating twotails...
[info] Compiling 1 Scala source to /Users/jz/code/TwoTails/annotations/target/scala-2.12/classes ...
[warn] Sorting results from org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT
[warn] Sorting results from org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT
[warn] Sorting results from org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT
[info] Done updating.
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.9-20190307-010347-d62f26c. Compiling...
[warn] Sorting results from org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-library;2.12.9-bin-d62f26c-SNAPSHOT
[info]   Compilation completed in 7.139s.
[info] Done compiling.
[warn] Sorting results from org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-reflect;2.12.9-bin-d62f26c-SNAPSHOT
[warn] Sorting results from org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Sorting results from org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT, using Thu Mar 07 12:54:31 AEST 2019 and Thu Mar 07 12:54:31 AEST 2019.
[warn] Choosing pr-scala snapshots for org.scala-lang#scala-compiler;2.12.9-bin-d62f26c-SNAPSHOT
[info] Done updating.
[info] Compiling 3 Scala sources to /Users/jz/code/TwoTails/core/target/scala-2.12/classes ...
[info] Done compiling.
[info] Packaging /Users/jz/code/TwoTails/core/target/scala-2.12/twotails_2.12.9-bin-d62f26c-SNAPSHOT-0.4.0-SNAPSHOT.jar ...
[info] Done packaging.
[info] Compiling 8 Scala sources to /Users/jz/code/TwoTails/core/target/scala-2.12/test-classes ...
[info] [search path for source files: ]
[info] [search path for class files: /usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/resources.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/rt.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/jsse.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/jce.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/charsets.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/sunec.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/nashorn.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/cldrdata.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/dnsns.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/localedata.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/sunjce_provider.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/sunpkcs11.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/jaccess.jar:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/ext/zipfs.jar:/System/Library/Java/Extensions/MRJToolkit.jar:/Users/jz/.ivy2/local/org.scala-lang/scala-library/2.12.9-bin-d62f26c-SNAPSHOT/jars/scala-library.jar:/Users/jz/code/TwoTails/core/target/scala-2.12/test-classes:/Users/jz/code/TwoTails/core/target/scala-2.12/classes:/Users/jz/code/TwoTails/annotations/target/scala-2.12/classes:/Users/jz/.ivy2/cache/org.scalatest/scalatest_2.12/bundles/scalatest_2.12-3.0.6-SNAP1.jar:/Users/jz/.ivy2/cache/org.scalactic/scalactic_2.12/bundles/scalactic_2.12-3.0.6-SNAP1.jar:/Users/jz/.ivy2/local/org.scala-lang/scala-reflect/2.12.9-bin-d62f26c-SNAPSHOT/jars/scala-reflect.jar:/Users/jz/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.1.0.jar:/Users/jz/.ivy2/local/org.scala-lang/scala-compiler/2.12.9-bin-d62f26c-SNAPSHOT/jars/scala-compiler.jar]
[info] [loaded package loader <root package> in 10ms]
[info] [loaded package loader java in 1ms]
[info] [loaded package loader java.lang in 1ms]
[info] [loaded package loader scala.annotation in 0ms]
[info] [loaded class file /Users/jz/.ivy2/local/org.scala-lang/scala-library/2.12.9-bin-d62f26c-SNAPSHOT/jars/scala-library.jar(scala/reflect/package.class) in 1ms]
...
[info] [loaded class file /Users/jz/.ivy2/cache/org.scalatest/scalatest_2.12/bundles/scalatest_2.12-3.0.6-SNAP1.jar(org/scalatest/Entry.class) in 0ms]
[info] [loaded class file /usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11/jre/lib/rt.jar(java/util/Map$Entry.class) in 0ms]
[warn] two warnings found
[info] Done compiling.
[success] Total time: 40 s, completed 07/03/2019 1:00:05 PM
sbt:root>

@retronym
Copy link
Member Author

retronym commented Mar 7, 2019

Something seems to be running slowly in CI.

On Travis:

ok 14 - jvm/innerClassAttribute                 
ok 15 - jvm/interpreter.scala                   [duration 40.42s]
ok 16 - jvm/javaReflection                      [duration 7.69s]
ok 17 - jvm/manifests-old.scala                 

The corresponding Jenkins jobs also seem to have gotten slower.

I'm rebuilding one of the last "fast" (38m) Jenkins runs on the 2.12.x branch. If that takes about the same time, I'd assume we're looking for some change on the 2.12.x branch since then. If not, I'd assume something has changed in infrastructure.


The Jenknis rebuild took 47 min. Not quite 38m, but perhaps still "fast" if the machine was shared with another build.

Recent builds from the top of 2.12.x also seem to be comparable again. e.g. https://scala-ci.typesafe.com/job/scala-2.12.x-validate-main/1512, which builds f00cb65, took 42 minutes.

So let's keep our 👀 open.

@SethTisue SethTisue merged commit f0936e0 into scala:2.12.x Mar 7, 2019
@SethTisue
Copy link
Member

Something seems to be running slowly in CI.

Huh. I'll keep an eye out to see if it continues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants