-
Bug
-
Resolution: Fixed
-
Minor
-
None
If you enable the option to launch a unique tunnel per build, then you will receive a lock error when trying to expand Sauce Connect on the second and following builds if they are run on the same node as the first build.
FATAL: Error while expanding /Users/Shared/Jenkins/sc-4.3.12-osx.zip org.codehaus.plexus.archiver.ArchiverException: Error while expanding /Users/Shared/Jenkins/sc-4.3.12-osx.zip at org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver.execute(AbstractZipUnArchiver.java:158) at org.codehaus.plexus.archiver.AbstractUnArchiver.extract(AbstractUnArchiver.java:120) at com.saucelabs.ci.sauceconnect.SauceConnectFourManager.unzipFile(SauceConnectFourManager.java:289) at com.saucelabs.ci.sauceconnect.SauceConnectFourManager.extractZipFile(SauceConnectFourManager.java:254) at com.saucelabs.ci.sauceconnect.SauceConnectFourManager.createProcessBuilder(SauceConnectFourManager.java:198) at com.saucelabs.ci.sauceconnect.AbstractSauceTunnelManager.openConnection(AbstractSauceTunnelManager.java:299) at hudson.plugins.sauce_ondemand.SauceOnDemandBuildWrapper$SauceConnectHandler.call(SauceOnDemandBuildWrapper.java:913) at hudson.plugins.sauce_ondemand.SauceOnDemandBuildWrapper.setUp(SauceOnDemandBuildWrapper.java:348) at hudson.model.Build$BuildExecution.doRun(Build.java:156) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537) at hudson.model.Run.execute(Run.java:1741) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:408) Caused by: java.io.IOException: Negative seek offset at java.io.RandomAccessFile.seek(RandomAccessFile.java:538) at org.codehaus.plexus.archiver.zip.ZipFile.positionAtCentralDirectory(ZipFile.java:397) at org.codehaus.plexus.archiver.zip.ZipFile.populateFromCentralDirectory(ZipFile.java:269) at org.codehaus.plexus.archiver.zip.ZipFile.<init>(ZipFile.java:151) at org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver.execute(AbstractZipUnArchiver.java:138) ... 13 more Finished: FAILURE
If you are not using that option but still launch multiple builds on the same node, then Sauce Connect will fail to start with either a pid file collision or port collison.
What I think should happen is that the 'launch unique tunnel per build' option should be on if using a multi configuration project and the zip collision just needs to be corrected.