Thanks Chad. The test was very helpful and seems to be passing now after
the fix I just committed. We have to force a full expansion of the node
being transferred while it still has a reference to its original document
and weren't doing that when both DOMs (source and target) were initially
built by a parser.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrgla...@ca.ibm.com
E-mail: mrgla...@apache.org

Chad La Joie <laj...@itumi.biz> wrote on 06/02/2010 08:26:32 AM:

> Okay, bug with test case submitted:
>
> https://issues.apache.org/jira/browse/XERCESJ-1450
>
> On 5/31/10 6:24 PM, Michael Glavassevich wrote:
> > 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: mrgla...@ca.ibm.com
> > E-mail: mrgla...@apache.org
> >
> > Chad La Joie <laj...@itumi.biz> 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: j-users-unsubscr...@xerces.apache.org
> >  > For additional commands, e-mail: j-users-h...@xerces.apache.org
> >
>
> --
> Chad La Joie
> http://itumi.biz
> trusted identities, delivered
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
> For additional commands, e-mail: j-users-h...@xerces.apache.org

Reply via email to