Missing CAPTCHA image

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

The CAPTCHA image is not visible from the UI if a user provides too many incorrect passwords.

Diagnosis

The following error will be shown in the atlassian-bitbucket.log file.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 2017-09-27 10:22:10,063 ERROR [http-nio-7990-exec-563] *GVIXKXx622x2299588x6 an2yuk 127.0.0.1 "GET /captcha HTTP/1.1" c.a.s.i.w.HandlerExceptionResolverImpl Error creating bean with name 'imageCaptchaServicePrototype' defined in class path resource [stash-context.xml]: Cannot create inner bean 'com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine#59c71843' of type [com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine#59c71843' defined in class path resource [stash-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine]: Constructor threw exception; nested exception is java.lang.ArrayIndexOutOfBoundsException: 0 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'imageCaptchaServicePrototype' defined in class path resource [stash-context.xml]: Cannot create inner bean 'com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine#59c71843' of type [com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine#59c71843' defined in class path resource [stash-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine]: Constructor threw exception; nested exception is java.lang.ArrayIndexOutOfBoundsException: 0 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] at com.atlassian.stash.internal.web.users.CaptchaController.viewCaptcha(CaptchaController.java:30) ~[classes/:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) [applinks-plugin-5.2.4_1483512906000.jar:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) [applinks-plugin-5.2.4_1483512906000.jar:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) [applinks-plugin-5.2.4_1483512906000.jar:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) [applinks-plugin-5.2.4_1483512906000.jar:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) [applinks-plugin-5.2.4_1483512906000.jar:na] at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:113) [classes/:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:109) [classes/:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75) [classes/:na] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94) [atlassian-trusted-apps-core-4.2.0.jar:na] at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67) [atlassian-oauth-service-provider-plugin-2.0.3_1483512906000.jar:na] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94) [atlassian-trusted-apps-core-4.2.0.jar:na] at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67) [atlassian-oauth-service-provider-plugin-2.0.3_1483512906000.jar:na] at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21) [atlassian-core-4.6.19.jar:na] at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) [atlassian-core-4.6.19.jar:na] at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:109) [atlassian-connect-plugin-1.1.86-bitbucket-04.jar:na] at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32) [jwt-plugin-1.5.11-0002_1483512906000.jar:na] at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:38) [analytics-client-5.2.20_1483512906000.jar:na] at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39) [analytics-client-5.2.20_1483512906000.jar:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:87) [classes/:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73) [classes/:na] at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:86) ~[bitbucket-service-impl-4.12.1.jar:na] at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38) ~[classes/:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_141] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_141] ... 267 frames trimmed Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine#59c71843' defined in class path resource [stash-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine]: Constructor threw exception; nested exception is java.lang.ArrayIndexOutOfBoundsException: 0 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] ... 26 common frames omitted Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine]: Constructor threw exception; nested exception is java.lang.ArrayIndexOutOfBoundsException: 0 at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] ... 26 common frames omitted Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at sun.font.CompositeFont.getSlotFont(CompositeFont.java:351) ~[na:1.8.0_141] at sun.font.CompositeGlyphMapper.initMapper(CompositeGlyphMapper.java:81) ~[na:1.8.0_141] at sun.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62) ~[na:1.8.0_141] at sun.font.CompositeFont.getMapper(CompositeFont.java:409) ~[na:1.8.0_141] at sun.font.CompositeFont.canDisplay(CompositeFont.java:435) ~[na:1.8.0_141] at java.awt.Font.canDisplay(Font.java:1980) ~[na:1.8.0_141] at com.octo.captcha.component.image.fontgenerator.RandomFontGenerator.checkFontCanDisplayCharacters(RandomFontGenerator.java:223) ~[jcaptcha-2.0-alpha-1.jar:na] at com.octo.captcha.component.image.fontgenerator.RandomFontGenerator.cleanFontList(RandomFontGenerator.java:179) ~[jcaptcha-2.0-alpha-1.jar:na] at com.octo.captcha.component.image.fontgenerator.RandomFontGenerator.initializeFonts(RandomFontGenerator.java:94) ~[jcaptcha-2.0-alpha-1.jar:na] at com.octo.captcha.component.image.fontgenerator.RandomFontGenerator.<init>(RandomFontGenerator.java:81) ~[jcaptcha-2.0-alpha-1.jar:na] at com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine.buildInitialFactories(StashCaptchaEngine.java:47) ~[classes/:na] at com.octo.captcha.engine.image.ListImageCaptchaEngine.<init>(ListImageCaptchaEngine.java:24) ~[jcaptcha-2.0-alpha-1.jar:na] at com.atlassian.stash.internal.web.util.captcha.StashCaptchaEngine.<init>(StashCaptchaEngine.java:29) ~[classes/:na] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] ... 26 common frames omitted

Cause

This is an OS or Java related bug/ problem. Some common causes are a RedHat Bug 1479563 or a missing fonts packages.

Workaround

Disable CAPTCHA for the time being by adding feature.auth.captcha=false to the bitbucket.properties. Note this change will require a restart. There are a few other workarounds listed in this StackOverflow article as well.

Resolution

Check with your Unix Admins to see if you're being effected by Bug 1479563 or missing a fonts package.

Updated on April 14, 2025

Still need help?

The Atlassian Community is here for you.