Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
2.3.0
-
None
-
None
-
Operating System: Linux
Platform: Other
-
27115
Description
I'm having a problem with xerces 2.3.0 built with Intel icc 8.0 on Itanium.
Parsing of documents which reference external entities (e.g. an external subset
in a DTD) fails. This is reproducible with the SAXCount example, which reports
"Unexpected exception during parsing".
The problem seems to be due to exception handling. The scanner class that is
being used calls DTDScanner::scanExtSubsetDecl to scan the external subset.
This calls ReaderMgr::getSpaces at some point, which calls popReader when it
reaches the end of the entity. This functions throws EndOfEntityException,
which seems to be used for flow control to break out to the
DTDScanner::scanExtSubsetDecl call, where there is a try/catch block to
intercept it. Unfortunately it seems that with icc the exception is not caught
and propagates to the top level.
This problem is not observed with gcc 3.2.3 on the same platform.