StackOverflowError related to locales during upgrade

Issue

  • You might encounter an issue where you receive a StackOverflowError during your upgrade process, such as this:
    ERROR [main][ROOT:56] bundle com.liferay.portal.verify.extender:7.0.24 (1063)[com.liferay.portal.verify.extender.internal.osgi.commands.VerifyProcessTrackerOSGiCommands(5021)] : The activate method has thrown an exception
    java.lang.StackOverflowError: null
      at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[?:?]
      at com.liferay.portal.language.LanguageResources._getMapHolder(LanguageResources.java:140) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:76) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
      at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
        at com.liferay.portal.language.LanguageResources.getMessage(LanguageResources.java:83) ~[portal-impl.jar:?]
    ...
  • This happens when the locale and the super locale are bouncing off of each other, causing an endless loop

Environment

  • Liferay DXP 7.4+

Resolution

  • Make sure to set the locales and locales.enabled properties in the portal-upgrade-ext.properties, for example:
    locales=de_DE,en_US,en_GB,en_IN,fr_FR,pt_BR,pt_PT,tr_TR,ja_JP,es_ES,es_MX,ru_RU,sl_SI
    locales.enabled=de_DE,en_US,en_GB,en_IN,fr_FR,pt_BR,pt_PT,tr_TR,ja_JP,es_ES,es_MX,ru_RU,sl_SI

 

Was this article helpful?
0 out of 0 found this helpful