Consultor Eletrônico



Kbase P142243: Creating large XML documents using DOM parser results in Unexpected exceptions and may lead to crash
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/2/2010
Status: Verified

SYMPTOM(s):

Creating large XML documents using DOM parser results in Unexpected exceptions and may lead to crashes

Creating XML documents using DOM model

XML document created will hold a large amount of data ( > 30 MB)

One or more of the following errors occur:

X-NODEREF or X-DOCUMENT CREATE-NODE got an error: Unexpected exception. (9082)

X-NODEREF or X-DOCUMENT <method-name> got an error: <xml-exception>. (9082)

X-NODEREF must be associated with a valid X-DOCUMENT in order to use it in method APPEND-CHILD. (9102)

X-NODEREF must be associated with a valid X-DOCUMENT in order to use it in method NODE-VALUE. (9102)

X-NODEREF must be associated with a valid X-DOCUMENT in order to use it in method <method>. (9102)

Unable to set attribute NODE-VALUE in widget of type X-NODEREF. (3131)

Unable to set attribute <attribute name> in widget <widget name> of type <widget-type>. (3131)

SYSTEM ERROR: Memory violation. (49)

FACT(s) (Environment):

OpenEdge 10.x
All Supported Operating Systems

CAUSE:

Insufficient memory available to the client.

Note that maintaining the DOM tree has a significant overhead; therefore the required memory to build the XML document is several times higher that the size of the document produced.

FIX:

Possible fixes include:

1. Verify that the per-process memory limits are high enough for the client to run. (This applies mostly to UNIX configurations.)

2. Increase the available memory in the machine. Note that if the process requires more than 2GB, this requires a 64-bit OpenEdge release and thus a 64-bit platform.

3. Redesign the process to use the SAX-WRITER to generate document instead, as that has far less overhead than the DOM parser and thus lowers memory requirements. The SAX-WRITER is available in OpenEdge 10.1A and later releases.