Build Slave

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Build Slave

Jeff Gonis-2
Hi Folks,

I know I am little bit overdue here, but I have my OSX machine set up with a Windows 8 machine to follow shortly.  I have it connected to the jenkins server, but when I attempt to have it run the Squeak-OSX project it chooses to run on the "norst" slave, ignoring mine.  I can't seem to figure out how to get it to run on my machine so that I can at least confirm that I am set up correctly.  If anyone has any pointers here they would be appreciated, or if you can just go ahead and run a build on my machine and let me know if all went well that would be appreciated as well.

Anyway, hopefully this can help out with our OSX infrastructure.

Thanks,
Jeff


Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Frank Shearar-3
On 7 February 2014 06:07, Jeff Gonis <[hidden email]> wrote:

> Hi Folks,
>
> I know I am little bit overdue here, but I have my OSX machine set up with a
> Windows 8 machine to follow shortly.  I have it connected to the jenkins
> server, but when I attempt to have it run the Squeak-OSX project it chooses
> to run on the "norst" slave, ignoring mine.  I can't seem to figure out how
> to get it to run on my machine so that I can at least confirm that I am set
> up correctly.  If anyone has any pointers here they would be appreciated, or
> if you can just go ahead and run a build on my machine and let me know if
> all went well that would be appreciated as well.
>
> Anyway, hopefully this can help out with our OSX infrastructure.

Thanks!

The only thing missing was labelling the slave with "osx". This guy -
http://build.squeak.org/job/SqueakTrunk-OSX/553/ - is now running on
your machine. It will in all likelihood fail, because I don't know how
to make the Interpreter VM run headless properly on OSX.

Ah, yes, it did fail, but for an odd reason: "Caused by:
java.lang.OutOfMemoryError: PermGen space". Now Tony Garnock-Jones and
I have seen this error many times. I think it's because when Jenkins
runs builds it generates new class definitions (and classes live in
PermGen). Thus, after a while, a build slave will start throwing these
errors. However, I'm surprised to see you hit these so early. The
thing to do is to tell the JVM to allocate more space to the PermGen.
How exactly to do that I have forgotten, and the answer is on my Mac
at home!

frank

Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Jeff Gonis-2
Hi Frank,

Thanks for the update! Unfortunately I read it as I was coming into work this morning, and so I won't be able to make the adjustments until later on today. I'll send another email when I have done so.

Thanks for your help,
Jeff


Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Jeff Gonis-2
Hi Frank,

If you have any pointers about this error I would really appreciate them.  I spent some time increasing the MaxPermSize pretty much EVERYWHERE, although apparently I have still missed a setting somewhere because the error is still occurring. I am going to keep reading and working on this, but any direction you can give me would be greatly appreciated.

Thanks for your help,
Jeff


Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Tom Rushworth-2
Hi Jeff,

I don't know if it's related, but I found that I HAD to have the user
that was running the CI job also logged into the screen or the headless
VM run would fail.  Is it possible that the headless VM failing could
lead to a loop attempting to start the VM over and over until space is
exhausted?

On 14-02-07 16:02 , Jeff Gonis wrote:

> Hi Frank,
>
> If you have any pointers about this error I would really appreciate them.
> I spent some time increasing the MaxPermSize pretty much EVERYWHERE,
> although apparently I have still missed a setting somewhere because the
> error is still occurring. I am going to keep reading and working on this,
> but any direction you can give me would be greatly appreciated.
>
> Thanks for your help,
> Jeff
>
>
>
>


--
Tom Rushworth

Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Tony Garnock-Jones-3
In reply to this post by Frank Shearar-3
On 02/07/2014 02:07 AM, Frank Shearar wrote:
> java.lang.OutOfMemoryError: PermGen space [...] The
> thing to do is to tell the JVM to allocate more space to the PermGen.
> How exactly to do that I have forgotten, and the answer is on my Mac
> at home!

I am currently booting the slaves with the following, which seems to
have cut back on the number of PermGen errors we see. Note the
SLAVENAME, YOURUSERNAME and YOURPASSWORD variables in there.

java -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -jar
slave.jar -jnlpUrl
http://build.squeak.org/computer/${SLAVENAME}/slave-agent.jnlp
-jnlpCredentials ${YOURUSERNAME}:${YOURPASSWORD}

(I can't remember how I got the YOURPASSWORD string set up.)

Cheers,
  Tony

Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Frank Shearar-3
On 8 February 2014 02:19, Tony Garnock-Jones <[hidden email]> wrote:

> On 02/07/2014 02:07 AM, Frank Shearar wrote:
>> java.lang.OutOfMemoryError: PermGen space [...] The
>> thing to do is to tell the JVM to allocate more space to the PermGen.
>> How exactly to do that I have forgotten, and the answer is on my Mac
>> at home!
>
> I am currently booting the slaves with the following, which seems to
> have cut back on the number of PermGen errors we see. Note the
> SLAVENAME, YOURUSERNAME and YOURPASSWORD variables in there.
>
> java -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -jar
> slave.jar -jnlpUrl
> http://build.squeak.org/computer/${SLAVENAME}/slave-agent.jnlp
> -jnlpCredentials ${YOURUSERNAME}:${YOURPASSWORD}
>
> (I can't remember how I got the YOURPASSWORD string set up.)

That's the same password as your build.squeak.org account.

Thanks for the incantation, Tony!

frank

> Cheers,
>   Tony
>

Reply | Threaded
Open this post in threaded view
|

Re: Build Slave

Frank Shearar-3
In reply to this post by Tom Rushworth-2
On 8 February 2014 01:16, Tom Rushworth <[hidden email]> wrote:
> Hi Jeff,
>
> I don't know if it's related, but I found that I HAD to have the user
> that was running the CI job also logged into the screen or the headless
> VM run would fail.

So the way my Mac's set up is that I have a jenkins user. I open a
terminal window and "sudo -u jenkins build_slave.sh" where
build_slave.sh contains the necessary commands to boot up a Jenkins
build slave and have it phone home.

Are you saying that the user running the script has to be the user
owning the desktop? What if you unset the DISPLAY env var? (I recall
seeing the squeak script checking for this.)

>  Is it possible that the headless VM failing could
> lead to a loop attempting to start the VM over and over until space is
> exhausted?

The space that's being exhausted here is the space the JVM uses to
store Java classes.

frank

> On 14-02-07 16:02 , Jeff Gonis wrote:
>> Hi Frank,
>>
>> If you have any pointers about this error I would really appreciate them.
>> I spent some time increasing the MaxPermSize pretty much EVERYWHERE,
>> although apparently I have still missed a setting somewhere because the
>> error is still occurring. I am going to keep reading and working on this,
>> but any direction you can give me would be greatly appreciated.
>>
>> Thanks for your help,
>> Jeff
>>
>>
>>
>>
>
>
> --
> Tom Rushworth
>