HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1351 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 1351.


Report 1351 Actions


    Problem Report Number 1351
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0633
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1997-05-09 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.1.1
    Test Identification CAPIbase/fscalb 1
    Problem Summary TSD4U.00184 This test may fail on implementations where the radix (FLT_RADIX) is greater than or equal to 10.
    Problem Text

    This assertions is generating a SIGFPE becuase it is non-portable
    to our radix-16 architecture implementation.

    The code for this assertion contains the following line:
    digits = (int) ((double)DBL_MANT_DIG/ logb(10.0)) + 1;

    On our implementation, logb(10.0) correctly returns 0, the integral
    part of .830482 (which is the base 16 logarithm of 10.) This
    results in division by zero, and a floating point exception, and
    hence a SIGFPE. (TSD4U.00122 was granted for this same scenario
    observed on nextafter#1)

    On our platform, after a SIGFPE is generated for a reason other
    than raise() or kill(), (specifically division by zero in the
    scalb #1 assertion) we do not return to the next sequential
    instruction. This is a change from the previous (branded) release
    of our product, but we believe it is a conforming behaviour based
    on the following bullet taken from the Signal Actions section under
    sigaction():

    "The behaviour of a process is undefined after it returns normally
    from a signal-catching function for a SIGBUS, SIGFPE, SIGILL or
    or SIGSEGV signal that was not generated by kill() or raise()."

    Please refer to PG4U.00123 where it was agreed that this is
    conforming behaviour, but this IR was refused because I neglected
    to include the explanation as to why the SIGFPE was generated on
    our platform in the first place.
    Test Output
    10|4055 /tset/CAPIbase/fscalb/fscalb1 04:09:17|TC Start, scenario ref 105-1818
    15|4055 1.10 9|TCM Start
    400|4055 1 1 04:09:23|IC Start
    200|4055 1 04:09:23|TP Start
    520|4055 1 268435466 1 1|SPEC1170TESTSUITE CASE 1
    520|4055 1 268435466 1 2|A call to double scalb(double x, double n) shall
    520|4055 1 268435466 1 3|return x * rn where r is the radix of the machine's
    520|4055 1 268435466 1 4|floating-point arithmetic.
    520|4055 1 1040187411 1 1|TEST: scalb() returns correct value
    520|4055 1 1040187411 1 2|INFO: Spurious SIGFPE generated by scalb
    520|4055 1 268435466 2 1|ERROR: TEST TERMINATED DUE TO SIGFPE SIGNAL (8)
    220|4055 1 1 04:09:27|FAIL
    410|4055 1 1 04:09:27|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree this is a test suite deficiency in the test
    suite version(s) listed.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority