Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Hudson » Problem with JNA Native Support Plugin(Exception after successful build)
Problem with JNA Native Support Plugin [message #1052725] Tue, 30 April 2013 09:00 Go to next message
k z is currently offline k z
Messages: 71
Registered: October 2012
Member
Hello,

Today suddenly one of our Mac slaves started throwing exceptions at the end of the build. If I remove hudson working directory including hudson jars, builds are started to working fine but after some time the problem returns. Could you please suggest any solution?

MAC OS 10.8
Hudson: 3.0.1-b2
JNA Native Support Plugin : 3.0.2

...

** BUILD SUCCEEDED **

FATAL: Remote call on punt failed
java.io.IOException: Remote call on punt failed
	at hudson.remoting.Channel.call(Channel.java:652)
	at hudson.Launcher$RemoteLauncher.kill(Launcher.java:771)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:459)
	at hudson.model.Run.run(Run.java:1390)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:40)
	at hudson.model.ResourceController.execute(ResourceController.java:82)
	at hudson.model.Executor.run(Executor.java:137)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hudsonci.plugins.jna.JnaNativeMacSupport
	at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
	at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1691)
	at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:50)
	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:203)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:200)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:556)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at hudson.remoting.UserRequest.deserialize(UserRequest.java:171)
	at hudson.remoting.UserRequest.perform(UserRequest.java:91)
	at hudson.remoting.UserRequest.perform(UserRequest.java:41)
	at hudson.remoting.Request$2.run(Request.java:276)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)

[Updated on: Tue, 30 April 2013 09:28]

Report message to a moderator

Re: Problem with JNA Native Support Plugin [message #1052851 is a reply to message #1052725] Tue, 30 April 2013 13:30 Go to previous messageGo to next message
Winston Prakash is currently offline Winston Prakash
Messages: 391
Registered: August 2011
Location: Fremont, CA USA
Senior Member
It is strange that initially it works and fails after some time. I fixed a similar issue https://bugs.eclipse.org/bugs/show_bug.cgi?id=405680. But may not be the exact issue.

Could you try http://hudson-ci.org/download/war/3.0.1-b3/hudson-3.0.1-b3.war and see if the problem goes away.


Winston Prakash
Eclipse Hudson team
Re: Problem with JNA Native Support Plugin [message #1057883 is a reply to message #1052851] Thu, 09 May 2013 10:51 Go to previous messageGo to next message
k z is currently offline k z
Messages: 71
Registered: October 2012
Member
Winston,

I've found something that might help you out identifing the issue. I'm using SSH to launch slaves. If I log in to MAC slave (remotely via VNC or locally) but with GUI, not SSH, then start agent from server it connects to slave. Then when I launch first build, build is hanging for a moment and next 'java cup of coffee' icon appears on the Dock next to other running programs. Tooltip says it is hudson.remoting.Launcher (/usr/bin/java -jar slave.jar). I'm pretty sure this icon weren't appearing on the Dock before (but im not sure when - maybe in Hudson 2.2 or in previous version of JNA Plugin). I think it is the problem. JnaNativeMacSupport exception won't be thrown as long as I keep user logged in with GUI session and cup of coffee icon on the Dock. If I log out, slave get disonnected. I can reconnect but without GUI session JnaNativeMacSupport is being thrown at the end of each build on that machine. Does it make any sense to you?

Regards!

[Updated on: Thu, 09 May 2013 10:54]

Report message to a moderator

Re: Problem with JNA Native Support Plugin [message #1060954 is a reply to message #1057883] Wed, 29 May 2013 05:38 Go to previous messageGo to next message
k z is currently offline k z
Messages: 71
Registered: October 2012
Member
Hi,
I've tried 3.0.1-b3 but it is even worse. In b3 when there is an active UI user session I got Native Support Extensions exception but the connection is successful

Slave.jar version: ?
This is a Unix slave
May 29, 2013 11:03:25 AM org.eclipse.hudson.jna.NativeUtils <init>
INFO: Error getting Native Support Extensions
java.lang.NullPointerException
	at org.eclipse.hudson.jna.NativeUnixSupport.all(NativeUnixSupport.java:46)
	at org.eclipse.hudson.jna.NativeUtils.getAvailableNativeUnixSupports(NativeUtils.java:74)
	at org.eclipse.hudson.jna.NativeUtils.<init>(NativeUtils.java:48)
	at org.eclipse.hudson.jna.NativeUtils.<clinit>(NativeUtils.java:44)
	at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
	at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1696)
	at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:52)
	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:205)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:202)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:558)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at hudson.remoting.UserRequest.deserialize(UserRequest.java:171)
	at hudson.remoting.UserRequest.perform(UserRequest.java:91)
	at hudson.remoting.UserRequest.perform(UserRequest.java:41)
	at hudson.remoting.Request$2.run(Request.java:276)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Copied maven-agent.jar
