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]