|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1351 Details
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 EndReview 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:
- View Report 1351
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority