Hi Chad,

I believe you've found a bug. There have been problems in the past with
transferring deferred nodes from one document to another through adoptNode
(). Perhaps we missed this scenario.

Can you create a new JIRA issue [1] and a test case which demonstrates the
problem?

Thanks.

[1] https://issues.apache.org/jira/browse/XERCESJ

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [email protected]
E-mail: [email protected]

Chad La Joie <[email protected]> wrote on 05/31/2010 05:44:56 PM:

> Just a bit more data.  If I create a completely new document and adopt
> all the elements in to the new document all the elements are adopted
> without a problem.
>
> On 5/31/10 4:50 PM, Chad La Joie wrote:
> > I have some code that takes a number of relatively large (~10MB) XML
> > documents, extracts various elements and then adopts them in to one of
> > the documents (i.e. if documents A, B, and C were read in and worked
on,
> > all the elements might get adopted into A).
> >
> > This works fine for some number of adoptions but eventually I always
get
> > the following error:
> > java.lang.ArrayIndexOutOfBoundsException: 32
> > at org.apache.xerces.dom.DeferredDocumentImpl.clearChunkValue(Unknown
> > Source)
> > at org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString
(Unknown
> > Source)
> > at org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString
(Unknown
> > Source)
> > at org.apache.xerces.dom.DeferredTextImpl.synchronizeData(Unknown
Source)
> > at org.apache.xerces.dom.NodeImpl.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown Source)
> > at org.apache.xerces.dom.CoreDocumentImpl.adoptNode(Unknown Source)
> >
> > I can't see anything special or unique about the element that is being
> > adopted when the error occurs. It pretty much looks like every other
> > element that gets adopted. Given the same order of elements to be
> > adopted the error always occurs one the same element. Changes in the
> > ordering cause more or fewer elements to be adopted. This makes me
> > wonder if the issue is an internal buffer somewhere that isn't growing
> > appropriately.
> >
> > Has anyone run in to this before?
> >
> > Thanks.
> >
>
> --
> Chad La Joie
> http://itumi.biz
> trusted identities, delivered
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]

Reply via email to