typesafehub / npm

Other
3 stars 6 forks source link

Ensure node incremental compilation isn't used #12

Closed jroper closed 7 years ago

benmccann commented 7 years ago

I think we need to downgrade npm as well. See https://github.com/typesafehub/npm/pull/13

Thanks for looking at this!

wsargent commented 7 years ago

Fails with https://travis-ci.org/typesafehub/npm/builds/208034383#L661 -- anyone know what sshpk-sign is here?

[ERROR] [03/06/2017 00:24:16.708] [test-system-blocking-process-io-dispatcher-7] [TaskInvocation] access denied ("java.io.FilePermission" "/home/travis/build/typesafehub/npm/node_modules/.bin/sshpk-sign" "readlink")
java.security.AccessControlException: access denied ("java.io.FilePermission" "/home/travis/build/typesafehub/npm/node_modules/.bin/sshpk-sign" "readlink")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
    at java.security.AccessController.checkPermission(AccessController.java:559)
    at sun.nio.fs.UnixFileSystemProvider.readSymbolicLink(UnixFileSystemProvider.java:487)
    at java.nio.file.Files.readSymbolicLink(Files.java:1384)
    at io.apigee.trireme.kernel.fs.AdvancedFilesystem.readlink(AdvancedFilesystem.java:494)
    at io.apigee.trireme.node10.modules.Filesystem$FSImpl$25.execute(Filesystem.java:802)
    at io.apigee.trireme.node10.modules.Filesystem$FSImpl$1.run(Filesystem.java:147)
    at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
benmccann commented 7 years ago

I do the same thing in https://github.com/typesafehub/npm/pull/13, but by using FileUtils.deleteDirectory instead

benmccann commented 7 years ago

@jroper I went ahead and merged #13 to fix the build. The main thing it didn't have that this one does it:

val system = ActorSystem("test-system", classLoader = Some(this.getClass.getClassLoader))

I didn't know why that change was made. Is it something you think we should add still?

jroper commented 7 years ago

Akka's classloader detection will use the context classloader if it detects Akka in the context classloader. In some circumstances, sbt will leak Akka into the context classloader, and it will be the wrong version of Akka, and this will cause binary compatibility issues. The best solution is to always be explicit about which classloader you want. Another solution is to fork tests.

benmccann commented 7 years ago

Merged this here: https://github.com/typesafehub/npm/commit/031a3ed38631880d1e31cef423e1b01fcf3bbfdc

Thanks James!