The following comment has been added to this issue:

     Author: Fred Preston
    Created: Thu, 16 Sep 2004 7:25 AM
       Body:
When parsing the 78th infos block, the parser crashes as follows:-

+-------------------------------------------------------------------+
| Unhandled exception in AxisBench.exe (KERNEL32.DLL):0xE06D7363:   |
| Microsoft C++ Exception.                                          |
+-------------------------------------------------------------------+

KERNEL32! 7c57e592()
AXISTRANSPORT_D! 00398db9()
AXISTRANSPORT_D! 003828a8()
AXISXMLPARSER_D! 0032453e()
xercesc_2_2::XMLReader::refreshRawBuffer() line 1547 + 46 bytes
xercesc_2_2::XMLReader::xcodeMoreChars(unsigned short * const 0x00ffe5e4, unsigned 
char * const 0x010065e8, const unsigned int 16384) line 1585
xercesc_2_2::XMLReader::refreshCharBuffer() line 530 + 42 bytes
xercesc_2_2::XMLReader::getName(xercesc_2_2::XMLBuffer & {...}, const unsigned char 0) 
line 657 + 8 bytes
xercesc_2_2::ReaderMgr::getName(xercesc_2_2::XMLBuffer & {...}) line 387
xercesc_2_2::IGXMLScanner::scanStartTagNS(unsigned char & 1) line 1934 + 27 bytes
xercesc_2_2::IGXMLScanner::scanNext(xercesc_2_2::XMLPScanToken & {...}) line 368
xercesc_2_2::SAX2XMLReaderImpl::parseNext(xercesc_2_2::XMLPScanToken & {...}) line 651
AXISXMLPARSER_D! 0032c215()
axiscpp::SoapDeSerializer::getElementAsString(axiscpp::SoapDeSerializer * const 
0x002f8ab0, const char * 0x00438680 `string', const char * 0x00000000) line 2433 + 21 
bytes
Axis_DeSerialize_BenchBasicDataType(BenchBasicDataType * 0x01207e0c, 
axiscpp::IWrapperSoapDeSerializer * 0x002f8ab0) line 48 + 21 bytes
axiscpp::SoapDeSerializer::getCmplxArray(axiscpp::SoapDeSerializer * const 0x002f8ab0, 
void * 0x00401451 Axis_DeSerialize_BenchBasicDataType(class BenchBasicDataType *,class 
axiscpp::IWrapperSoapDeSerializer *), void * 0x004011ea 
Axis_Create_BenchBasicDataType(class BenchBasicDataType *,bool,int), void * ...) line 
587 + 13 bytes
Axis_DeSerialize_BenchDataType(BenchDataType * 0x00311000, 
axiscpp::IWrapperSoapDeSerializer * 0x002f8ab0) line 46 + 50 bytes
axiscpp::SoapDeSerializer::getCmplxObject(axiscpp::SoapDeSerializer * const 
0x002f8ab0, void * 0x004012b2 Axis_DeSerialize_BenchDataType(class BenchDataType 
*,class axiscpp::IWrapperSoapDeSerializer *), void * 0x0040102d 
Axis_Create_BenchDataType(class BenchDataType *,bool,int), void * 0x004010b4 
Axis_Delete_BenchDataType(class BenchDataType *,bool,int), const char * ...) line 1106
axiscpp::Call::getCmplxObject(axiscpp::Call * const 0x002f26d8, void * 0x004012b2 
Axis_DeSerialize_BenchDataType(class BenchDataType *,class 
axiscpp::IWrapperSoapDeSerializer *), void * 0x0040102d 
Axis_Create_BenchDataType(class BenchDataType *,bool,int), void * 0x004010b4 
Axis_Delete_BenchDataType(class BenchDataType *,bool,int), const char * 0x00438200 
`string', ...) line 601 + 4
AxisBench::doBenchRequest(BenchDataType * 0x003139e0) line 59 + 45 bytes
main(int 1, char * * 0x003117a0) line 102 + 12 bytes
mainCRTStartup() line 206 + 25 bytes

And the reason it runs out of data is because there is no space left in the XMLByte 
fRawByteBuf[kRawBufSize]; buffer.  When kRawBufSize is increased, from 16 * 1024 to 
160 * 1024 all is well.

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/XERCESC-1271?page=comments#action_53142

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/XERCESC-1271

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XERCESC-1271
    Summary: Problems parsing large XML strings
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Xerces-C++

   Assignee: 
   Reporter: Fred Preston

    Created: Fri, 10 Sep 2004 5:00 AM
    Updated: Thu, 16 Sep 2004 7:25 AM
Environment: n/a

Description:
When testing with large XML strings, xerces falls over when the size of the XML 
exceeds the 16 * 1024 limit that is hardwired into the XMLReader.hpp file 
(375:kCharBufSize        = 16 * 1024).  Would it be possible to dynamically allocate 
space for this and other buffers (fCharBuf and fCharSizeBuf) and then to extend them 
using the realloc function when necessary.  This also applies to the fRawByteBuf 
buffer that is also limited in size.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to