Uploaded image for project: 'XalanC'
  1. XalanC
  2. XALANC-588

Floating point exceptions in DoubleSupport::initialize() on Solaris 10 (x86)

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.10
    • CurrentCVS
    • XalanC
    • None

    Description

      A couple of issues.

      Prior to compiling, XERCESCROOT and XALANCROOT are configured to point the their respective foliders, and the configurations used as follows:
      Xerces: ./runConfigure -p solaris -c cc -x CC -b 64 -P $P4SRCROOT/Tools/libs/64/SUN/xerces-c_2_7_0
      Xalan: ./runConfigure -p solaris -c cc -x CC -b 64 -P $P4SRCROOT/Tools/libs/64/SUN/xalanc_1_10

      1) To compile on this platform, the 'solaris' entries in runConfigure had to be changed to use option '-xarch=amd64' in place of '-xarch=v9' (for XercesC and XalanC)

      2) After building the libraries, our program was crashing in XalanTransformer::initialize(); (after calling XMLPlatformUtils::Initialize(); of course), with a Floating Point Exception (FPE) in:
      void
      DoubleSupport::initialize()
      {
      #if defined(XALAN_NO_STD_NUMERIC_LIMITS)
      // We initialize this at here because some
      // platforms have had issues with signals
      // if we call sqrt(-2.01) during static
      // initialization.
      #if defined(XALAN_STRICT_ANSI_HEADERS)
      s_NaN.d = std::sqrt(-2.01);
      #else
      s_NaN.d = sqrt(-2.01);
      #endif
      #elif !defined(XALAN_NO_STD_NAMESPACE)
      // There seems to be problems with various standard libraries, so
      // this is disabled for now. We need to revisit this when we
      // update our autoconf/automake system to detect the right value
      // for NaN at configuration time.
      // XALAN_STATIC_ASSERT(std::numeric_limits<double>::has_quiet_NaN);
      #endif

      Removing #define XALAN_NO_STD_NUMERIC_LIMITS from the Include/SolarisDefinitions.hpp fixes this problem.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dbertoni David N Bertoni
            seanp Sean Pearce
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment