Bug 1837099

Summary: java.lang.NoClassDefFoundError: Could not initialize class com.ibm.icu.impl.NormalizerImpl
Product: Red Hat Enterprise Linux 6 Reporter: ssoto
Component: java-1.7.0-openjdkAssignee: Andrew John Hughes <ahughes>
Status: CLOSED NOTABUG QA Contact: OpenJDK QA <java-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.10CC: jvanek
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-21 17:51:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description ssoto 2020-05-18 20:08:27 UTC
Description of problem:

After updating openjdk java 1.7.0.251 to 1.7.0.261 and running code the following error can be found 

Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.ibm.icu.impl.NormalizerImpl
        at com.ibm.icu.text.Normalizer$Mode.normalize(Normalizer.java:190)
        at com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1132)
        at com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1101)
        at org.jasypt.normalization.Normalizer.normalizeWithIcu4j(Normalizer.java:204)
        at org.jasypt.normalization.Normalizer.normalizeToNfc(Normalizer.java:129)
        at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:661)
        ... 93 more



Version-Release number of selected component (if applicable):

Installed Packages
Name        : java-1.7.0-openjdk
Arch        : x86_64
Epoch       : 1
Version     : 1.7.0.261
Release     : 2.6.22.1.el6_10
Size        : 93 M
Repo        : installed
From repo   : updates
Summary     : OpenJDK Runtime Environment
URL         : http://openjdk.java.net/
License     : ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv1.1 and MPLv2.0 and Public Domain and W3C and zlib
Description : The OpenJDK runtime environment.


How reproducible:


Steps to Reproduce:
1. update openjdk to u261 
2. run code that call class
3.

Actual results:


Expected results:


Additional info:

others do seem to be reporting on this issue: https://access.redhat.com/solutions/5026361

Comment 2 Andrew John Hughes 2020-05-19 23:18:14 UTC
This is a failure in icu4j, not java-1.7.0-openjdk. It makes an assumption that the Java upgrade version will be < 256, which is no longer true.

You don't mention what version of icu4j is being used or how to reproduce this. This seems to have been fixed in icu4j in 2010, and I was unable to reproduce the failure on icu4j 56.1, which now ignores values over 256 and replaces them with zero, giving a Java version of 1.7.0.0.

https://unicode-org.atlassian.net/browse/ICU-7319
https://github.com/unicode-org/icu/commit/994193ba79bf8a36149c6f0ed27946de68256e37#diff-0d05a6fc3742749682cc77a162202330

Comment 3 ssoto 2020-05-20 13:40:20 UTC
Andrew, 

After reviewing you are correct. A old version of icu was found and intern causing the issue.

Comment 4 Andrew John Hughes 2020-05-20 17:23:07 UTC
Thanks. Can I close this bug then?

Comment 5 ssoto 2020-05-20 17:24:12 UTC
Yes, Please.

Comment 6 Andrew John Hughes 2020-05-21 17:52:52 UTC
Done. Thanks.