Supported Platforms for Build Agents
Is there a list of 'supported platforms' - OS - for build agents? I couldn't find one, but the documentation for installing agents references only Windows and Linux. Can build agents be deployed into J2EE containers on other operating systems (Solaris, HPUX) as well?
Thanks,
Ray
Please sign in to leave a comment.
Ray,
Sorry for the delay in replying.
Build agents should run on any Java-enabled platform. The main requirement is JDK 1.5+.
However, manual stopping of the build will work only on the platforms supported by the underlying library used (see list of supported platforms for the 3.5 version on http://www.teamdev.com/jniwrapper/index.jsf )
Please note that currently we only test agents on Windows, Linux and Mac machines.
We have reports from our users that agents work on Solaris OK.
We would appreciate feedback on how TeamCity runs on other platforms.
Unlike the server, J2EE container is not needed for the agent, Agent is started as usual Java application.
--
Best regards,
Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
I am running team city on Solaris 10 x86 and ever since the 3.0 release we have not been able to stop a build manually. Also timeout is unable to stop the running builds. After attempting to manually stop the build, the build agent becomes unavailable and I have to kill the process and restart it.
Here is the exception found in the teamcity-agent.log:
INFO - buildServer.AGENT.registration - java.lang.RuntimeException: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: ld.so.1: java: fatal: /lib/libc.so.6: open failed: No such file or directory
java.lang.RuntimeException: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: ld.so.1: java: fatal: /lib/libc.so.6: open failed: No such file or directory
at jetbrains.buildServer.processes.ProcessTreeTerminator.call(ProcessTreeTerminator.java:52)
at jetbrains.buildServer.processes.ProcessTreeTerminator.doNativeStop(ProcessTreeTerminator.java:57)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.nativeStopOK(BuildAgentImpl.java:205)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$3.run(BuildAgentImpl.java:168)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.runGuarded(BuildAgentImpl.java:468)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.stopBuild(BuildAgentImpl.java:163)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.registerOnBuildServer(BuildAgentImpl.java:904)
at jetbrains.buildServer.agent.impl.ServerMonitor.run(ServerMonitor.java:63)
Caused by: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: ld.so.1: java: fatal: /lib/libc.so.6: open failed: No such file or directory
at com.jniwrapper.Library.loadLibrary(Native Method)
at com.jniwrapper.Library.a(SourceFile:140)
at com.jniwrapper.Library.load(SourceFile:130)
at com.jniwrapper.Library.getFunction(SourceFile:257)
at com.jniwrapper.Function.call(SourceFile:256)
at com.jniwrapper.Function.call(SourceFile:271)
at jetbrains.buildServer.processes.ProcessTreeTerminatorLinux.getPid(ProcessTreeTerminatorLinux.java:62)
at jetbrains.buildServer.processes.ProcessTreeTerminatorLinux.killProcessTree(ProcessTreeTerminatorLinux.java:36)
at jetbrains.buildServer.processes.ProcessTreeTerminator$1.with(ProcessTreeTerminator.java:59)
at jetbrains.buildServer.processes.ProcessTreeTerminator$1.with(ProcessTreeTerminator.java:58)
at jetbrains.buildServer.processes.ProcessTreeTerminator.call(ProcessTreeTerminator.java:46)
... 7 more
Hello,
I've forwarded the issue to JNIWrapper developers (the library we use in the build stopping feature).
As a workaround I could suggest you trying to add /lib/libc.so.6 link to /lib/libc.so.1
--
Best regards,
Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
thanks. I'll give it a try.
That works! Thanks!
I've got a similar problem running with LinuxPPC, Fedora8 PPC running on a PowerMac Pro G5. It looks like the lib file isn't
From the teamcity-agent.log:
WARN - buildServer.AGENT.registration - My running build 439 is obsolete. Will try to stop it and reregister cleanly
INFO - jetbrains.buildServer.AGENT - Executing native command to stop running build
INFO - rocesses.ProcessTreeTerminator - Thread is Process thread modelnull
WARN - buildServer.AGENT.registration - Connection to TeamCity server is probably lost. Will be trying to restore it. Take a look at logs/teamcity-agent.log for details (unless you're using custom logging).
INFO - buildServer.AGENT.registration - java.lang.RuntimeException: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: /lib/libc.so.6: wrong ELF class: ELFCLASS32
java.lang.RuntimeException: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: /lib/libc.so.6: wrong ELF class: ELFCLASS32
at jetbrains.buildServer.processes.ProcessTreeTerminator.call(ProcessTreeTerminator.java:52)
at jetbrains.buildServer.processes.ProcessTreeTerminator.doNativeStop(ProcessTreeTerminator.java:57)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.nativeStopOK(BuildAgentImpl.java:205)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$3.run(BuildAgentImpl.java:172)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.runGuarded(BuildAgentImpl.java:397)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.stopBuild(BuildAgentImpl.java:167)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.registerOnBuildServer(BuildAgentImpl.java:820)
at jetbrains.buildServer.agent.impl.ServerMonitor.run(ServerMonitor.java:63)
Caused by:
com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: /lib/libc.so.6: wrong ELF class: ELFCLASS32
at com.jniwrapper.Library.loadLibrary(Native Method)
at com.jniwrapper.Library.a(SourceFile:140)
at com.jniwrapper.Library.load(SourceFile:134)
at com.jniwrapper.Library.getFunction(SourceFile:257)
at com.jniwrapper.Function.call(SourceFile:256)
at com.jniwrapper.Function.call(SourceFile:271)
at jetbrains.buildServer.processes.ProcessTreeTerminatorLinux.getPid(ProcessTreeTerminatorLinux.java:62)
at jetbrains.buildServer.processes.ProcessTreeTerminatorLinux.killProcessTree(ProcessTreeTerminatorLinux.java:36)
at jetbrains.buildServer.processes.ProcessTreeTerminator$1.with(ProcessTreeTerminator.java:59)
at jetbrains.buildServer.processes.ProcessTreeTerminator$1.with(ProcessTreeTerminator.java:58)
at jetbrains.buildServer.processes.ProcessTreeTerminator.call(ProcessTreeTerminator.java:46)
... 7 more
I download the JNIWrappers from TeamDev, and put the libjniwrapper_ppc.so and libjniwrapper_ppc64.
No luck with the libjniwrapper_ppc.so and libjniwrapper_ppc64.so files. The TeamCity server keeps pulling the build agent offline with the following message:
From the teamcity-server.log:
INFO - tbrains.buildServer.ACTIVITIES - Configuration removed from queue; name=RMIDynamicProxy :: maven2_port, requestor=Unexpected finish, comment=null, user=null
INFO - r.serverSide.impl.BuildStarter - jetbrains.buildServer.serverSide.ExecutionException: jetbrains.buildServer.xmlrpc.RemoteCallException: Call http://192.168.1.2:9090/RPC2 buildAgent.run: org.apache.xmlrpc.XmlRpcException: java.lang.Exception: jetbrains.buildServer.AlreadyRunningBuildException: Already running a build 453 false
jetbrains.buildServer.serverSide.ExecutionException: jetbrains.buildServer.xmlrpc.RemoteCallException: Call http://192.168.1.2:9090/RPC2 buildAgent.run: org.apache.xmlrpc.XmlRpcException: java.lang.Exception: jetbrains.buildServer.AlreadyRunningBuildException: Already running a build 453 false
at jetbrains.buildServer.serverSide.impl.XmlRpcBasedAgent.run(XmlRpcBasedAgent.java:93)
at jetbrains.buildServer.serverSide.impl.auth.SecuredBuildAgent.run(SecuredBuildAgent.java:37)
at jetbrains.buildServer.serverSide.impl.BuildStarter$1.run(BuildStarter.java:37)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:453)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
at java.util.concurrent.FutureTask.run(FutureTask.java:150)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:735)
Caused by:
jetbrains.buildServer.xmlrpc.RemoteCallException: Call http://192.168.1.2:9090/RPC2 buildAgent.run: org.apache.xmlrpc.XmlRpcException: java.lang.Exception: jetbrains.buildServer.AlreadyRunningBuildException: Already running a build 453 false
at jetbrains.buildServer.xmlrpc.AbstractXmlRpcTarget.call(AbstractXmlRpcTarget.java:1)
at jetbrains.buildServer.serverSide.impl.XmlRpcBasedAgent.run(XmlRpcBasedAgent.java:13)
... 8 more
Caused by:
org.apache.xmlrpc.XmlRpcException: java.lang.Exception: jetbrains.buildServer.AlreadyRunningBuildException: Already running a build 453 false
at org.apache.xmlrpc.XmlRpcClientResponseProcessor.decodeException(XmlRpcClientResponseProcessor.java:104)
at org.apache.xmlrpc.XmlRpcClientResponseProcessor.decodeResponse(XmlRpcClientResponseProcessor.java:71)
at org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:73)
at org.apache.xmlrpc.TCXmlRpcClient$1.execute(TCXmlRpcClient.java:1)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:194)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:185)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)
at jetbrains.buildServer.xmlrpc.impl.CommonsXmlRpcTargetImpl$1.execute(CommonsXmlRpcTargetImpl.java:3)
at jetbrains.buildServer.xmlrpc.AbstractXmlRpcTarget.call(AbstractXmlRpcTarget.java:12)
... 9 more
INFO - jetbrains.buildServer.SERVER - Running build bt2 on Major Fedora PPC:454 was interrupted: FINISHED_UNEXPECTEDLY
INFO - tbrains.buildServer.ACTIVITIES - Configuration added to queue; name=RMIDynamicProxy :: maven2_port; requestor=Unexpected finish
INFO - tbrains.buildServer.ACTIVITIES - Build queue order changed by null, old order: , new order:
INFO - tbrains.buildServer.ACTIVITIES - Finishing build 454, name: maven2_port, personal: false, failed: false, interrupted: true, cancelled:
INFO - serverSide.impl.DBBuildHistory - Start creating history entry for RMIDynamicProxy :: maven2_port 454, date: 1205720701866
INFO - serverSide.impl.DBBuildHistory - End creating history entry for RMIDynamicProxy :: maven2_port 454
INFO - tbrains.buildServer.ACTIVITIES - Build started; name=RMIDynamicProxy :: maven2_port, personal=false, buildId=455
INFO - jetbrains.buildServer.SERVER - Finished 454
INFO - jetbrains.buildServer.SERVER - Running build bt2 on Major Fedora PPC:455 was interrupted: FINISHED_UNEXPECTEDLY
INFO - tbrains.buildServer.ACTIVITIES - Configuration removed from queue; name=RMIDynamicProxy :: maven2_port, requestor=Unexpected finish, comment=null, user=null
INFO - tbrains.buildServer.ACTIVITIES - Configuration added to queue; name=RMIDynamicProxy :: maven2_port; requestor=Unexpected finish
INFO - tbrains.buildServer.ACTIVITIES - Build queue order changed by null, old order: , new order:
INFO - tbrains.buildServer.ACTIVITIES - Finishing build 455, name: maven2_port, personal: false, failed: false, interrupted: true, cancelled:
INFO - serverSide.impl.DBBuildHistory - Start creating history entry for RMIDynamicProxy :: maven2_port 455, date: 1205720702022
INFO - serverSide.impl.DBBuildHistory - End creating history entry for RMIDynamicProxy :: maven2_port 455
INFO - jetbrains.buildServer.SERVER - Finished 455
INFO - jetbrains.buildServer.SERVER - Agent Major Fedora PPC has been unregistered. Id: 1
From the teamcity-agent.log:
INFO - jetbrains.buildServer.AGENT - Found runner Maven2 for
INFO - buildServer.AGENT.registration - Registering agent "Major Fedora PPC" (192.168.1.2:9090) on http://192.168.1.2:8111
with runners:
WARN - buildServer.AGENT.registration - My running build 453 is obsolete. Will try to stop it and reregister cleanly
INFO - jetbrains.buildServer.AGENT - Executing native command to stop running build
INFO - rocesses.ProcessTreeTerminator - Thread is Process thread modelnull
WARN - buildServer.AGENT.registration - Connection to TeamCity server is probably lost. Will be trying to restore it. Take a look at logs/teamcity-agent.log for details (unless you're using custom logging).
INFO - buildServer.AGENT.registration - java.lang.RuntimeException: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: /lib/libc.so.6: wrong ELF class: ELFCLASS32
java.lang.RuntimeException: com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: /lib/libc.so.6: wrong ELF class: ELFCLASS32
at jetbrains.buildServer.processes.ProcessTreeTerminator.call(ProcessTreeTerminator.java:52)
at jetbrains.buildServer.processes.ProcessTreeTerminator.doNativeStop(ProcessTreeTerminator.java:57)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.nativeStopOK(BuildAgentImpl.java:205)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$3.run(BuildAgentImpl.java:172)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.runGuarded(BuildAgentImpl.java:397)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.stopBuild(BuildAgentImpl.java:167)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.registerOnBuildServer(BuildAgentImpl.java:820)
at jetbrains.buildServer.agent.impl.ServerMonitor.run(ServerMonitor.java:63)
Caused by:
com.jniwrapper.LibraryNotFoundException: /lib/libc.so.6 cause: /lib/libc.so.6: wrong ELF class: ELFCLASS32
at com.jniwrapper.Library.loadLibrary(Native Method)
at com.jniwrapper.Library.a(SourceFile:140)
at com.jniwrapper.Library.load(SourceFile:134)
at com.jniwrapper.Library.getFunction(SourceFile:257)
at com.jniwrapper.Function.call(SourceFile:256)
at com.jniwrapper.Function.call(SourceFile:271)
at jetbrains.buildServer.processes.ProcessTreeTerminatorLinux.getPid(ProcessTreeTerminatorLinux.java:62)
at jetbrains.buildServer.processes.ProcessTreeTerminatorLinux.killProcessTree(ProcessTreeTerminatorLinux.java:36)
at jetbrains.buildServer.processes.ProcessTreeTerminator$1.with(ProcessTreeTerminator.java:59)
at jetbrains.buildServer.processes.ProcessTreeTerminator$1.with(ProcessTreeTerminator.java:58)
at jetbrains.buildServer.processes.ProcessTreeTerminator.call(ProcessTreeTerminator.java:46)
... 7 more
WARN - buildServer.AGENT.registration - Connection to TeamCity server has been restored
Hello,
Please submit a bug in our tracker with server and agent logs attached.
--
Pavel Sher
Software Developer
JetBrains, Inc.
http://www.jetbrains.com
"Develop with pleasure!"
"Eric Bronnimann" <eric@bronnimann.com> wrote in message
news:8335250.4511205721052619.JavaMail.jive@app4.labs.intellij.net...
>
>
>
>
Hello,
We managed to reimplement the functionality of stopping build without using jniwrap.
Please, try it.
In the attachement there is buildServerCommon.jar. To apply the patch do the following:
- open ]]>/webapps/ROOT/update
- backup buildagent.zip
- replace in buildagent.zip/lib/buildServerCommon.jar to the file from attachement.
- note, TeamCity server monitor changes in buildagent.zip, thus, please do patching
of buildagent.zip somewhere in temporary folder and than replace original buildagent.zip with patched.
- after a while all idle agents will autoupgrade.
- please check whether the patch fixes the issue.
Actually, you have to stop neither server nor agents.
Thanks!
buildServerCommon.jar[7020]
--
Eugene Petrenko
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
Attachment(s):
buildServerCommon.jar
Please have a look/vote/watch to the issue on the problem at
http://www.jetbrains.net/tracker/_htmlTemplate/Issue?issue=25-4557
This patch appears to fix a similar problem that we are having. We have builds that exceed the configured timeout and do not get stopped, we end up having to restart the build agent manually. I have a couple questions:
Is this patch applicable to both 3.1 and 3.1.1?
When will this be available in a general release?
Thanks.
Matthew Jaskula
Edited by: Matthew Jaskula on May 2, 2008 12:45 AM
Matthew,
Sorry for the delay in replying.
The patch should work in 3.1.1, and hopefully in 3.1 too (but it was not tested with it).
The fix is also available in our trunk sources for the next release. You can try it in our EAP releases.
--
Best regards,
Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
I'm about to upgrade to 3.1.2 (from 3.1.1). Will I need to reapply this patch, or is it included?
Thanks,
R
The patch is included in 3.1.2
--
Pavel Sher
Thanks!
R
Can you please tell me if that version of JNIWrapper is being updated for the 4.0 Teamcity release? I see that the 3.7 release officially supports Solaris 10 on x86 and UltraSPARC. I understand that you still won't be able to officially support platforms you haven't tested on, but it would still be handy to know.
Thanks,
Mark
Mark,
In 3.1.2 we reworked our build stopping logic not to rely on JNIWrapper under unix-based systems.
As of 4.0 we do not rely on JNIWrapper on Windows too.
So, I guess this is no longer an issue.
Anyway, thank you for noting on JNIWrapper update.