Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-31668

Matrix/Multiconfiguration mode fails when using Sauce Connect

XMLWordPrintable

      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.

            halkeye Gavin Mogan
            thecampbellcash Andrew Campbell
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: