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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1048 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 1048.


Report 1048 Actions


    Problem Report Number 1048
    Submitter's Classification Minor System Fault
    State Resolved
    Resolution Minor System Fault (MSF)
    Problem Resolution ID MSF.X.0038
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1998-07-06 08:00
    Expiry Date 1999-07-06
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSRT version 5.0.1
    Test Identification rt.os/procprim/sigwait 2
    Problem Summary MSF4R.00002 An MSF is requested as the implementation may not select signals in priority order and signals may not be delivered (signal handlers not run) in priority order in a POSIX threads Realtime application
    Problem Text
    This request is for the following test failures:

    rt.os/procprim/sigwait/T.sigwait 2
    rt.os/rtsignals/sigtimedwait/T.sigtimedwait 5
    rt.os/rtsignals/sigwaitinfo/T.sigwaitinfo 5
    rt.os/procprim/sigaction/T.sigaction 3
    rt.os/procprim/sigaction/T.sigaction 5

    The XSH5 specification states that when multiple realtime signals are
    pending, sigwait(), sigwaitinfo() and sigtimedwait() shall select the
    signal in priority order, with SIGRTMIN having the highest priority
    and SIGRTMAX the lowest. The same applies when the realtime signals are
    delivered (disposition for realtime signals is to catch, signal handlers
    are installed), that is, they shall be delivered in priority order.

    We are seeking a MSF for a recognized bug in our implementation whereby
    with multiple real time signals pending, the maximum of _POSIX_SIGQUEUE_MAX
    (32 for the implementation) instances, sigwait(), sigwaitinfo(), and
    sigtimedwait() may not select the signals in priority order and signals
    may not be delivered (signal handlers are not run) in priority order in a
    POSIX threads Realtime application.

    The impact on applications is that they can not depend on the value
    _POSIX_SIGQUEUE_MAX. The priority order for selection or delivery of
    pending signals is currently supported for a POSIX threads Realtime
    application as long as the queue depth is not greater than one.
    Priority order is supported when a single instance of any realtime
    signal is pending.

    As this request was initially refused we are also putting forward
    the following in support of our case.

    Clarifying the text of the original waiver request, the purpose of the
    VSRT test suite is to test realtime functionality. Were it only testing
    realtime functionality of sigwait, sigtimedwait, sigwaitinfo, and
    sigaction (i.e. linking with -lrt only) as opposed to threaded realtime
    functionality (i.e. linking with both -lrt and -lpthread), this test
    would pass. In summary:

    1. The problem is not present and will not affect applications that
    only link with -lrt (real time library).
    2. The problem is not present and will not affect applications that
    only link with -lpthread (threads library).
    3. Only applications that link with both -lrt and -lpthread MAY be
    affected, in other words, threaded realtime applications.
    4. Our customers have been using our realtime and threads functionality
    for over a year and in that time have not raised this as an issue or
    bug. The only application where this problem has become visible that
    we are aware of is the test suite.
    Test Output

    ********************************************************************
    /tset/rt.os/procprim/sigwait/T.sigwait 2 Failed

    Test Description:
    If _POSIX_REALTIME_SIGNALS is defined:
    If a call to sigwait() selects any of the multiple pending signals
    in the range SIGRTMIN to SIGRTMAX it shall be the lowest numbered
    one.

    Test Information:
    Expected sig for signal 1 = 38, is 45
    Expected sig for signal 3 = 38, is 45
    Expected sig for signal 5 = 38, is 45
    Expected sig for signal 7 = 38, is 45
    Expected sig for signal 9 = 38, is 45
    Expected sig for signal 11 = 38, is 45
    Expected sig for signal 13 = 38, is 45
    Expected sig for signal 15 = 38, is 45
    Expected sig for signal 16 = 45, is 38
    Expected sig for signal 18 = 45, is 38
    Expected sig for signal 20 = 45, is 38
    Expected sig for signal 22 = 45, is 38
    Expected sig for signal 24 = 45, is 38
    Expected sig for signal 26 = 45, is 38
    Expected sig for signal 28 = 45, is 38
    Expected sig for signal 30 = 45, is 38
    ********************************************************************

    ********************************************************************
    /tset/rt.os/rtsignals/sigtimedwait/T.sigtimedwait 5 Failed

    Test Description:
    If _POSIX_REALTIME_SIGNALS is defined or the implementation supports
    the sigtimedwait() function as described in System Interfaces and
    Headers, Issue 5:
    Should any of the multiple pending signals in the range SIGRTMIN to
    SIGRTMAX be selected by a call to sigtimedwait() it shall be the
    lowest numbered one.

    Test Information:
    Expected si_signo for signal 1 = 38, is 45
    si_value for signal 1 = 16, maximum expected value is 15
    Expected si_signo for signal 3 = 38, is 45
    si_value for signal 3 = 17, maximum expected value is 15
    Expected si_signo for signal 5 = 38, is 45
    si_value for signal 5 = 18, maximum expected value is 15
    Expected si_signo for signal 7 = 38, is 45
    si_value for signal 7 = 19, maximum expected value is 15
    Expected si_signo for signal 9 = 38, is 45
    si_value for signal 9 = 20, maximum expected value is 15
    Expected si_signo for signal 11 = 38, is 45
    si_value for signal 11 = 21, maximum expected value is 15
    Expected si_signo for signal 13 = 38, is 45
    si_value for signal 13 = 22, maximum expected value is 15
    Expected si_signo for signal 15 = 38, is 45
    si_value for signal 15 = 23, maximum expected value is 15
    Signal 8 not received
    Signal 9 not received
    Signal 10 not received
    Signal 11 not received
    Signal 12 not received
    Signal 13 not received
    Signal 14 not received
    Signal 15 not received
    Expected si_signo for signal 16 = 45, is 38
    si_value for signal 16 = 8, expected value between 16 and 31
    Expected si_signo for signal 18 = 45, is 38
    si_value for signal 18 = 9, expected value between 16 and 31
    Expected si_signo for signal 20 = 45, is 38
    si_value for signal 20 = 10, expected value between 16 and 31
    Expected si_signo for signal 21 = 45, is 38
    si_value for signal 21 = 11, expected value between 16 and 31
    Expected si_signo for signal 22 = 45, is 38
    si_value for signal 22 = 12, expected value between 16 and 31
    Expected si_signo for signal 23 = 45, is 38
    si_value for signal 23 = 13, expected value between 16 and 31
    Expected si_signo for signal 24 = 45, is 38
    si_value for signal 24 = 14, expected value between 16 and 31
    Expected si_signo for signal 25 = 45, is 38
    si_value for signal 25 = 15, expected value between 16 and 31
    Signal 16 not received
    Signal 17 not received
    Signal 18 not received
    Signal 19 not received
    Signal 20 not received
    Signal 21 not received
    Signal 22 not received
    Signal 23 not received
    ********************************************************************

    ********************************************************************
    /tset/rt.os/rtsignals/sigwaitinfo/T.sigwaitinfo 5 Failed

    Test Description:
    If _POSIX_REALTIME_SIGNALS is defined or the implementation supports
    the sigwaitinfo() function as described in System Interfaces and
    Headers, Issue 5:
    Should any of the multiple pending signals in the range SIGRTMIN to
    SIGRTMAX be selected by a call to sigwaitinfo() it shall be the
    lowest numbered one.

    Test Information:
    Expected si_signo for signal 1 = 38, is 45
    si_value for signal 1 = 16, maximum expected value is 15
    Expected si_signo for signal 3 = 38, is 45
    si_value for signal 3 = 17, maximum expected value is 15
    Expected si_signo for signal 5 = 38, is 45
    si_value for signal 5 = 18, maximum expected value is 15
    Expected si_signo for signal 7 = 38, is 45
    si_value for signal 7 = 19, maximum expected value is 15
    Expected si_signo for signal 9 = 38, is 45
    si_value for signal 9 = 20, maximum expected value is 15
    Expected si_signo for signal 11 = 38, is 45
    si_value for signal 11 = 21, maximum expected value is 15
    Expected si_signo for signal 13 = 38, is 45
    si_value for signal 13 = 22, maximum expected value is 15
    Expected si_signo for signal 15 = 38, is 45
    si_value for signal 15 = 23, maximum expected value is 15
    Signal 8 not received
    Signal 9 not received
    Signal 10 not received
    Signal 11 not received
    Signal 12 not received
    Signal 13 not received
    Signal 14 not received
    Signal 15 not received
    Expected si_signo for signal 16 = 45, is 38
    si_value for signal 16 = 8, expected value between 16 and 31
    Expected si_signo for signal 18 = 45, is 38
    si_value for signal 18 = 9, expected value between 16 and 31
    Expected si_signo for signal 20 = 45, is 38
    si_value for signal 20 = 10, expected value between 16 and 31
    Expected si_signo for signal 22 = 45, is 38
    si_value for signal 22 = 11, expected value between 16 and 31
    Expected si_signo for signal 23 = 45, is 38
    si_value for signal 23 = 12, expected value between 16 and 31
    Expected si_signo for signal 24 = 45, is 38
    si_value for signal 24 = 13, expected value between 16 and 31
    Expected si_signo for signal 25 = 45, is 38
    si_value for signal 25 = 14, expected value between 16 and 31
    Expected si_signo for signal 26 = 45, is 38
    si_value for signal 26 = 15, expected value between 16 and 31
    Signal 16 not received
    Signal 17 not received
    Signal 18 not received
    Signal 19 not received
    Signal 20 not received
    Signal 21 not received
    Signal 22 not received
    Signal 23 not received
    ********************************************************************

    ********************************************************************
    /tset/rt.os/procprim/sigaction/T.sigaction 3 Failed

    Test Description:
    If _POSIX_REALTIME_SIGNALS is defined:
    When multiple unblocked signals all in the range SIGRTMIN to
    SIGRTMAX are pending the implementation shall deliver the pending
    unblocked signal with the lowest number within that range.

    Test Information:
    Expected si_signo for signal 1 = 38, is 45
    si_value for signal 1 = 16, maximum expected value is 15
    Expected si_signo for signal 3 = 38, is 45
    si_value for signal 3 = 17, maximum expected value is 15
    Expected si_signo for signal 5 = 38, is 45
    si_value for signal 5 = 18, maximum expected value is 15
    Expected si_signo for signal 7 = 38, is 45
    si_value for signal 7 = 19, maximum expected value is 15
    Expected si_signo for signal 9 = 38, is 45
    si_value for signal 9 = 20, maximum expected value is 15
    Expected si_signo for signal 11 = 38, is 45
    si_value for signal 11 = 21, maximum expected value is 15
    Expected si_signo for signal 13 = 38, is 45
    si_value for signal 13 = 22, maximum expected value is 15
    Expected si_signo for signal 15 = 38, is 45
    si_value for signal 15 = 23, maximum expected value is 15
    Signal 8 not received
    Signal 9 not received
    Signal 10 not received
    Signal 11 not received
    Signal 12 not received
    Signal 13 not received
    Signal 14 not received
    Signal 15 not received
    Expected si_signo for signal 16 = 45, is 38
    si_value for signal 16 = 8, expected value is between 16 and 31
    Expected si_signo for signal 18 = 45, is 38
    si_value for signal 18 = 9, expected value is between 16 and 31
    Expected si_signo for signal 20 = 45, is 38
    si_value for signal 20 = 10, expected value is between 16 and 31
    Expected si_signo for signal 22 = 45, is 38
    si_value for signal 22 = 11, expected value is between 16 and 31
    Expected si_signo for signal 23 = 45, is 38
    si_value for signal 23 = 12, expected value is between 16 and 31
    Expected si_signo for signal 24 = 45, is 38
    si_value for signal 24 = 13, expected value is between 16 and 31
    Expected si_signo for signal 25 = 45, is 38
    si_value for signal 25 = 14, expected value is between 16 and 31
    Expected si_signo for signal 26 = 45, is 38
    si_value for signal 26 = 15, expected value is between 16 and 31
    Signal 16 not received
    Signal 17 not received
    Signal 18 not received
    Signal 19 not received
    Signal 20 not received
    Signal 21 not received
    Signal 22 not received
    Signal 23 not received
    *******************************************************************

    ********************************************************************
    /tset/rt.os/procprim/sigaction/T.sigaction 5 Failed

    Test Description:
    If _POSIX_REALTIME_SIGNALS is defined:
    Realtime signal behavior shall be provided for all signals in the
    range SIGRTMIN to SIGRTMAX.

    Test Information:
    Signal 8 - received signal 38, but last signal was 45 and lowest
    numbered should be delivered first

    ********************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this request be denied.

    The impact of this fault on the behavior of conforming applications
    using these APIs seems to us to be too significant to classify it as
    a minor fault.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution No Resolution Given
    Review Conclusion
    Initially we refused this request as PG4R.00013, on considering the
    additional rationale inserted above and discussing it with the
    consultant, we now feel that a Temporary Waiver is possible.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Minor System Fault (MSF)
    Review Conclusion
    A Temporary Waiver is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority