We're updating the issue view to help you get more done. 

Crash in Normalizer

Description

In Java, I get a crash with trying to compose the following strings. This may
also be a problem in C++. (Be sure to add a regression test to both.)

The code is simply:

comp = Normalizer.compose(merge, false);

And the stack traces are:

Failed when trying to compose <30FD 309A>, 2
java.lang.ArrayIndexOutOfBoundsException
at com.ibm.icu.impl.NormalizerImpl.combine(NormalizerImpl.java:1395)
at com.ibm.icu.impl.NormalizerImpl.recompose(NormalizerImpl.java:1532)
at com.ibm.icu.impl.NormalizerImpl.composePart(NormalizerImpl.java:1764)
at com.ibm.icu.impl.NormalizerImpl.compose(NormalizerImpl.java:2046)
at com.ibm.icu.text.Normalizer.compose(Normalizer.java:672)
at com.ibm.text.Dictionary.Main.makeCompositionChart(Main.java:245)
at com.ibm.text.Dictionary.Main.main(Main.java:52)
Failed when trying to compose <30A6 309A>, 2
java.lang.ArrayIndexOutOfBoundsException
at com.ibm.icu.impl.NormalizerImpl.combine(NormalizerImpl.java:1395)
at com.ibm.icu.impl.NormalizerImpl.recompose(NormalizerImpl.java:1532)
at com.ibm.icu.impl.NormalizerImpl.composePart(NormalizerImpl.java:1764)
at com.ibm.icu.impl.NormalizerImpl.compose(NormalizerImpl.java:2046)
at com.ibm.icu.text.Normalizer.compose(Normalizer.java:672)
at com.ibm.text.Dictionary.Main.makeCompositionChart(Main.java:245)
at com.ibm.text.Dictionary.Main.main(Main.java:52)
Failed when trying to compose <30EF 309A>, 2
java.lang.ArrayIndexOutOfBoundsException
at com.ibm.icu.impl.NormalizerImpl.combine(NormalizerImpl.java:1395)
at com.ibm.icu.impl.NormalizerImpl.recompose(NormalizerImpl.java:1532)
at com.ibm.icu.impl.NormalizerImpl.composePart(NormalizerImpl.java:1764)
at com.ibm.icu.impl.NormalizerImpl.compose(NormalizerImpl.java:2046)
at com.ibm.icu.text.Normalizer.compose(Normalizer.java:672)
at com.ibm.text.Dictionary.Main.makeCompositionChart(Main.java:245)
at com.ibm.text.Dictionary.Main.main(Main.java:52)
Failed when trying to compose <30F0 309A>, 2
java.lang.ArrayIndexOutOfBoundsException
at com.ibm.icu.impl.NormalizerImpl.combine(NormalizerImpl.java:1395)
at com.ibm.icu.impl.NormalizerImpl.recompose(NormalizerImpl.java:1532)
at com.ibm.icu.impl.NormalizerImpl.composePart(NormalizerImpl.java:1764)
at com.ibm.icu.impl.NormalizerImpl.compose(NormalizerImpl.java:2046)
at com.ibm.icu.text.Normalizer.compose(Normalizer.java:672)
at com.ibm.text.Dictionary.Main.makeCompositionChart(Main.java:245)
at com.ibm.text.Dictionary.Main.main(Main.java:52)
Failed when trying to compose <30F1 309A>, 2
java.lang.ArrayIndexOutOfBoundsException
at com.ibm.icu.impl.NormalizerImpl.combine(NormalizerImpl.java:1395)
at com.ibm.icu.impl.NormalizerImpl.recompose(NormalizerImpl.java:1532)
at com.ibm.icu.impl.NormalizerImpl.composePart(NormalizerImpl.java:1764)
at com.ibm.icu.impl.NormalizerImpl.compose(NormalizerImpl.java:2046)
at com.ibm.icu.text.Normalizer.compose(Normalizer.java:672)
at com.ibm.text.Dictionary.Main.makeCompositionChart(Main.java:245)
at com.ibm.text.Dictionary.Main.main(Main.java:52)
Failed when trying to compose <30F2 309A>, 2
java.lang.ArrayIndexOutOfBoundsException
at com.ibm.icu.impl.NormalizerImpl.combine(NormalizerImpl.java:1395)
at com.ibm.icu.impl.NormalizerImpl.recompose(NormalizerImpl.java:1532)
at com.ibm.icu.impl.NormalizerImpl.composePart(NormalizerImpl.java:1764)
at com.ibm.icu.impl.NormalizerImpl.compose(NormalizerImpl.java:2046)
at com.ibm.icu.text.Normalizer.compose(Normalizer.java:672)
at com.ibm.text.Dictionary.Main.makeCompositionChart(Main.java:245)
at com.ibm.text.Dictionary.Main.main(Main.java:52)

Environment

Status

Assignee

Markus Scherer

Reporter

TracBot

Labels

tracCc

ram

tracCreated

Sep 25, 2002, 8:47 AM

tracOwner

markus

tracProject

ICU4C,ICU4J and ICU4JNI

tracReporter

mark.davis@63ab4e4d4e2312f9

tracResolution

fixed

tracReviewer

ram

tracStatus

closed

Components

Fix versions

Priority

blocker