Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-3947

Captcha Not Rendering with OpenJDK 1.6.0.0-b12

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major Major
    • jcaptcha-plugin
    • None
    • Platform: Macintosh, OS: Linux

      This is a duplicate of the now closed Issue 1343

      Captcha was not rendering with the following JVM installed:

      java version "1.6.0_0"
      IcedTea6 1.3.1 (6b12-Fedora-EPEL-5) Runtime Environment (build 1.6.0_0-b12)
      OpenJDK Client VM (build 1.6.0_0-b12, mixed mode)

      When Sun's JVM was used instead, the Captcha rendered:

      java version "1.6.0_14"
      Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
      Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)

          [JENKINS-3947] Captcha Not Rendering with OpenJDK 1.6.0.0-b12

          Henk de Vries added a comment -

          This affects the current version of Jenkins (1.428) and OpenJDK in CentOS 6.

          $ java -version
          java version "1.6.0_17"
          OpenJDK Runtime Environment (IcedTea6 1.7.9) (rhel-1.36.b17.el6_0-x86_64)
          OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

          Stacktrace:

          java.lang.NoClassDefFoundError: Could not initialize class hudson.security.captcha.JcaptchaSupport$CaptchaService
          	at hudson.security.captcha.JcaptchaSupport.generateImage(JcaptchaSupport.java:75)
          	at hudson.security.SecurityRealm.doCaptcha(SecurityRealm.java:350)
          	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:616)
          	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
          	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
          	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
          	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
          	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:196)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
          	at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
          	at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
          	at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
          	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
          	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:52)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
          	at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
          	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
          	at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
          	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
          	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
          	at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
          	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          	at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
          	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          	at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
          	at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
          	at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
          	at java.lang.Thread.run(Thread.java:636)

          Debian 6.0 is not affected. JRE:

          java version "1.6.0_18"
          OpenJDK Runtime Environment (IcedTea6 1.8.7) (6b18-1.8.7-2~squeeze1)
          OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

          The proprietary JRE from Oracle is also not affected:

          java version "1.7.0"
          Java(TM) SE Runtime Environment (build 1.7.0-b147)
          Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

          I can provide the following to assist in triaging this bug:

          • ssh access to a CentOS virtual machine with all sudo permissions enabled
          • a kickstart file to create your own VM using kvm and virt-install
          • a preinstalled qcow2 disk image for x86_64 (~2GiB)

          CentOS can also be obtained here: http://mirrors.kernel.org/centos/6/isos/

          Henk de Vries added a comment - This affects the current version of Jenkins (1.428) and OpenJDK in CentOS 6. $ java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.7.9) (rhel-1.36.b17.el6_0-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) Stacktrace: java.lang.NoClassDefFoundError: Could not initialize class hudson.security.captcha.JcaptchaSupport$CaptchaService at hudson.security.captcha.JcaptchaSupport.generateImage(JcaptchaSupport.java:75) at hudson.security.SecurityRealm.doCaptcha(SecurityRealm.java:350) 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:616) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:196) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477) at org.kohsuke.stapler.Stapler.service(Stapler.java:159) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:249) at winstone.RequestDispatcher.forward(RequestDispatcher.java:335) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:52) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Thread.java:636) Debian 6.0 is not affected. JRE: java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8.7) (6b18-1.8.7-2~squeeze1) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) The proprietary JRE from Oracle is also not affected: java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) I can provide the following to assist in triaging this bug: ssh access to a CentOS virtual machine with all sudo permissions enabled a kickstart file to create your own VM using kvm and virt-install a preinstalled qcow2 disk image for x86_64 (~2GiB) CentOS can also be obtained here: http://mirrors.kernel.org/centos/6/isos/

          Mark Waite added a comment -

          Java 1.6, Java 1.7, and Java 8 are no longer supported by Jenkins. Closing as "Won't fix"

          Mark Waite added a comment - Java 1.6, Java 1.7, and Java 8 are no longer supported by Jenkins. Closing as "Won't fix"

            Unassigned Unassigned
            tobrien tobrien
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: