-
Type:
Bug
-
Resolution: Cannot Reproduce
-
Priority:
Major
-
Component/s: _unsorted
-
Environment:Platform: All, OS: Linux
I just upgraded to the latest Hudson (1.185). I cannot do much with security
enabled because the "Sign up" screen appears to be broken on Linux.
The image (http://localhost/hudson/securityRealm/captcha) that is required to
"Enter text" is not there. Just the usual icon for "missing image". I've
reproduced this behavior running the hudson.war standalone on Ubuntu 7.10, SLES
10 (sp1). My original configuration was on Ubuntu deploying hudson.war to Tomcat
running behind Apache. So, I shut that down and tried to reproduce it standalone
(java -jar hudson.war). Same issue on Ubuntu. Tried standalone again on the
SLES box, same issue. Tried standalone on Windows, no issue, works as expected.
I searched the list but did not see anyone having this issue. If I go ahead and
attempt to sign up anyway, I get an exception (pasted below). (looks like it
can't find the class to generate the image file). More configuration (jdk
1.6.0_04, httpd 2.2.8, tomcat 6) (though as mentioned the tomcat and apache
versions don't seem to matter).
type Exception report
message
description The server encountered an internal error () that prevented it from
fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not
initialize class hudson.security.SecurityRealm$CaptchaService
org.kohsuke.stapler.Stapler.invoke(Stapler.java:370)
org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:208)
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:361)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:298)
org.kohsuke.stapler.Stapler.service(Stapler.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:52)
hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:28)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:44)
hudson.security.HudsonFilter.doFilter(HudsonFilter.java:85)
root cause
java.lang.NoClassDefFoundError: Could not initialize class
hudson.security.SecurityRealm$CaptchaService
hudson.security.SecurityRealm.validateCaptcha(SecurityRealm.java:134)
hudson.security.HudsonPrivateSecurityRealm.doCreateAccount(HudsonPrivateSecurityRealm.java:60)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:103)
org.kohsuke.stapler.Function.bindAndinvoke(Function.java:59)
org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:63)
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:361)
org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:208)
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:361)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:298)
org.kohsuke.stapler.Stapler.service(Stapler.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:52)
hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:28)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:44)
hudson.security.HudsonFilter.doFilter(HudsonFilter.java:85)