Uploaded image for project: 'Xerces-C++'
  1. Xerces-C++
  2. XERCESC-1160

External subset problem with icc 8.0 on IA-64 Linux

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 2.3.0
    • None
    • Non-Validating Parser
    • 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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            graham-xerces@simulcra.org Graham Bennett
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: