Skip to content

Unexpected NullPointerException in sbt unmanagedResources #1360

Open
@4lex1v

Description

@4lex1v

Hey bloop team!

I'm hitting a NullPointerException error when trying to generate bloop's config for the project. It works for all modules except one. After some investigation I've noticed that the error occurs because we have some additional resources configuration outside of module's root, e.g:

    Compile / unmanagedResources ++= Seq(
      file("file1.yml"),
      file("folder/file2.yaml"),
      ... etc
    ),

With the above setting, I'm getting the following error:

java.lang.NullPointerException stack trace

sbt:root> last
[debug] > Exec(bloopInstall, Some(521bc6d9-2a6e-41f3-ad9d-1eacfbe6aa7f), Some(CommandSource(console0)))
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@330d557e, check cycles: false, forcegc: true
[debug] Evaluating tasks: analytics / bloopInstall, analyticsCli / bloopInstall, e2eTest / bloopInstall, clusterDeps / bloopInstall, bloopInstall
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@3e3d8e6c, check cycles: false, forcegc: true
[success] Generated .bloop\root-test.json
[success] Generated .bloop\analyticsCli-test.json
[success] Generated .bloop\clusterDeps-test.json
[success] Generated .bloop\e2eTest-test.json
[success] Generated .bloop\analytics-it.json
[success] Generated .bloop\analytics-test.json
[error] java.lang.NullPointerException
[error]         at bloop.config.util.ConfigUtil$.$anonfun$pathsOutsideRoots$2(ConfigUtil.scala:11)
[error]         at bloop.config.util.ConfigUtil$.$anonfun$pathsOutsideRoots$2$adapted(ConfigUtil.scala:8)
[error]         at scala.collection.LinearSeqOptimized.exists(LinearSeqOptimized.scala:95)
[error]         at scala.collection.LinearSeqOptimized.exists$(LinearSeqOptimized.scala:92)
[error]         at scala.collection.immutable.List.exists(List.scala:89)
[error]         at bloop.config.util.ConfigUtil$.$anonfun$pathsOutsideRoots$1(ConfigUtil.scala:8)
[error]         at bloop.config.util.ConfigUtil$.$anonfun$pathsOutsideRoots$1$adapted(ConfigUtil.scala:7)
[error]         at scala.collection.TraversableLike.$anonfun$filterImpl$1(TraversableLike.scala:256)
[error]         at scala.collection.Iterator.foreach(Iterator.scala:941)
[error]         at scala.collection.Iterator.foreach$(Iterator.scala:941)
[error]         at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
[error]         at scala.collection.IterableLike.foreach(IterableLike.scala:74)
[error]         at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
[error]         at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
[error]         at scala.collection.TraversableLike.filterImpl(TraversableLike.scala:255)
[error]         at scala.collection.TraversableLike.filterImpl$(TraversableLike.scala:249)
[error]         at scala.collection.AbstractTraversable.filterImpl(Traversable.scala:108)
[error]         at scala.collection.TraversableLike.filterNot(TraversableLike.scala:355)
[error]         at scala.collection.TraversableLike.filterNot$(TraversableLike.scala:355)
[error]         at scala.collection.AbstractTraversable.filterNot(Traversable.scala:108)
[error]         at bloop.config.util.ConfigUtil$.pathsOutsideRoots(ConfigUtil.scala:7)
[error]         at bloop.integrations.sbt.BloopDefaults$.$anonfun$bloopResourcesTask$2(SbtBloop.scala:1267)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]         at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error]         at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error]         at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error]         at sbt.Execute.work(Execute.scala:290)
[error]         at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error]         at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)

[error]         at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]         at java.lang.Thread.run(Thread.java:748)
[error] (analyticsCli / Compile / bloopGenerate) java.lang.NullPointerException
[error] Total time: 4 s, completed Aug 25, 2020 5:34:09 PM
[debug] > Exec(shell, None, None)
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@31406eab, check cycles: false, forcegc: true

Changing the value of this setting to something like Seq.empty (i.e set analyticsCli / Compile / unmanagedResources := Seq.empty) addresses the problem and bloopInstall works.

If this would be important i'm using bloop 1.4.3, sbt 1.3.13 on Windows 10.

Please let me know if you need more details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions