Quantcast

Doxygen publish fails because of java exception

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Doxygen publish fails because of java exception

Lars Nordin
I'm seeing an exception during the Doxygen publish step but it is not clear to me what is failing.
I tried adding a generic logger to try to capture more data about what error could be occurring but with no luck.

...
Publishing Doxygen HTML results.
The determined Doxygen directory is '/home/builduser/workspace/product/build/html'.
FATAL: error
hudson.util.IOException2: java.lang.UnsupportedOperationException
        at hudson.FilePath.copyRecursiveTo(FilePath.java:1784)
        at hudson.FilePath.copyRecursiveTo(FilePath.java:1676)
        at hudson.plugins.doxygen.DoxygenArchiver._perform(DoxygenArchiver.java:231)
        at hudson.plugins.doxygen.DoxygenArchiver.perform(DoxygenArchiver.java:176)
        at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:27)
        at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:710)
        at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:685)
        at hudson.model.Build$RunnerImpl.post2(Build.java:162)
        at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:632)
        at hudson.model.Run.run(Run.java:1463)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:239)
Caused by: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
        at hudson.remoting.Channel$4.adapt(Channel.java:696)
        at hudson.remoting.Channel$4.adapt(Channel.java:691)
        at hudson.remoting.FutureAdapter.get(FutureAdapter.java:55)
        at hudson.FilePath.copyRecursiveTo(FilePath.java:1782)
        ... 12 more
Caused by: java.lang.UnsupportedOperationException
        at hudson.os.PosixAPI$1.getCurrentWorkingDirectory(PosixAPI.java:59)
        at org.jruby.ext.posix.util.ExecIt.run(ExecIt.java:59)
        at org.jruby.ext.posix.util.ExecIt.runAndWait(ExecIt.java:51)
        at org.jruby.ext.posix.JavaLibCHelper.readlink(JavaLibCHelper.java:196)
        at org.jruby.ext.posix.JavaPOSIX.readlink(JavaPOSIX.java:160)
        at hudson.Util.resolveSymlink(Util.java:1067)
        at hudson.Util.resolveSymlink(Util.java:1030)
        at hudson.util.DirScanner$Glob.scan(DirScanner.java:115)
        at hudson.FilePath.writeToTar(FilePath.java:1820)
        at hudson.FilePath.access$1000(FilePath.java:166)
        at hudson.FilePath$36.invoke(FilePath.java:1761)
        at hudson.FilePath$36.invoke(FilePath.java:1758)
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2193)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:326)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        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:636)
Build step 'Publish Doxygen' changed build result to FAILURE
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

RE: Doxygen publish fails because of java exception

Lars Nordin
More info. Here is what the build slave log has for that job:

Aug 23, 2012 12:38:49 PM hudson.plugins.doxygen.DoxygenDirectoryParser getDoxyge
nGeneratedDir
INFO: Created filepath with the following path:/home/builduser/workspace/job/build/html
Failed to load native POSIX impl; falling back on Java impl. Stacktrace follows.
java.lang.UnsatisfiedLinkError: Unable to load library 'libc.so.6': com.sun.jna.
Native.open(Ljava/lang/String;)J
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166)
        at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239)
        at com.sun.jna.Library$Handler.<init>(Library.java:140)
        at com.sun.jna.Native.loadLibrary(Native.java:366)
        at org.jruby.ext.posix.POSIXFactory.loadLibC(POSIXFactory.java:96)
        at org.jruby.ext.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:65)
        at org.jruby.ext.posix.POSIXFactory.getPOSIX(POSIXFactory.java:24)
        at hudson.os.PosixAPI.<clinit>(PosixAPI.java:40)
        at hudson.Util.resolveSymlink(Util.java:1067)
        at hudson.Util.resolveSymlink(Util.java:1030)
        at hudson.util.DirScanner$Glob.scan(DirScanner.java:115)
        at hudson.FilePath.writeToTar(FilePath.java:1820)
        at hudson.FilePath.access$1000(FilePath.java:166)
        at hudson.FilePath$36.invoke(FilePath.java:1761)
        at hudson.FilePath$36.invoke(FilePath.java:1758)
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2193)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:326)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        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:636)
Aug 23, 2012 1:29:03 PM hudson.plugins.doxygen.DoxygenDirectoryParser retrieveDoxygenDirectoryFromDoxyfile
INFO: Using the Doxyfile information.
Aug 23, 2012 1:29:03 PM hudson.plugins.doxygen.DoxygenDirectoryParser loadDoxyFile
INFO: The Doxyfile path is 'file:/home/builduser/workspace/job/build/Doxyfile'.


This build job with the failing Doxygen call works fine on the old Jenkins server but fails on the new server even with the job actually running on a build slave.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Doxygen publish fails because of java exception

Mark Waite
That stack trace and message is somewhat similar to a message recently reported by Sami Tikka.  It is not exactly the same (no mention in Sami's message of the UnsatisfiedLinkError).  Both seem to involve the creation of symbolic links from Java.

You can read the two messages in that thread at http://j.mp/P56kmM, since one includes a location you might read for more ideas to investigate.

One of the hints in the response was that there may be a permission issue.  When Java can't load libc.so.6, that seems like there are system level problems (possibly a permission issue, possibly a user configuration issue, possibly an out of virtual memory issue.

Mark Waite


From: Lars Nordin <[hidden email]>
To: "[hidden email]" <[hidden email]>
Sent: Thursday, August 23, 2012 11:56 AM
Subject: RE: Doxygen publish fails because of java exception

More info. Here is what the build slave log has for that job:

Aug 23, 2012 12:38:49 PM hudson.plugins.doxygen.DoxygenDirectoryParser getDoxyge
nGeneratedDir
INFO: Created filepath with the following path:/home/builduser/workspace/job/build/html
Failed to load native POSIX impl; falling back on Java impl. Stacktrace follows.
java.lang.UnsatisfiedLinkError: Unable to load library 'libc.so.6': com.sun.jna.
Native.open(Ljava/lang/String;)J
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166)
        at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239)
        at com.sun.jna.Library$Handler.<init>(Library.java:140)
        at com.sun.jna.Native.loadLibrary(Native.java:366)
        at org.jruby.ext.posix.POSIXFactory.loadLibC(POSIXFactory.java:96)
        at org.jruby.ext.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:65)
        at org.jruby.ext.posix.POSIXFactory.getPOSIX(POSIXFactory.java:24)
        at hudson.os.PosixAPI.<clinit>(PosixAPI.java:40)
        at hudson.Util.resolveSymlink(Util.java:1067)
        at hudson.Util.resolveSymlink(Util.java:1030)
        at hudson.util.DirScanner$Glob.scan(DirScanner.java:115)
        at hudson.FilePath.writeToTar(FilePath.java:1820)
        at hudson.FilePath.access$1000(FilePath.java:166)
        at hudson.FilePath$36.invoke(FilePath.java:1761)
        at hudson.FilePath$36.invoke(FilePath.java:1758)
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2193)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:326)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        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:636)
Aug 23, 2012 1:29:03 PM hudson.plugins.doxygen.DoxygenDirectoryParser retrieveDoxygenDirectoryFromDoxyfile
INFO: Using the Doxyfile information.
Aug 23, 2012 1:29:03 PM hudson.plugins.doxygen.DoxygenDirectoryParser loadDoxyFile
INFO: The Doxyfile path is 'file:/home/builduser/workspace/job/build/Doxyfile'.


This build job with the failing Doxygen call works fine on the old Jenkins server but fails on the new server even with the job actually running on a build slave.


Loading...