Copied maven3-agent.jar
Copied maven3-interceptor.jar
Copied maven-interceptor.jar
Copied maven2.1-interceptor.jar
Copied plexus-classworld.jar
Copied classworlds.jar
Slave successfully connected and online


I cant even establish successful connection when there is no active user UI session (Native Support Extensions: Can't connect to window server - not enough permissions.)

Slave.jar version: ?
This is a Unix slave
May 29, 2013 10:55:16 AM org.eclipse.hudson.jna.NativeUtils <init>
INFO: Error getting Native Support Extensions
java.lang.NullPointerException
	at org.eclipse.hudson.jna.NativeUnixSupport.all(NativeUnixSupport.java:46)
	at org.eclipse.hudson.jna.NativeUtils.getAvailableNativeUnixSupports(NativeUtils.java:74)
	at org.eclipse.hudson.jna.NativeUtils.<init>(NativeUtils.java:48)
	at org.eclipse.hudson.jna.NativeUtils.<clinit>(NativeUtils.java:44)
	at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
	at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1696)
	at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:52)
	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:205)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:202)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:558)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at hudson.remoting.UserRequest.deserialize(UserRequest.java:171)
	at hudson.remoting.UserRequest.perform(UserRequest.java:91)
	at hudson.remoting.UserRequest.perform(UserRequest.java:41)
	at hudson.remoting.Request$2.run(Request.java:276)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Wed May 29 10:55:16 darfar.local java[8939] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
java.io.IOException: Remote call on darfar failed
	at hudson.remoting.Channel.call(Channel.java:652)
	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:337)
	at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:383)
	at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:203)
	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:190)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.InternalError: Can't connect to window server - not enough permissions.
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
	at java.lang.Runtime.loadLibrary0(Runtime.java:823)
	at java.lang.System.loadLibrary(System.java:1045)
	at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
	at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
	at java.awt.Component.<clinit>(Component.java:566)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at com.sun.jna.Platform.<clinit>(Platform.java:64)
	at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:711)
	at com.sun.jna.Native.loadNativeLibrary(Native.java:697)
	at com.sun.jna.Native.<clinit>(Native.java:127)
	at org.hudsonci.plugins.jna.JnaNativeMacSupport.<clinit>(JnaNativeMacSupport.java:74)
	at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
	at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1696)
	at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:52)
	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:205)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:202)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:558)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at hudson.remoting.UserRequest.deserialize(UserRequest.java:171)
	at hudson.remoting.UserRequest.perform(UserRequest.java:91)
	at hudson.remoting.UserRequest.perform(UserRequest.java:41)
	at hudson.remoting.Request$2.run(Request.java:276)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
ERROR: Connection terminated
java.io.IOException: Unexpected termination of the channel
	at hudson.remoting.Channel$ReaderThread.run(Channel.java:1023)
Caused by: java.io.EOFException
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2570)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
	at hudson.remoting.Channel$ReaderThread.run(Channel.java:1017)
[05/29/13 10:55:16] [SSH] Connection closed.
ERROR: [05/29/13 10:55:16] slave agent was terminated
java.io.IOException: Unexpected termination of the channel
	at hudson.remoting.Channel$ReaderThread.run(Channel.java:1023)
Caused by: java.io.EOFException
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2570)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
	at hudson.remoting.Channel$ReaderThread.run(Channel.java:1017)


I've tested it on MAC OS X 10.6 & MAC OS X 10.8. Please provide valid fix for this problem.

[Updated on: Wed, 29 May 2013 05:40]

Report message to a moderator

Re: Problem with JNA Native Support Plugin [message #1061292 is a reply to message #1060954] Thu, 30 May 2013 23:50 Go to previous messageGo to next message
Winston Prakash is currently offline Winston Prakash
Messages: 391
Registered: August 2011
Location: Fremont, CA USA
Senior Member
K.Z, I'm at off site this week. I'll looking in to this next week. Earlier when I tested on Mac did not see any error. I hope your slave.jar is up to date.

Winston Prakash
Eclipse Hudson team
Re: Problem with JNA Native Support Plugin [message #1066550 is a reply to message #1061292] Wed, 03 July 2013 02:39 Go to previous message
k z is currently offline k z
Messages: 71
Registered: October 2012
Member
I'm using SSH launch method. Everytime connection is set up slave.jar is downloaded from server so slave.jar is always up to date. This bug is bit cumbersome because everytime MAC slaves are restarted for whatever reasons (maintenance, power outage etc) I have to manually set up connection by log in to MAC slave account via VNC, restore connection to master and leave user session up-and-running.
I filed the bug here https://bugs.eclipse.org/bugs/show_bug.cgi?id=412162

[Updated on: Wed, 03 July 2013 02:39]

Report message to a moderator

Previous Topic:Error while building Project with emma and Sonar Report
Next Topic:Maven3 plugin and SVN
Goto Forum:
  


Current Time: Thu Jul 31 05:28:37 EDT 2014

Powered by FUDForum. Page generated in 0.01574 seconds