Martin,

Given the [SNIP] in the middle of the trace, I would think we are seeing
com.sun.org.apache.xml.internal.serializer.EncodingInfo $EncodingImpl.isInEncoding(EncodingInfo.java:181)
invoking itself recursively.

-- Jon

On Feb 15, 2009, at 4:46 PM, Martin Buchholz wrote:

There have been recent changes to the
UTF_8 encoder in OpenJDK that might be responsible.
You can try to isolate the exact change to UTF_8 that
could cause this difference, and then create a proper test case.

changeset:   497:3dcc69147ff9
user:        sherman
date:        Fri Aug 22 14:37:46 2008 -0700
summary:     4486841: UTF-8 decoder should adhere to corrigendum to
Unicode 3.0.1

It is surprising that one can get StackOverflowError without
a very long stack trace of methods invoking themselves recursively,
which is not what we're seeing.

Martin

On Wed, Feb 11, 2009 at 10:38, Omair Majid <[email protected]> wrote:
Hi all,

I am trying to generate xml reports from jtreg. The problem is that jtreg throws a StackOverflowError when writing the output xml file when running the jdk tests. The xml report works fine for the 16 compiler tests and 1351
langtools tests.

I am using Icedtea6 to run the tests. These are the commands it executes:

$ mkdir -p test/jdk/JTwork test/jdk/JTreport
$ /notnfs/omajid/icedtea6/bootstrap/jdk1.6.0/bin/java \
      -Djavatest.report.kinds="xml text html" \
      -jar test/jtreg.jar -v1 -a -ignore:quiet \
      -w:test/jdk/JTwork -r:test/jdk/JTreport \
      -s -jdk:`pwd`/openjdk/control/build/linux-i586/j2sdk-image \
      `pwd`/openjdk/jdk/test \
      | tee test/check-jdk.log

The error appears after the jtreg run completes:

[ lots of output ]
Passed: vm/verifier/VerifyProtectedConstructor.java
Passed: vm/verifier/VerifyStackForExceptionHandlers.java
Test results: passed: 3,306; failed: 73; error: 5
Exception in thread "main" java.lang.StackOverflowError
  at sun.nio.cs.UTF_8.updatePositions(UTF_8.java:76)
  at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:411)
  at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:466)
  at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:561)
at java.lang.StringCoding$StringEncoder.encode(StringCoding.java: 258)
  at java.lang.StringCoding.encode(StringCoding.java:290)
  at java.lang.String.getBytes(String.java:954)
  at
com .sun .org .apache .xml.internal.serializer.EncodingInfo.inEncoding(EncodingInfo.java: 413)
  at
com.sun.org.apache.xml.internal.serializer.EncodingInfo.access $100(EncodingInfo.java:62)
  at
com.sun.org.apache.xml.internal.serializer.EncodingInfo $EncodingImpl.isInEncoding(EncodingInfo.java:205)
  at
com.sun.org.apache.xml.internal.serializer.EncodingInfo $EncodingImpl.isInEncoding(EncodingInfo.java:181)
  at
com.sun.org.apache.xml.internal.serializer.EncodingInfo $EncodingImpl.isInEncoding(EncodingInfo.java:181)
  [...SNIP...]
  at
com.sun.org.apache.xml.internal.serializer.EncodingInfo $EncodingImpl.isInEncoding(EncodingInfo.java:181)


Has anyone ever seen this before?

Thanks,
Omair



Reply via email to