[SOLVED] GitHub Actions Failure due to icu4j version

We are moving our implementation CI away from Travis CI to GitHub actions, however we have run into an issue which throws the error below

Exception in thread "C3P0PooledConnectionPoolManager[identityToken->2rxcelaj15fv6l4q5lmya|24ae25b8]-HelperThread-#2" java.lang.ExceptionInInitializerError
	at com.ibm.icu.text.Collator.<clinit>(Collator.java:946)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at org.h2.value.CompareMode.<clinit>(CompareMode.java:66)
	at org.h2.engine.SessionRemote.<init>(SessionRemote.java:96)
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:169)
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:148)
	at org.h2.Driver.connect(Driver.java:69)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:146)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)
	at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:648)
Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255
	at com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.java:191)
	at com.ibm.icu.impl.ICUDebug.getInstanceLenient(ICUDebug.java:65)
	at com.ibm.icu.impl.ICUDebug.<clinit>(ICUDebug.java:69)

This seems to be a bug in the icu4j library where the used version is 4.0.1 yet the current version is 69.1 with the issue having been fixed in the 68.1 version

We are using platfrom 2.3.1 (even a bump to 2.3.3) does not fix this.

Any ideas or suggestions to resolution would be welcome

Reference: The PR for this change and error reproduction is WIP: Fixes to GitHub Actions by ssmusoke · Pull Request #99 · METS-Programme/openmrs-module-ugandaemr · GitHub

Upgrade the event module version to 2.8.0 or above. openmrs-module-ugandaemr/pom.xml at master · METS-Programme/openmrs-module-ugandaemr · GitHub

2 Likes

@dkayiwa You are so awesome!!!

Issue resolved