Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 412123

Summary: HIPP for Sapphire
Product: Community Reporter: Konstantin Komissarchik <konstantin>
Component: CI-JenkinsAssignee: CI Admin Inbox <ci.admin-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: denis.roy, nobody, thanh.ha, webmaster
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 403843    
Bug Blocks:    

Description Konstantin Komissarchik CLA 2013-07-02 11:31:10 EDT
This is a request to create a Hudson instance under HIPP system for Sapphire.
Comment 1 Thanh Ha CLA 2013-07-11 15:55:11 EDT
Congrats on being the first project selected! I setup the new hipp instance which can be reached at https://hudson.eclipse.org/sapphire/hudson/

You should be able to create/update/delete jobs as you please in this instance and I've setup the latest JDK 1.5, 1.6, and 1.7 as well as Maven 3.0.5.

Please test this and let me know if you need any additional plugins installed or configured and if any settings seem incorrect.
Comment 2 Denis Roy CLA 2013-07-11 16:08:34 EDT
Thanks, Thanh.

Just some quick questions...

> can be reached at https://hudson.eclipse.org/sapphire/hudson/

Do we need the trailing /hudson?


> You should be able to create/update/delete jobs 

I was too ... is that because I am me?
Comment 3 Thanh Ha CLA 2013-07-11 16:13:20 EDT
(In reply to comment #2)
> Thanks, Thanh.
> 
> Just some quick questions...
> 
> > can be reached at https://hudson.eclipse.org/sapphire/hudson/
> 
> Do we need the trailing /hudson?
> 

I suppose not but that's the format I've been using on polarsys, lts, and locationtech. My original thought was that it makes it more clear that this is hudson and if we ever have future Per Project for something else the format would still work, this works for the Working groups since they don't have a hudson specific server but I guess in this case "hudson.eclipse.org" is pretty clear already so should we drop it here?

> 
> > You should be able to create/update/delete jobs 
> 
> I was too ... is that because I am me?

Yes I added the ADMINS group as the administrators so webmaster would have full access.
Comment 4 Thanh Ha CLA 2013-07-11 16:14:31 EDT
(In reply to comment #1)
> Congrats on being the first project selected! I setup the new hipp instance
> which can be reached at https://hudson.eclipse.org/sapphire/hudson/
> 
> You should be able to create/update/delete jobs as you please in this
> instance and I've setup the latest JDK 1.5, 1.6, and 1.7 as well as Maven
> 3.0.5.
> 
> Please test this and let me know if you need any additional plugins
> installed or configured and if any settings seem incorrect.

I forgot to mention the login credentials for HIPP instances use email addresses, not UIDs as the username.
Comment 5 Denis Roy CLA 2013-07-11 16:21:10 EDT
> > Do we need the trailing /hudson?
> > 
> 
> I suppose not but that's the format I've been using on polarsys, 

Right.  On polarsys you'd see polarsys.org/sapphire/hudson.

Makes sense.
Comment 6 Konstantin Komissarchik CLA 2013-07-11 16:58:23 EDT
+1 to drop the trailing Hudson in URL since its obvious from context. Shorter is better.
Comment 7 Konstantin Komissarchik CLA 2013-07-11 22:36:31 EDT
I got the following exception when trying to create a new job:

HTTP ERROR 500

Problem accessing /sapphire/hudson/view/All/createItem. Reason:

    Failed to create a temporary file in /home/hudson/genie.technology.sapphire/.hudson/jobs/sapphire-0.7.x
Caused by:

hudson.util.IOException2: Failed to create a temporary file in /home/hudson/genie.technology.sapphire/.hudson/jobs/sapphire-0.7.x
	at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:59)
	at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:46)
	at hudson.XmlFile.write(XmlFile.java:150)
	at hudson.model.AbstractItem.save(AbstractItem.java:379)
	at hudson.model.Job.save(Job.java:318)
	at hudson.model.ItemGroupMixIn.createProject(ItemGroupMixIn.java:252)
	at hudson.model.ItemGroupMixIn.createTopLevelItem(ItemGroupMixIn.java:170)
	at hudson.model.Hudson.doCreateItem(Hudson.java:2676)
	at hudson.model.AllView.doCreateItem(AllView.java:67)
	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 org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:274)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:141)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:80)
	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:95)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:650)
	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:225)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:650)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:481)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:152)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:648)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:86)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:78)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:81)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:45)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:73)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:534)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:365)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:724)
