Skip to main content



      Home
Home » Archived » 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
Eclipse UserFriend
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] by 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
Eclipse UserFriend
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.
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
Eclipse UserFriend
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] by 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
Eclipse UserFriend
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] by 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
Eclipse UserFriend
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.
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
Eclipse UserFriend
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] by Moderator

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


Current Time: Thu Jul 10 04:33:43 EDT 2025

Powered by FUDForum. Page generated in 0.28333 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top