Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
Version 2.5.1
-
None
-
None
-
jdk1.6
Description
when process large data, I have below errors
java.lang.AssertionError
org.apache.xmlbeans.impl.store.Saver$TextSaver.replace(Saver.java:1609)
org.apache.xmlbeans.impl.store.Saver$TextSaver.entitizeContent(Saver.java:1395)
org.apache.xmlbeans.impl.store.Saver$TextSaver.emitText(Saver.java:1044)
org.apache.xmlbeans.impl.store.Saver.process(Saver.java:309)
org.apache.xmlbeans.impl.store.Saver$TextSaver.write(Saver.java:1817)
org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.ensure(Saver.java:2521)
org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.access$100(Saver.java:2419)
org.apache.xmlbeans.impl.store.Saver$InputStreamSaver$OutputStreamImpl.read(Saver.java:2570)
org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.read(Saver.java:2504)
java.io.InputStream.read(InputStream.java:85)
org.apache.xmlbeans.impl.store.Cursor._save(Cursor.java:585)
org.apache.xmlbeans.impl.store.Cursor.save(Cursor.java:2544)
org.apache.xmlbeans.impl.values.XmlObjectBase.save(XmlObjectBase.java:223)
I found the _buf has something like
<t>[aaaaaaaaaa]]]>bbbb
the data being processed is "<t>[aaaaaaaaaa]" , and previous data is
XXXXXXXXXXXXX]]>bbbb
I tried to modify the line
1387: if (++i == _buf.length)
to
1387: if (i == _buf.length)
and the problem solved, I don't know if it has side effects.
Attachments
Issue Links
- is duplicated by
-
XMLBEANS-404 entitizeContent CDATA loop iterating too many times (causes assertion error or ArrayIndexOutOfBoundsException in replace)
- Resolved