Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-14143

Unable to save Repository details page for certain languages

    XMLWordPrintable

Details

    Description

      Issue Summary

      When a user who has the profile language options set to German, French, or Japanese tries to save the repository details page, an error stating "HV000149: An exception occurred during message interpolation" appears.

      This is reproducible on Data Center: (yes)

      Steps to Reproduce

      • Set up a fresh 8.11.0 Bitbucket DC instance.
      • Create A new project and repository.
      • Change the Language from English to German/French/Japanese.
        • You only need to change the user profile language... not the whole system language
      • Click on the newly created repository > Repository settings > Repository details > click on save.

      Expected Results

      • The page should be saved without the error.

      Actual Results

      • On saving the Repository details, the following error message pops up and any change is not saved.
      • The following error appears in atlassian-bitbucket.log
         2023-06-19 12:52:51,538 ERROR [http-nio-7991-exec-6 url: /projects/PRO1/repos/repo1/settings, /mvc/projects/PRO1/repos/repo1/settings; user: user1] user1 @113UWARx772x154x0 1v9if2 10.211.55.2 "POST /projects/PRO1/repos/repo1/settings HTTP/1.1" c.a.s.i.w.HandlerExceptionResolverImpl HV000149: An exception occurred during message interpolation
        javax.validation.ValidationException: HV000149: An exception occurred during message interpolation
                at org.hibernate.validator.internal.engine.ValidationContext.interpolate(ValidationContext.java:474)
                at org.hibernate.validator.internal.engine.ValidationContext.createConstraintViolation(ValidationContext.java:319)
                at org.hibernate.validator.internal.engine.constraintvalidation.ComposingConstraintTree.prepareFinalConstraintViolations(ComposingConstraintTree.java:179)
                at org.hibernate.validator.internal.engine.constraintvalidation.ComposingConstraintTree.validateConstraints(ComposingConstraintTree.java:122)
                at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:73)
                at org.hibernate.validator.internal.metadata.core.MetaConstraint.doValidateConstraint(MetaConstraint.java:127)
                at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:120)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateMetaConstraint(ValidatorImpl.java:552)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForSingleDefaultGroupElement(ValidatorImpl.java:515)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:485)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:447)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:397)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:173)
                at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:109)
                at org.springframework.validation.DataBinder.validate(DataBinder.java:933)
                at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.validateIfApplicable(ModelAttributeMethodProcessor.java:382)
                at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:173)
                at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122)
                at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
                at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
                at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
                at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
                at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
                at com.atlassian.bitbucket.internal.importer.web.RepositoryImportFilter.doFilter(RepositoryImportFilter.java:64)
                at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
                at com.atlassian.bitbucket.internal.ratelimit.servlet.filter.RateLimitFilter.doFilter(RateLimitFilter.java:75)
                at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
                at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
                at com.atlassian.stash.internal.web.auth.AuthorizationFailureInterceptor.doFilterInternal(AuthorizationFailureInterceptor.java:39)
                at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:85)
                at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:112)
                at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75)
                at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94)
                at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67)
                at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:81)
                at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
                at com.atlassian.plugins.authentication.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
                at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
                at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
                at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94)
                at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67)
                at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:81)
                at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
                at com.atlassian.plugin.connect.plugin.auth.oauth2.DefaultSalAuthenticationFilter.doFilter(DefaultSalAuthenticationFilter.java:69)
                at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:109)
                at com.atlassian.plugins.authentication.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
                at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
                at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:26)
                at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:33)
                at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
                at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
                at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:90)
                at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73)
                at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:84)
                at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38)
                at java.lang.Thread.run(Thread.java:750)
                ... 319 frames trimmed
        Caused by: java.lang.IllegalArgumentException: can't parse argument number: size
                at java.text.MessageFormat.makeFormat(MessageFormat.java:1429)
                at java.text.MessageFormat.applyPattern(MessageFormat.java:479)
                at java.text.MessageFormat.<init>(MessageFormat.java:362)
                at java.text.MessageFormat.format(MessageFormat.java:840)
                at com.atlassian.stash.internal.i18n.PluginI18nService.getText(PluginI18nService.java:177)
                at com.atlassian.stash.internal.i18n.PluginI18nService.getText(PluginI18nService.java:125)
                at com.atlassian.stash.internal.web.i18n.I18nMessageSource.getMessage(I18nMessageSource.java:49)
                at com.atlassian.stash.internal.web.i18n.I18nMessageSource.getMessage(I18nMessageSource.java:59)
                at org.springframework.context.support.MessageSourceResourceBundle.handleGetObject(MessageSourceResourceBundle.java:77)
                at java.util.ResourceBundle.getObject(ResourceBundle.java:441)
                at java.util.ResourceBundle.getString(ResourceBundle.java:407)
                at org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator.resolveParameter(AbstractMessageInterpolator.java:398)
                at org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator.interpolateBundleMessage(AbstractMessageInterpolator.java:372)
                at org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator.resolveMessage(AbstractMessageInterpolator.java:322)
                at org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator.lambda$interpolateMessage$0(AbstractMessageInterpolator.java:265)
                at java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324)
                at org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator.interpolateMessage(AbstractMessageInterpolator.java:265)
                at org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator.interpolate(AbstractMessageInterpolator.java:232)
                at org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator.interpolate(LocaleContextMessageInterpolator.java:51)
                at org.hibernate.validator.internal.engine.ValidationContext.interpolate(ValidationContext.java:465)
                ... 56 common frames omitted
        Caused by: java.lang.NumberFormatException: For input string: "size"
                at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
                at java.lang.Integer.parseInt(Integer.java:580)
                at java.lang.Integer.parseInt(Integer.java:615)
                at java.text.MessageFormat.makeFormat(MessageFormat.java:1427)
                ... 75 common frames omitted
        

      Workaround

      • Select the language (user profile or system) as English and save the Repository details page with or without change.
      • Change the Language back to German/French/Japanese and save the Repository details page without any error.
      • After the above steps, the issue doesn't occur for existing as well as new repositories.

      Attachments

        Issue Links

          Activity

            People

              8f36004e07e8 Milly Wilson
              83b3279fad28 Aman Shrivastava
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: