[OmniOS-discuss] Jenkins CI on OmniOS? (NPE)

Ben Summers ben at fluffy.co.uk
Fri Oct 3 08:01:45 UTC 2014


On 3 Oct 2014, at 04:52, Magnus <magnus at yonderway.com> wrote:

> So I’ve just done this same thing successfully on a number of other platforms (that I don’t wish to run on), including a Macbook, a Debian laptop, a SmartOS zone… but when I try to do this inside of a zone on OmniOS, I get a Java stack trace that doesn’t make a whole lot of sense to me… and Google isn’t being helpful with this one. I’m hoping to write a blog about hosting CI on OmniOS, complete with getting it running under SMF, etc. but this one piece is being stubborn. 
> 
> Thoughts?

OmniOS is a server OS, and doesn't include X or any of the related UI components.

Try adding

  -Djava.awt.headless=true

to the java command line, which may stop it attempting to load these things. Although if Jenkins actually requires them, it will just change the exception.

Ben


> 
> $ java -jar jenkins.war
> Running from: /export/home/jenkins/jenkins.war
> webroot: $user.home/.jenkins
> Oct 03, 2014 3:28:19 AM winstone.Logger logInternal
> INFO: Beginning extraction from war file
> Oct 03, 2014 3:28:20 AM org.eclipse.jetty.util.log.JavaUtilLog info
> INFO: jetty-8.y.z-SNAPSHOT
> Oct 03, 2014 3:28:22 AM org.eclipse.jetty.util.log.JavaUtilLog info
> INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
> Jenkins home directory: /export/home/jenkins/.jenkins found at: $user.home/.jenkins
> Oct 03, 2014 3:28:23 AM hudson.util.BootFailure publish
> SEVERE: Failed to initialize Jenkins
> hudson.util.AWTProblem: java.lang.NullPointerException
>        at hudson.WebAppMain.contextInitialized(WebAppMain.java:182)
>        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
>        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
>        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
>        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
>        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
>        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
>        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
>        at org.eclipse.jetty.server.Server.doStart(Server.java:282)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at winstone.Launcher.<init>(Launcher.java:154)
>        at winstone.Launcher.main(Launcher.java:354)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at Main._main(Main.java:293)
>        at Main.main(Main.java:98)
> Caused by: java.lang.NullPointerException
>        at sun.awt.X11FontManager.getDefaultPlatformFont(X11FontManager.java:779)
>        at sun.font.SunFontManager$2.run(SunFontManager.java:433)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at sun.font.SunFontManager.<init>(SunFontManager.java:376)
>        at sun.awt.X11FontManager.<init>(X11FontManager.java:32)
>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>        at java.lang.Class.newInstance(Class.java:374)
>        at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
>        at java.awt.Font.getFont2D(Font.java:490)
>        at java.awt.Font.getFamily(Font.java:1219)
>        at java.awt.Font.getFamily_NoClientCode(Font.java:1193)
>        at java.awt.Font.getFamily(Font.java:1185)
>        at java.awt.Font.toString(Font.java:1682)
>        at hudson.util.ChartUtil.<clinit>(ChartUtil.java:229)
>        at hudson.WebAppMain.contextInitialized(WebAppMain.java:181)
>        ... 19 more
> 
> Oct 03, 2014 3:28:23 AM org.eclipse.jetty.util.log.JavaUtilLog warn
> WARNING: Failed startup of context w.{,file:/export/home/jenkins/.jenkins/war/},/export/home/jenkins/.jenkins/war
> java.lang.NullPointerException
>        at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:63)
>        at hudson.util.BootFailure.publish(BootFailure.java:43)
>        at hudson.WebAppMain.contextInitialized(WebAppMain.java:244)
>        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
>        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
>        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
>        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
>        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
>        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
>        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
>        at org.eclipse.jetty.server.Server.doStart(Server.java:282)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at winstone.Launcher.<init>(Launcher.java:154)
>        at winstone.Launcher.main(Launcher.java:354)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at Main._main(Main.java:293)
>        at Main.main(Main.java:98)
> 
> Oct 03, 2014 3:28:23 AM org.eclipse.jetty.util.log.JavaUtilLog info
> INFO: Started SelectChannelConnector at 0.0.0.0:8080
> Oct 03, 2014 3:28:23 AM winstone.Logger logInternal
> INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled
> 
> ***********
> 
> If I try the same thing with an Oracle JRE, I get a different error:
> 
> $ /opt/jre1.8.0_20/bin/java -jar jenkins.war
> Running from: /export/home/jenkins/jenkins.war
> webroot: $user.home/.jenkins
> Oct 03, 2014 3:45:00 AM winstone.Logger logInternal
> INFO: Beginning extraction from war file
> Oct 03, 2014 3:45:01 AM org.eclipse.jetty.util.log.JavaUtilLog info
> INFO: jetty-8.y.z-SNAPSHOT
> Oct 03, 2014 3:45:03 AM org.eclipse.jetty.util.log.JavaUtilLog info
> INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
> Jenkins home directory: /export/home/jenkins/.jenkins found at: $user.home/.jenkins
> Oct 03, 2014 3:45:03 AM hudson.util.BootFailure publish
> SEVERE: Failed to initialize Jenkins
> hudson.util.AWTProblem: java.lang.UnsatisfiedLinkError: /opt/jre1.8.0_20/lib/amd64/libfontmanager.so: ld.so.1: java: fatal: libXext.so.0: open failed: No such file or directory
>        at hudson.WebAppMain.contextInitialized(WebAppMain.java:182)
>        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
>        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
>        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
>        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
>        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
>        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
>        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
>        at org.eclipse.jetty.server.Server.doStart(Server.java:282)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at winstone.Launcher.<init>(Launcher.java:154)
>        at winstone.Launcher.main(Launcher.java:354)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:483)
>        at Main._main(Main.java:293)
>        at Main.main(Main.java:98)
> Caused by: java.lang.UnsatisfiedLinkError: /opt/jre1.8.0_20/lib/amd64/libfontmanager.so: ld.so.1: java: fatal: libXext.so.0: open failed: No such file or directory
>        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
>        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1835)
>        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>        at java.lang.System.loadLibrary(System.java:1119)
>        at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:61)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
>        at sun.font.SunFontManager$1.run(SunFontManager.java:339)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at sun.font.SunFontManager.<clinit>(SunFontManager.java:335)
>        at java.lang.Class.forName0(Native Method)
>        at java.lang.Class.forName(Class.java:340)
>        at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
>        at java.awt.Font.getFont2D(Font.java:491)
>        at java.awt.Font.getFamily(Font.java:1220)
>        at java.awt.Font.getFamily_NoClientCode(Font.java:1194)
>        at java.awt.Font.getFamily(Font.java:1186)
>        at java.awt.Font.toString(Font.java:1683)
>        at hudson.util.ChartUtil.<clinit>(ChartUtil.java:229)
>        at hudson.WebAppMain.contextInitialized(WebAppMain.java:181)
>        ... 19 more
> 
> Oct 03, 2014 3:45:04 AM org.eclipse.jetty.util.log.JavaUtilLog warn
> WARNING: Failed startup of context w.{,file:/export/home/jenkins/.jenkins/war/},/export/home/jenkins/.jenkins/war
> java.lang.NullPointerException
>        at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:63)
>        at hudson.util.BootFailure.publish(BootFailure.java:43)
>        at hudson.WebAppMain.contextInitialized(WebAppMain.java:244)
>        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
>        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
>        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
>        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
>        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
>        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
>        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
>        at org.eclipse.jetty.server.Server.doStart(Server.java:282)
>        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
>        at winstone.Launcher.<init>(Launcher.java:154)
>        at winstone.Launcher.main(Launcher.java:354)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:483)
>        at Main._main(Main.java:293)
>        at Main.main(Main.java:98)
> 
> Oct 03, 2014 3:51:05 AM org.eclipse.jetty.util.log.JavaUtilLog info
> INFO: Started SelectChannelConnector at 0.0.0.0:8080
> Oct 03, 2014 3:51:05 AM winstone.Logger logInternal
> INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled
> ^COct 03, 2014 3:51:13 AM winstone.Logger logInternal
> INFO: JVM is terminating. Shutting down Winstone
> _______________________________________________
> OmniOS-discuss mailing list
> OmniOS-discuss at lists.omniti.com
> http://lists.omniti.com/mailman/listinfo/omnios-discuss

--
http://bens.me.uk



More information about the OmniOS-discuss mailing list