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

Bounds exceeds available space exception after successful build-step

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • core, remoting
    • Master on RHEL7.6
      Worker on MacOS Big Sur
      Jenkins 2.249.3
    • 2.297, 2.287.2

    Description

      As previously reported in JENKINS-6423, I have an exception after my build successfully completes. It only started happening this weekend, only on the Mac worker, right after I updated to Big Sur... It doesn't happen to every build, just seemingly random across jobs. It also doesn't always happen after the whole job is finished, it can happen after X out of Y steps.

      20:53:05.897 FATAL: Bounds exceeds available space : size=1048576, offset=1048577
      20:53:05.898 Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to worker-mobile-01
      20:53:05.898 		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1800)
      20:53:05.898 		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
      20:53:05.898 		at hudson.remoting.Channel.call(Channel.java:1001)
      20:53:05.898 		at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1147)
      20:53:05.898 		at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
      20:53:05.898 		at hudson.model.Run.execute(Run.java:1894)
      20:53:05.898 		at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      20:53:05.898 		at hudson.model.ResourceController.execute(ResourceController.java:97)
      20:53:05.898 		at hudson.model.Executor.run(Executor.java:428)
      20:53:05.898 java.lang.IndexOutOfBoundsException: Bounds exceeds available space : size=1048576, offset=1048577
      20:53:05.898 	at com.sun.jna.Memory.boundsCheck(Memory.java:221)
      20:53:05.898 	at com.sun.jna.Memory.getByte(Memory.java:443)
      20:53:05.898 	at hudson.util.ProcessTree$Darwin$DarwinProcess$1StringArrayMemory.readString(ProcessTree.java:1739)
      20:53:05.898 	at hudson.util.ProcessTree$Darwin$DarwinProcess.parse(ProcessTree.java:1811)
      20:53:05.898 	at hudson.util.ProcessTree$Darwin$DarwinProcess.getEnvironmentVariables(ProcessTree.java:1688)
      20:53:05.898 	at hudson.util.ProcessTree$OSProcess.hasMatchingEnvVars(ProcessTree.java:339)
      20:53:05.898 	at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:733)
      20:53:05.898 	at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1164)
      20:53:05.898 	at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1155)
      20:53:05.898 	at hudson.remoting.UserRequest.perform(UserRequest.java:211)
      20:53:05.898 	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
      20:53:05.898 	at hudson.remoting.Request$2.run(Request.java:375)
      20:53:05.898 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73)
      20:53:05.898 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      20:53:05.898 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      20:53:05.898 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      20:53:05.898 	at java.lang.Thread.run(Thread.java:748)
      

      Attachments

        Issue Links

          Activity

            kenji Richard Bergoin added a comment - simply download it from  https://your-jenkins.url/jnlpJars/agent.jar  
            sagarghimire Sagar added a comment - - edited

            kenji
            I tried downloading the agent.jar file from https://localhost:8080/jnlpJars/agent.jar
            1. My mac tells me that this file can't be trusted and doesn't let me run this file. Is there any other way to run this file? I tried running it by double clicking it.
            2. Where exactly do you add this command on the launch agent?
            java -Dhudson.util.ProcessTreeKiller.disable=true -jar agent.jar -jnlpUrl https://REDACTED/slave-agent.jnlp -secret REDACTED -noCertificateCheck
            Is there a certain file I should add this to? What is this REDACTED part of the command? Running it in the terminal throws unknown exception REDACTED.

            We only have one master agent - no other nodes/slave agent.

            sagarghimire Sagar added a comment - - edited kenji I tried downloading the agent.jar file from https://localhost:8080/jnlpJars/agent.jar 1. My mac tells me that this file can't be trusted and doesn't let me run this file. Is there any other way to run this file? I tried running it by double clicking it. 2. Where exactly do you add this command on the launch agent? java -Dhudson.util.ProcessTreeKiller.disable=true -jar agent.jar -jnlpUrl https://REDACTED/slave-agent.jnlp -secret REDACTED -noCertificateCheck Is there a certain file I should add this to? What is this REDACTED part of the command? Running it in the terminal throws unknown exception REDACTED. We only have one master agent - no other nodes/slave agent.

            You can follow this blog post explaining how to configure a new node in jenkins and how to run a macOS launch agent : https://mgrebenets.github.io/mobile%20ci/2015/02/01/jenkins-remote-node

            I prefer running some shell script to have a cleaner launchd plist file.

            The REDACTED following -secret is redacted to keep this secret token... secret.

            kenji Richard Bergoin added a comment - You can follow this blog post explaining how to configure a new node in jenkins and how to run a macOS launch agent : https://mgrebenets.github.io/mobile%20ci/2015/02/01/jenkins-remote-node I prefer running some shell script to have a cleaner launchd plist file. The REDACTED following -secret is redacted to keep this secret token... secret.
            sagarghimire Sagar added a comment -

            kenji
            Is there a way to solve the memory-bound error on the main server (that has the master) without using/setting up nodes? We would prefer to use this machine for all of our builds and not use any Jenkins slaves.

            sagarghimire Sagar added a comment - kenji Is there a way to solve the memory-bound error on the main server (that has the master) without using/setting up nodes? We would prefer to use this machine for all of our builds and not use any Jenkins slaves.
            timja Tim Jacomb added a comment -

            This should be fixed in recent weekly versions and not need these work arounds. It will be in LTS next Wednesday

            timja Tim Jacomb added a comment - This should be fixed in recent weekly versions and not need these work arounds. It will be in LTS next Wednesday

            People

              kenji Richard Bergoin
              malice00 Roland Asmann
              Votes:
              3 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: