You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Anton Nikolaevsky (JIRA)" <xe...@xml.apache.org> on 2007/05/16 14:44:16 UTC
[jira] Created: (XERCESC-1704) XMLBufferMgr provides not enough
buffers
XMLBufferMgr provides not enough buffers
----------------------------------------
Key: XERCESC-1704
URL: https://issues.apache.org/jira/browse/XERCESC-1704
Project: Xerces-C++
Issue Type: Bug
Components: SAX/SAX2
Affects Versions: 2.6.0
Environment: Windows XP SP2, Visual Studio .NET
Reporter: Anton Nikolaevsky
SAX2XMLReaderImpl::startElement uses member XMLBufferMgr fStringBuffers including for storage of namespace prefixes. The fact is XMLBufferMgr::fBufCount is initialized during ctor call with hardcoded value 32 (see xercesc/framework/XMLBuffer.cpp[71] ) and cannot be modified later since the class has not appropriate setter method (it seems getter appeared in 2.7.0 after fix for https://issues.apache.org/jira/browse/XERCESC-1491 ). This leads to exception 'Type:RuntimeException, Message:The buffer manager cannot provide any more buffers' when, for example, we have more than 32 namespace declarations.
Appropriate RosettaNet sample XML is attached. It counts 64 namespace declarations on the root element.
I would propose to resolve problem one of following way:
1) simplest: increase hardcoded buffers count, say, up to 128.
2) provide additional parameter to XMLBufferMgr initializing fBufCount with specified value or 32 by default and make SAX2XMLReaderImpl::fStringBuffers ctor call (see xercesc/parsers/SAX2XMLReaderImpl.cpp[349] ) with overridden buffers count, say, 128.
3) increase buffers count during runtime, when more then XMLBufferMgr::fBufCount buffers is requested, including memory for XMLBufferMgr::fBufList reallocation (likewise std::vector does), instead of exception generation.
I guess the last one is most reliable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org
[jira] Updated: (XERCESC-1704) XMLBufferMgr provides not enough
buffers
Posted by "Anton Nikolaevsky (JIRA)" <xe...@xml.apache.org>.
[ https://issues.apache.org/jira/browse/XERCESC-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Nikolaevsky updated XERCESC-1704:
---------------------------------------
Attachment: instance.xml
RosettaNet sample
> XMLBufferMgr provides not enough buffers
> ----------------------------------------
>
> Key: XERCESC-1704
> URL: https://issues.apache.org/jira/browse/XERCESC-1704
> Project: Xerces-C++
> Issue Type: Bug
> Components: SAX/SAX2
> Affects Versions: 2.6.0
> Environment: Windows XP SP2, Visual Studio .NET
> Reporter: Anton Nikolaevsky
> Attachments: instance.xml
>
>
> SAX2XMLReaderImpl::startElement uses member XMLBufferMgr fStringBuffers including for storage of namespace prefixes. The fact is XMLBufferMgr::fBufCount is initialized during ctor call with hardcoded value 32 (see xercesc/framework/XMLBuffer.cpp[71] ) and cannot be modified later since the class has not appropriate setter method (it seems getter appeared in 2.7.0 after fix for https://issues.apache.org/jira/browse/XERCESC-1491 ). This leads to exception 'Type:RuntimeException, Message:The buffer manager cannot provide any more buffers' when, for example, we have more than 32 namespace declarations.
> Appropriate RosettaNet sample XML is attached. It counts 64 namespace declarations on the root element.
> I would propose to resolve problem one of following way:
> 1) simplest: increase hardcoded buffers count, say, up to 128.
> 2) provide additional parameter to XMLBufferMgr initializing fBufCount with specified value or 32 by default and make SAX2XMLReaderImpl::fStringBuffers ctor call (see xercesc/parsers/SAX2XMLReaderImpl.cpp[349] ) with overridden buffers count, say, 128.
> 3) increase buffers count during runtime, when more then XMLBufferMgr::fBufCount buffers is requested, including memory for XMLBufferMgr::fBufList reallocation (likewise std::vector does), instead of exception generation.
> I guess the last one is most reliable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org
[jira] Resolved: (XERCESC-1704) XMLBufferMgr provides not enough
buffers
Posted by "Alberto Massari (JIRA)" <xe...@xml.apache.org>.
[ https://issues.apache.org/jira/browse/XERCESC-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alberto Massari resolved XERCESC-1704.
--------------------------------------
Resolution: Duplicate
Duplicate of XERCESC-866; fix is already available in version 2.7
Alberto
> XMLBufferMgr provides not enough buffers
> ----------------------------------------
>
> Key: XERCESC-1704
> URL: https://issues.apache.org/jira/browse/XERCESC-1704
> Project: Xerces-C++
> Issue Type: Bug
> Components: SAX/SAX2
> Affects Versions: 2.6.0
> Environment: Windows XP SP2, Visual Studio .NET
> Reporter: Anton Nikolaevsky
> Attachments: instance.xml
>
>
> SAX2XMLReaderImpl::startElement uses member XMLBufferMgr fStringBuffers including for storage of namespace prefixes. The fact is XMLBufferMgr::fBufCount is initialized during ctor call with hardcoded value 32 (see xercesc/framework/XMLBuffer.cpp[71] ) and cannot be modified later since the class has not appropriate setter method (it seems getter appeared in 2.7.0 after fix for https://issues.apache.org/jira/browse/XERCESC-1491 ). This leads to exception 'Type:RuntimeException, Message:The buffer manager cannot provide any more buffers' when, for example, we have more than 32 namespace declarations.
> Appropriate RosettaNet sample XML is attached. It counts 64 namespace declarations on the root element.
> I would propose to resolve problem one of following way:
> 1) simplest: increase hardcoded buffers count, say, up to 128.
> 2) provide additional parameter to XMLBufferMgr initializing fBufCount with specified value or 32 by default and make SAX2XMLReaderImpl::fStringBuffers ctor call (see xercesc/parsers/SAX2XMLReaderImpl.cpp[349] ) with overridden buffers count, say, 128.
> 3) increase buffers count during runtime, when more then XMLBufferMgr::fBufCount buffers is requested, including memory for XMLBufferMgr::fBufList reallocation (likewise std::vector does), instead of exception generation.
> I guess the last one is most reliable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org