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 ji...@apache.org on 2004/05/21 17:52:06 UTC

[jira] Resolved: (XERCESC-1216) GrammarResolver never clears internal cache of Grammar instances

Message:

   The following issue has been resolved as FIXED.

   Resolver: Neil Graham
       Date: Fri, 21 May 2004 8:51 AM

Thanks for the report and the patch Dave.  It's now in CVS.  
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/XERCESC-1216

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XERCESC-1216
    Summary: GrammarResolver never clears internal cache of Grammar instances
       Type: Bug

     Status: Resolved
   Priority: Blocker
 Resolution: FIXED

    Project: Xerces-C++
 Components: 
             Validating Parser (Schema) (Xerces 1.5 or up only)
   Fix Fors:
             Nightly build (please specify the date)

   Assignee: Neil Graham
   Reporter: David Bertoni

    Created: Wed, 19 May 2004 12:17 PM
    Updated: Fri, 21 May 2004 8:51 AM
Environment: All platforms

Description:
I may be misunderstanding how this should work, but GrammarResolver::resetCachedGrammar() clears the associated XMLGrammarPool instance, but does not clears its own cache of pooled grammars, stored in the member variable fGrammarFromPool.  The result is a dangling pointer to a Grammar instance that no longer exists.  I've applied the following patch to my local copy of Xerces-C, which seems to clear up the problem.

cvs diff GrammarResolver.cpp (in directory V:\xml-xerces\c\src\xercesc\validators\common\)
Index: GrammarResolver.cpp
===================================================================
RCS file: /home/cvspublic/xml-xerces/c/src/xercesc/validators/common/GrammarResolver.cpp,v
retrieving revision 1.25
diff -r1.25 GrammarResolver.cpp
403a404
>     fGrammarFromPool->removeAll();




---------------------------------------------------------------------
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: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org