public void testCharsetMismatchInfiniteLoop() throws IOException {
// Input is UTF-8 bytes: 0xE0 0xB2 0xA0
char[] inputChars = new char[] { (char) 0xE0, (char) 0xB2, (char) 0xA0 };
// Charset charset = Charset.forName("UTF-8"); // works
Charset charset = Charset.forName("ASCII"); // infinite loop
ReaderInputStream stream = new ReaderInputStream(new CharArrayReader(inputChars), charset);
try {
while (stream.read() != -1) {
}
} finally {
stream.close();