Running blade gw upgradeSourceCode --to-version=2026.q1.7 fails every so often on specific Java classes

Hi,

I am running

blade gw upgradeSourceCode --to-version=2026.q1.7

and it regularly fails with the following error:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: Unable to format Xxx.java
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at com.liferay.source.formatter.SourceFormatter.format(SourceFormatter.java:418)
        at com.liferay.source.formatter.SourceFormatter.main(SourceFormatter.java:303)
Caused by: java.lang.NoClassDefFoundError: com/liferay/petra/concurrent/ConcurrentReferenceValueHashMap
        at com.liferay.portal.kernel.util.StringParser.<clinit>(StringParser.java:298)
        at com.liferay.source.formatter.check.UpgradeCatchAllCheck._hasValidMethodCall(UpgradeCatchAllCheck.java:921)
        at com.liferay.source.formatter.check.UpgradeCatchAllCheck._formatMethodCall(UpgradeCatchAllCheck.java:731)
        at com.liferay.source.formatter.check.UpgradeCatchAllCheck._formatCalls(UpgradeCatchAllCheck.java:570)
        at com.liferay.source.formatter.check.UpgradeCatchAllCheck._formatJava(UpgradeCatchAllCheck.java:656)
        at com.liferay.source.formatter.check.UpgradeCatchAllCheck.doProcess(UpgradeCatchAllCheck.java:168)
        at com.liferay.source.formatter.check.BaseFileCheck.process(BaseFileCheck.java:46)
        at com.liferay.source.formatter.check.util.SourceChecksUtil._processFileCheck(SourceChecksUtil.java:373)
        at com.liferay.source.formatter.check.util.SourceChecksUtil.processSourceChecks(SourceChecksUtil.java:117)
        at com.liferay.source.formatter.processor.BaseSourceProcessor._processSourceChecks(BaseSourceProcessor.java:767)
        ...
Caused by: java.lang.ClassNotFoundException: com.liferay.petra.concurrent.ConcurrentReferenceValueHashMap
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        ...

I can work around it by commenting out most of the code in the involved class, and start upgradeSourceCode again. But has anyone had this issue? Seems like the upgrade plugin is missing this on the claspath? It is not clear what code exactly triggers this.

Thanks,
Aldo

Yes, having the same issue. It's listing .class files, .xml files and .json files :man_shrugging:

2 Answers

2

Managed to get past the Exceptions. Now it gives me 150 errors like:

See Jira ( Jira ), Language/LanguageUtil#get(PageContext paramName, String paramName):

on source code lines that contain “.get(” :frowning:

For a number of exceptions, I found they were triggered by a call in our code to

return LanguageUtil.get(locale, "xxx.yyy");

Commenting just this one line allowed the tool to continue.