Caused by: java.io.IOException: No such file or directory
	at java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.io.File.createTempFile(File.java:1879)
	at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:57)
	... 85 more
Caused by:

java.io.IOException: No such file or directory
	at java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.io.File.createTempFile(File.java:1879)
	at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:57)
	at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:46)
	at hudson.XmlFile.write(XmlFile.java:150)
	at hudson.model.AbstractItem.save(AbstractItem.java:379)
	at hudson.model.Job.save(Job.java:318)
	at hudson.model.ItemGroupMixIn.createProject(ItemGroupMixIn.java:252)
	at hudson.model.ItemGroupMixIn.createTopLevelItem(ItemGroupMixIn.java:170)
	at hudson.model.Hudson.doCreateItem(Hudson.java:2676)
	at hudson.model.AllView.doCreateItem(AllView.java:67)
	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 org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:274)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:141)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:80)
	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:95)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:650)
	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:225)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:650)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:481)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:152)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:648)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:86)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162)
	at org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:78)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:81)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:45)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:73)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:534)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:365)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:724)
Comment 8 Thanh Ha CLA 2013-07-11 23:37:57 EDT
(In reply to comment #7)
> I got the following exception when trying to create a new job:

Sorry, I forgot to set the permissions for the jobs directory after creating the symlink. Should be fixed now, can you try again?
Comment 9 Denis Roy CLA 2013-07-12 08:24:32 EDT
> +1 to drop the trailing Hudson in URL 

Yep, +1 for dropping /hudson.
Comment 10 Thanh Ha CLA 2013-07-12 11:31:53 EDT
Ok I changed the URL to the shorter https://hudson.eclipse.org/sapphire
Comment 11 Konstantin Komissarchik CLA 2013-07-12 12:42:15 EDT
Got a bit further in configuring the build job. The next issue is xvnc startup failure.

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/1/console

In terms of plugins, I also need "locks and latches" and "job timeout" plugins.
Comment 12 Denis Roy CLA 2013-07-12 12:51:19 EDT
> In terms of plugins, I also need "locks and latches" and "job timeout"
> plugins.

+1, these (along with xvnc) should be part of our "default" image.

Thanks for the feedback so far, Konstantin.
Comment 13 Thanh Ha CLA 2013-07-12 14:37:00 EDT
(In reply to comment #12)
> > In terms of plugins, I also need "locks and latches" and "job timeout"
> > plugins.
> 
> +1, these (along with xvnc) should be part of our "default" image.
> 

I've added these 3 plugins. I got them from http://hudson-ci.org/download/plugins/

Let me know if they are ok. I will update the default image with these once we confirm.
Comment 14 Konstantin Komissarchik CLA 2013-07-12 14:45:31 EDT
Whatever is going on with xvnc is environmental. Please take a look at the build output.

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/2/console
Comment 15 Denis Roy CLA 2013-07-12 14:47:30 EDT
I've seen this before...  Thanh, have a look at bug 265751
Comment 16 Konstantin Komissarchik CLA 2013-07-12 14:50:49 EDT
Regarding the new plugins...

1. Timeout. It looks like a newer version than on the shared Hudson server. I was able to configure it just fine, but hard to evaluate functionality, of course.

2. Locks. The locks are defined in Hudson settings before they can be used in the job. Would it make sense to give projects access to their Hudson settings? For now, please define a lock called "sapphire".
Comment 17 Thanh Ha CLA 2013-07-12 14:58:13 EDT
(In reply to comment #16)
> Regarding the new plugins...
> 
> 1. Timeout. It looks like a newer version than on the shared Hudson server.
> I was able to configure it just fine, but hard to evaluate functionality, of
> course.

Should I install the older 1.6 version or do you want to just try with the newer one and see what happens?

> 2. Locks. The locks are defined in Hudson settings before they can be used
> in the job. Would it make sense to give projects access to their Hudson
> settings? For now, please define a lock called "sapphire".

I created the "sapphire" lock.


I also need to restart the instance to test a fix for the xvnc issue.
Comment 18 Denis Roy CLA 2013-07-12 15:01:14 EDT
Also, Hudson emails come from webmaster@eclipse.org.  They should come from the same email address as the current Hudson:




You must subscribe to this list before posting.  Please go to
https://dev.eclipse.org/mailman/listinfo to subscribe to the list,
then try again.  Perhaps you are already subscribed using another
email address; if that is the case, please send email to this list
using the email address you've used to subscribe.


[Hudson] Build failed in Hudson: sapphire-0.7.x #3.eml
Subject:
[Hudson] Build failed in Hudson: sapphire-0.7.x #3
From:
Webmaster <webmaster@eclipse.org>
Date:
07/11/2013 10:02 AM
To:
sapphire-dev@eclipse.org

See <https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/3/>

------------------------------------------
Started by user thanh.ha@eclipse.org
Checkout:workspace / <https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/ws/> - hudson.remoting.LocalChannel@34ba55b1
Using strategy: Default
Last Built Revision: Revision 4c9b9c7c8560eb580c438208bf21bce039a9d105 (origin/master)
Checkout:workspace / <https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/ws/> - hudson.remoting.LocalChannel@34ba55b1
Fetching changes from the remote Git repository
Fetching upstream changes from http://git.eclipse.org/gitroot/sapphire/org.eclipse.sapphire.git
Commencing build of Revision 4c9b9c7c8560eb580c438208bf21bce039a9d105 (origin/master)
Checking out Revision 4c9b9c7c8560eb580c438208bf21bce039a9d105 (origin/master)
Starting xvnc
[workspace] $ vncserver :10

You will require a password to access your desktops.

Password: Password too short
Starting xvnc
[workspace] $ vncserver :11

You will require a password to access your desktops.

Password: Password too short
Starting xvnc
[workspace] $ vncserver :12

You will require a password to access your desktops.

Password: Password too short
Starting xvnc
[workspace] $ vncserver :13

You will require a password to access your desktops.

Password: Password too short
FATAL: Failed to run 'vncserver :13' (exit code 1), blacklisting display #13; consider checking the "Clean up before start" option
java.io.IOException: Failed to run 'vncserver :13' (exit code 1), blacklisting display #13; consider checking the "Clean up before start" option
	at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:100)
	at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:98)
	at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:98)
	at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:98)
	at hudson.plugins.xvnc.Xvnc.setUp(Xvnc.java:73)
	at hudson.model.Build$RunnerImpl.doRun(Build.java:129)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:434)
	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)

