Creating a Project or Repository Fails With HV000041: Call to TraversableResolver.isReachable() threw an exception
症状
Creating a project or repository fails with the error: HV000041: Call to TraversableResolver.isReachable() threw an exception.
The following can be seen in the atlassian-stash.log
:
javax.validation.ValidationException: HV000041: Call to TraversableResolver.isReachable() threw an exception.
at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1230) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:438) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:387) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:351) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:303) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:133) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:109) ~[spring-context-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at org.springframework.validation.DataBinder.validate(DataBinder.java:760) ~[spring-context-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.validateIfApplicable(ModelAttributeMethodProcessor.java:161) ~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:109) ~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:79) ~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) [applinks-plugin-4.1.1_1389362838000.jar:na]
at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:92) [StashAuthenticationFilter.class:na]
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:111) [BeforeLoginPluginAuthenticationFilter.class:na]
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:77) [BeforeLoginPluginAuthenticationFilter.class:na]
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) [atlassian-trusted-apps-core-3.0.3.jar:na]
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61) [atlassian-oauth-service-provider-plugin-1.9.1_1388446698000.jar:na]
at net.bull.javamelody.JspWrapper.invoke(JspWrapper.java:150) [javamelody-1.50.0.jar:na]
at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:281) [javamelody-1.50.0.jar:na]
at com.sun.proxy.$Proxy1571.forward(Unknown Source) [na:na]
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) [atlassian-trusted-apps-core-3.0.3.jar:na]
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61) [atlassian-oauth-service-provider-plugin-1.9.1_1388446698000.jar:na]
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:89) [BeforeLoginPluginAuthenticationFilter.class:na]
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75) [BeforeLoginPluginAuthenticationFilter.class:na]
at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:73) [stash-service-impl-2.12.0.jar:na]
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202) [javamelody-1.50.0.jar:na]
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180) [javamelody-1.50.0.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_51]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_51]
... 203 frames trimmed
Caused by: java.lang.IllegalStateException: java.lang.ClassNotFoundException: Can't find a delegate
at net.bull.javamelody.JpaPersistence.guessDelegate(JpaPersistence.java:176) ~[javamelody-1.50.0.jar:na]
at net.bull.javamelody.JpaPersistence.loadOrGuessDelegate(JpaPersistence.java:144) ~[javamelody-1.50.0.jar:na]
at net.bull.javamelody.JpaPersistence.getProviderUtil(JpaPersistence.java:129) ~[javamelody-1.50.0.jar:na]
at javax.persistence.Persistence$1.isLoaded(Persistence.java:111) ~[hibernate-jpa-2.1-api-1.0.0.Final.jar:1.0.0.Final]
at org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:57) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:130) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1221) ~[hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
... 29 common frames omitted
Caused by: java.lang.ClassNotFoundException: Can't find a delegate
... 37 common frames omitted
原因
JavaMelody 1.50 is incompatible with Stash 2.12.0 breaking the project and repository creation. For previous versions of Stash, JavaMelody incompatibility is not known.
ソリューション
Remove JavaMelody from the Stash installation.
If by any chance this fails, the same installer version of Stash can be unpacked and Stash can be started from that installation directory (make sure to port any modifications from the previous installation directory), after pointing it to the original Stash home directory.