Closed jroper closed 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)
I do the same thing in https://github.com/typesafehub/npm/pull/13, but by using FileUtils.deleteDirectory
instead
@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?
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.
Merged this here: https://github.com/typesafehub/npm/commit/031a3ed38631880d1e31cef423e1b01fcf3bbfdc
Thanks James!
I think we need to downgrade npm as well. See https://github.com/typesafehub/npm/pull/13
Thanks for looking at this!