--
This message is automatically generated by Hudson. 
For more information on Hudson, see: http://hudson-ci.org/
Comment 19 Konstantin Komissarchik CLA 2013-07-12 15:02:49 EDT
> Should I install the older 1.6 version or do you want to just try with the newer 
> one and see what happens?

I am fine trying the new version. Will raise an issue if I see any issues.

> I created the "sapphire" lock.

Thanks.

> I also need to restart the instance to test a fix for the xvnc issue.

Go for it. Let me know when you are done and want me to poke at it again.
Comment 20 Thanh Ha CLA 2013-07-12 15:03:41 EDT
(In reply to comment #15)
> I've seen this before...  Thanh, have a look at bug 265751

Thanks Denis, looks like the issue was a missing HOME variable. I've added it to the init script.

Now we're getting a different error about passwords:

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/3/console


How did we resolve this on the shared hudson instance?
Comment 21 Denis Roy CLA 2013-07-12 15:08:35 EDT
Bug 321868 -- ask Matt I guess.
Comment 22 Thanh Ha CLA 2013-07-12 15:15:57 EDT
(In reply to comment #21)
> Bug 321868 -- ask Matt I guess.

I used vncpasswd as root to create the passwd and moved the password file to the sapphire instance. Looks like it's successfully launching vnc now.

I will add the password file to the default image so we don't have to set it in future HIPPs.

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/4/console
Comment 23 Thanh Ha CLA 2013-07-12 15:18:16 EDT
(In reply to comment #19)
> > I also need to restart the instance to test a fix for the xvnc issue.
> 
> Go for it. Let me know when you are done and want me to poke at it again.

Looks like the xvnc issues are resolved, can you try again?
Comment 24 Konstantin Komissarchik CLA 2013-07-12 15:26:35 EDT
Next issue...

No supported regular expression matcher found: java.lang.ClassNotFoundException: org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/4/console

It appears that the problem could be due to an incomplete Ant install...

https://bugs.launchpad.net/ubuntu/+source/ant/+bug/172789
Comment 25 Thanh Ha CLA 2013-07-12 15:45:04 EDT
I setup the ant path to /share/common/apache-ant-1.8.4 and updated the job to use this ant version. Looks like it's failing on File Not Found now.

Also noticed that the shared hudson add some environment variables ANT_ARGS, ANT_OPTS, JAVA_ARGS, and JVM_OPTS so I copied them over too.

Konstantin, Can you take a look and let me know if this is something I can help with?
Comment 26 Thanh Ha CLA 2013-07-12 15:46:50 EDT
(In reply to comment #25)
> Konstantin, Can you take a look and let me know if this is something I can
> help with?

FileNotFoundException: /shared/technology/sapphire/downloads/url-checksum.txt (Permission denied)


As far as I can tell this file does not exist at that path so maybe it's a misconfigured path?
Comment 27 Konstantin Komissarchik CLA 2013-07-12 15:50:25 EDT
It looks like the build process is unable to access "/shared/technology/sapphire/" with a permission denied error. It writes url-checksum.txt file.
Comment 28 Thanh Ha CLA 2013-07-12 16:04:49 EDT
Taking a closer look. Looks like /shared/technology/sapphire is owned by group technology.sapphire.

drwxrwxr-x+  3 kkomissarchik technology.sapphire      4096 Dec  3  2010 sapphire

*** note: also missing the sticky bit... should it have it?


However /shared/technology/sapphire/downloads is owned by the callisto-dev group.

drwxrwxr-x+ 6 55011 callisto-dev 20480 Jul 11  2013 downloads


I'm not sure why but I think if we want to let hudson write there we'd have to change it to the technology.sapphire group. On the otherhand 55011 is the hudsonBuild user (which is the user running the shared instance). While I could provide an ACL to add the sapphire-hudson user I'd like to understand what the group should be set as since that would be a simpler solution I think.

Denis, I'm not sure what the callisto-dev group is for. Can you provide any insight to that? should we change it to be the project group?
Comment 29 Konstantin Komissarchik CLA 2013-07-12 16:10:47 EDT
The root folder (/shared/technology/sapphire) was created manually, but everything inside was created by the user running the shared Hudson instance. That must be where callisto-dev is coming from.

Note that at least in the interim, any permission changes need to be compatible with HIPP and shared Hudson permissions, so that both old and new Sapphire jobs can read/write there.
Comment 30 Thanh Ha CLA 2013-07-15 13:58:41 EDT
(In reply to comment #29)
> The root folder (/shared/technology/sapphire) was created manually, but
> everything inside was created by the user running the shared Hudson
> instance. That must be where callisto-dev is coming from.
> 
> Note that at least in the interim, any permission changes need to be
> compatible with HIPP and shared Hudson permissions, so that both old and new
> Sapphire jobs can read/write there.

I talked to Matt and we believe changing the group "callisto-dev" for this directory shouldn't affect anything so I went ahead and changed the group to technology.sapphire for everything under /shared/technology/sapphire. I also set the sticky bit for the group on all the folders so that this group sticks.

The build got further but is now failing on a new issue.

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/7/console


Looks like it needs permissions for another directory too.

/jobs/genie.technology.sapphire/sapphire-0.7.x/workspace/sign-hudson.xml:88: Directory /home/data/httpd/download-staging.priv/sapphire/signing/0.7.0 creation was not successful for an unknown reason
Comment 31 Konstantin Komissarchik CLA 2013-07-15 14:01:07 EDT
Yes, it needs access to the signing service's upload directory.
Comment 32 Thanh Ha CLA 2013-07-15 14:03:49 EDT
(In reply to comment #30)
> Looks like it needs permissions for another directory too.
> 
> /jobs/genie.technology.sapphire/sapphire-0.7.x/workspace/sign-hudson.xml:88:
> Directory /home/data/httpd/download-staging.priv/sapphire/signing/0.7.0
> creation was not successful for an unknown reason

Looks like /home/data/httpd/download-staging.priv/sapphire is owned by callisto-dev too.

drwxrwxr-x+   4 hudsonBuild callisto-dev       4096 2011-07-29 11:41 sapphire


It's contents are 2 empty directories:

drwxrwxr-x+ 2 hudsonBuild callisto-dev 4096 2013-07-11 22:31 signing
drwxrwxr-x+ 2 hudsonBuild callisto-dev 4096 2011-08-24 06:42 Signing



Considering there's not much here I'm going to assume it's safe to set this to the technology.sapphire group too.
Comment 33 Konstantin Komissarchik CLA 2013-07-15 14:06:24 EDT
Are these security changes going to break the Sapphire job running on shared Hudson instance (presumably as callisto-dev user). Both technology.sapphire group and callisto-dev user should have access at least until we get the new job fully working.
Comment 34 Thanh Ha CLA 2013-07-15 14:12:14 EDT
(In reply to comment #33)
> Are these security changes going to break the Sapphire job running on shared
> Hudson instance (presumably as callisto-dev user). Both technology.sapphire
> group and callisto-dev user should have access at least until we get the new
> job fully working.

They shouldn't because the "owner" is still hudsonBuild which is what's used by the shared Hudson.

All I'm changing is the "group" from callisto-dev to technology.sapphire group. From my discussions with Matt the callisto-dev group is not important in these 2 directories as long as the folder owner is still hudsonBuild.
Comment 35 Thanh Ha CLA 2013-07-15 14:25:19 EDT
(In reply to comment #32)
> Considering there's not much here I'm going to assume it's safe to set this
> to the technology.sapphire group too.

I made this change and the build got a bit further but looks like it's stuck with "[exec] Result: 127". I'm not sure what this means but the build hasn't failed yet, likely waiting for a timeout to kick in?

https://hudson.eclipse.org/sapphire/job/sapphire-0.7.x/8/console
Comment 36 Konstantin Komissarchik CLA 2013-07-15 14:40:49 EDT
Check if it managed to write something to the signing service's upload directory. Then check if the signing service somehow lost access to that directory.
Comment 37 Thanh Ha CLA 2013-07-15 15:03:02 EDT
(In reply to comment #36)
> Check if it managed to write something to the signing service's upload
> directory. Then check if the signing service somehow lost access to that
> directory.

It creates files in the directory fine since I can see repository.zip created. Looks like the issue is that the HIPP instance user does not have permission to use the commandline signing utility.

> sign repository.zip now
-bash: /usr/local/bin/sign: Permission denied


> ls -l /usr/local/bin/sign
-rwxr-s--- 1 root signers 3787 2012-04-11 13:37 /usr/local/bin/sign


I guess we need to add the genie.technology.sapphire user to the signers group.
Comment 38 Thanh Ha CLA 2013-07-15 15:04:11 EDT
(In reply to comment #37)
> (In reply to comment #36)
> > Check if it managed to write something to the signing service's upload
> > directory. Then check if the signing service somehow lost access to that
> > directory.
> 
> It creates files in the directory fine since I can see repository.zip
> created. Looks like the issue is that the HIPP instance user does not have
> permission to use the commandline signing utility.
> 
> > sign repository.zip now
> -bash: /usr/local/bin/sign: Permission denied
> 
> 
> > ls -l /usr/local/bin/sign
> -rwxr-s--- 1 root signers 3787 2012-04-11 13:37 /usr/local/bin/sign
> 
> 
> I guess we need to add the genie.technology.sapphire user to the signers
> group.

Denis, I guess this means all the genie.* users we create for each HIPP will need to be part of this group... does this make sense?
Comment 39 Denis Roy CLA 2013-07-15 15:10:28 EDT
> Denis, I guess this means all the genie.* users we create for each HIPP will
> need to be part of this group... does this make sense?

Yep.  We might as well check permissions on the staging areas too when we set up other HIPP instances.

FWIW, we could perhaps also remove the requirement for signing from the staging area.  It seemed like a good idea at the time.
Comment 40 Thanh Ha CLA 2013-07-15 16:51:10 EDT
I added the genie.technology.sapphire user to the signers group. I also found that hipp1 was missing the "sign" executable as well so I copied it over from build.eclipse.org.

The job is still stalling at the same place however so I'm not sure what's wrong with it, and when I check on the file system repository.zip is not signed and/or is not even in progress of signing. I don't suppose there's a way to enable more logging for this job?


If I run "sign repository.zip now" on the commandline as the genie.technology.sapphire user I can see it working and completing but when it's done signing the commandline stalls despite the file being signed successfully. This doesn't happen on build.eclipse.org though, only seems to be a problem on hipp1 not sure why...
Comment 41 Thanh Ha CLA 2013-07-15 16:58:41 EDT
(In reply to comment #40)
> The job is still stalling at the same place however so I'm not sure what's
> wrong with it, and when I check on the file system repository.zip is not
> signed and/or is not even in progress of signing. I don't suppose there's a
> way to enable more logging for this job?

I think I figured out this part at least. It looks like sign-hudson.xml looks for the executable in /usr/bin/sign. On build.eclipse.org this is a symlink to /usr/local/bin/sign. I'll add this symlink and try again.
Comment 42 Konstantin Komissarchik CLA 2013-07-15 17:49:28 EDT
I have not been getting any e-mail notices of build failures from this job. Is e-mail notification disabled until in Hudson config until configuration issues are ironed out or just not working?
Comment 43 Thanh Ha CLA 2013-07-15 17:52:37 EDT
(In reply to comment #42)
> I have not been getting any e-mail notices of build failures from this job.
> Is e-mail notification disabled until in Hudson config until configuration
> issues are ironed out or just not working?

It's because I've manually aborted the job rather than letting it timeout and fail. It appears Hudson does not send an email when someone presses the abort button. I've received emails when the job fails or timeout though, the last one that was sent job #12, was sent to sapphire-dev.
Comment 44 Konstantin Komissarchik CLA 2013-07-15 17:56:08 EDT
There have been no e-mails received on sapphire-dev from this job. How are you receiving e-mail since you aren't listed in the job?

http://dev.eclipse.org/mhonarc/lists/sapphire-dev/
Comment 45 Thanh Ha CLA 2013-07-15 17:58:30 EDT
The latest issue is failing on "[exec] Result: 126" from what I found in the log signer.txt this means Permission denied for /usr/bin/sign.

What's odd is I can run this as the genie.technology.sapphire user (hudson) on the commandline. Is it possible Hudson switches user or something when running an ant task?

I will keep digging but this seems odd to me.
Comment 46 Thanh Ha CLA 2013-07-15 18:03:32 EDT
(In reply to comment #44)
> There have been no e-mails received on sapphire-dev from this job. How are
> you receiving e-mail since you aren't listed in the job?
> 
> http://dev.eclipse.org/mhonarc/lists/sapphire-dev/

I saw the subject go by in the webmaster inbox so I had assumed it was being sent. Just took a closer look and found the issue though. The email's actually bouncing. Denis mentioned this problem in Comment 18 but I forgot to fix it. It's resolved now, sorry about that.
Comment 47 Denis Roy CLA 2013-07-16 09:39:07 EDT
> What's odd is I can run this as the genie.technology.sapphire user (hudson)
> on the commandline. Is it possible Hudson switches user or something when
> running an ant task?

How did you do that?  On the hipp1 server, that user account had an invalid $HOME directory and a nonexistent shell.

I've placed /usr/bin/cvssh on hipp1 and updated the users' Home directory to point to the correct location.  Let me know if that doesn't help, and we'll look into it some more.
Comment 48 Denis Roy CLA 2013-07-16 09:40:19 EDT
Matt, I hope you're taking notes on what it takes to set up a HIPP server, because I'd like for Puppet to set up hipp2 and hipp3 ... hipp200 automagically.
Comment 49 Thanh Ha CLA 2013-07-16 09:44:01 EDT
(In reply to comment #47)
> > What's odd is I can run this as the genie.technology.sapphire user (hudson)
> > on the commandline. Is it possible Hudson switches user or something when
> > running an ant task?
> 
> How did you do that?  On the hipp1 server, that user account had an invalid
> $HOME directory and a nonexistent shell.
> 

I used "su -s /bin/bash - <user>"

> I've placed /usr/bin/cvssh on hipp1 and updated the users' Home directory to
> point to the correct location.  Let me know if that doesn't help, and we'll
> look into it some more.

Just ran a build and it's still stuck at "[exec] Result: 126"

signing.txt in the workspace still says "/bin/bash: /usr/bin/sign: Permission denied"
Comment 50 Denis Roy CLA 2013-07-16 10:01:33 EDT
> signing.txt in the workspace still says "/bin/bash: /usr/bin/sign:
> Permission denied"

Odd.  Can you somehow output the value of $UID before invoking sign?
Comment 51 Thanh Ha CLA 2013-07-16 10:31:10 EDT
Looks like build #22 is successful. The problem was I forgot to restart the hudson process after adding the hudson user to the signer group so it was still running with the old permissions. Thanks Denis for helping with this.


I will update the Hudson image with what we've learned in this bug.
Comment 52 Konstantin Komissarchik CLA 2013-07-16 13:10:13 EDT
Thanks for all the hard work getting the new setup working. Before we complete cut over to the new job, could you please copy the existing builds for this job from the shared Hudson instance. I don't want to loose things like findbugs trend history in the transition. It should be just a matter of copying the build folders along with the file the holds the last/next build number. Once copied, either trigger configuration reload from disk in Hudson settings or just restart Hudson.
Comment 53 Thanh Ha CLA 2013-07-16 14:05:01 EDT
(In reply to comment #52)
> Thanks for all the hard work getting the new setup working. Before we
> complete cut over to the new job, could you please copy the existing builds
> for this job from the shared Hudson instance. I don't want to loose things
> like findbugs trend history in the transition. It should be just a matter of
> copying the build folders along with the file the holds the last/next build
> number. Once copied, either trigger configuration reload from disk in Hudson
> settings or just restart Hudson.

Done. Let me know if anything's not right.
Comment 54 Konstantin Komissarchik CLA 2013-07-16 14:10:26 EDT
Something is not right... I get 503 when clicking on the job.
Comment 55 Thanh Ha CLA 2013-07-16 14:13:26 EDT
(In reply to comment #54)
> Something is not right... I get 503 when clicking on the job.

Sorry I had to restart to fix some file permissions, it's back up now and I kicked off a build just to make sure.
Comment 56 Konstantin Komissarchik CLA 2013-07-16 17:13:24 EDT
Many thanks, once again. As a final step, please delete all Sapphire jobs from shared Hudson instance. They are all named "sapphire-*".
Comment 57 Thanh Ha CLA 2013-07-17 14:52:42 EDT
(In reply to comment #56)
> Many thanks, once again. As a final step, please delete all Sapphire jobs
> from shared Hudson instance. They are all named "sapphire-*".

I deleted all the jobs.

sapphire-0.1.x
sapphire-0.2.x
sapphire-0.3.x
sapphire-0.4.x
sapphire-0.5.x
sapphire-0.6.x
sapphire-0.7.x
sapphire-downloads-clean
Comment 58 Thanh Ha CLA 2013-07-31 22:43:59 EDT
Konstantin,

We were discussing about whether to have hipp process user part of the project group. So in this case should sapphire's hipp user be part of the sapphire unix group. This would allow it to write to things like your project's downloads area and any other directory your committers are allowed to write to on the file system.

At the moment the sapphire hipp user is in the group but if you think this process shouldn't have this kind of access I can remove it. Please let me know.
Comment 59 Konstantin Komissarchik CLA 2013-08-01 12:30:32 EDT
I think that having Sapphire hipp user have ability to write to Sapphire downloads area is great. I would like to automate promoting builds to downloads area at some point.
Comment 60 Thanh Ha CLA 2013-08-01 12:38:15 EDT
(In reply to comment #59)
> I think that having Sapphire hipp user have ability to write to Sapphire
> downloads area is great. I would like to automate promoting builds to
> downloads area at some point.

Ok great, I will leave it as is then. Thanks!
Comment 61 Konstantin Komissarchik CLA 2013-08-02 12:28:50 EDT
Could you add the Warnings plugin? Let me know if you would like a separate bug.
Comment 62 Thanh Ha CLA 2013-08-02 15:55:47 EDT
(In reply to comment #61)
> Could you add the Warnings plugin? Let me know if you would like a separate
> bug.

I've added the warnings plugin but Hudson needs to be restarted. There is an in progress job right now so I will restart hudson once the job completes.
Comment 63 Thanh Ha CLA 2013-08-02 16:01:10 EDT
(In reply to comment #62)
> (In reply to comment #61)
> > Could you add the Warnings plugin? Let me know if you would like a separate
> > bug.
> 
> I've added the warnings plugin but Hudson needs to be restarted. There is an
> in progress job right now so I will restart hudson once the job completes.

Something I've noticed, when a job runs it runs at least 3 times in a row. I think this is due to the polling being too aggressive (checks every minute for changes). A job takes on average about 16 minutes to complete. Maybe increasing the polling time would help?

(just a suggestion)
Comment 64 Konstantin Komissarchik CLA 2013-08-02 16:16:50 EDT
> Something I've noticed, when a job runs it runs at least 3 times in a row. 

I have not seen that. There have been times of high activity where changes are coming in fast, but then you want build feedback as quickly as possible.
Comment 65 Konstantin Komissarchik CLA 2013-08-02 16:19:56 EDT
At first I thought you were saying that the same change triggers three builds. Now I see that you are making an observation about build frequency. We find it helpful to have build feedback as quickly as possible, so introducing polling delays would be counter-productive.
Comment 66 Konstantin Komissarchik CLA 2013-08-02 17:20:14 EDT
Thanks for adding the warnings plugin. I have configured the job to use it and can confirm that it is working.
Comment 67 Thanh Ha CLA 2013-08-06 09:31:52 EDT
(In reply to comment #65)
> At first I thought you were saying that the same change triggers three
> builds. Now I see that you are making an observation about build frequency.
> We find it helpful to have build feedback as quickly as possible, so
> introducing polling delays would be counter-productive.

Actually I thought it was the same trigger causing multiple builds. I did not realize they were actually caused by different changes, my mistake.
Comment 68 Konstantin Komissarchik CLA 2013-08-09 13:19:42 EDT
Something strange is going on...

Hudson detected that you appear to be running more than one instance of Hudson that share the same home directory '/home/hudson/genie.technology.sapphire/.hudson'. This greatly confuses Hudson and you will likely experience strange behaviors, so please correct the situation.

This Hudson:	805289249 contextPath="/sapphire" at 11492@hipp1
Other Hudson:	281565375 contextPath="/sapphire" at 6083@hipp1
Comment 69 Thanh Ha CLA 2013-08-09 13:26:29 EDT
(In reply to comment #68)
> Something strange is going on...
> 
> Hudson detected that you appear to be running more than one instance of
> Hudson that share the same home directory
> '/home/hudson/genie.technology.sapphire/.hudson'. This greatly confuses
> Hudson and you will likely experience strange behaviors, so please correct
> the situation.
> 
> This Hudson:	805289249 contextPath="/sapphire" at 11492@hipp1
> Other Hudson:	281565375 contextPath="/sapphire" at 6083@hipp1

I was adding all the hipp instances to the runlevels so they autostart on boot this morning should the server ever be restarted. I guess I may have inadvertently started each instance more than once.

I restarted the instances so it should be working again. Sorry for the trouble.
Comment 70 Konstantin Komissarchik CLA 2013-08-09 13:50:31 EDT
Thanks. The build is back to normal.