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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2699 Actions


    Problem Report Number 2699
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1413
    Raised 2018-08-02 03:23
    Updated 2018-08-02 09:54
    Published 2018-08-02 09:54
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.7.14
    Test Identification ANSI.os/genuts/system_X/T.system_X 52
    Specification Base Definitions Issue 6
    Location in Spec http://pubs.opengroup.org/onlinepubs/9699919799/functions/system.html
    Problem Summary VSX test /tset/ANSI.os/genuts/system_X/T.system_X 52 makes unwarranted
    assumptions
    Problem Text We think this test is invalid. It is legal to return -1/ECHILD from
    system(). According to the
    specification at
    http://pubs.opengroup.org/onlinepubs/9699919799/functions/system.html:

    ERRORS

    [CX] [Option Start] The system() function may set errno values as
    described by fork. [Option End]

    In addition, system() may fail if:

    [ECHILD]
    [CX] [Option Start] The status of the child process created by system()
    is no longer available.
    [Option End]

    This test essentially does the following:

    int rc;

    signal(SIGCHLD, SIG_IGN);

    rc = system("exit 0");
    if (rc < 0) {
    perror("system");
    }

    The call signal(SIGCHLD, SIG_IGN) ignores SIGCHLD signals, which causes
    the system to not
    create zombies. Since zombies are the means by which the exit status of
    a process is preserved
    until one of the waitX() calls is made, this call makes the exit status
    unavailable, thereby triggering
    the exclusion. The same applies when using sigaction() with sa_flags set
    to SA_NOCLDWAIT.

    The call to system() does indeed wait for the child to terminate. The
    waiting is done using wait4().
    Test Output 400|100 52 1 16:38:34|IC Start
    520|100 52 00079864 5 1|testing with SIGCHLD ignored ...
    520|100 52 00079864 7 1|system() returned -1, expected 0
    520|100 52 00079864 7 2|errno was set to 10 (ECHILD)
    520|100 52 00079864 9 1|testing with SIGCHLD handler and SA_NOCLDWAIT
    set ...
    520|100 52 00079864 11 1|system() returned -1, expected 0
    520|100 52 00079864 11 2|errno was set to 10 (ECHILD)
    220|100 52 2 16:38:49|UNRESOLVED
    410|100 52 1 16:38:49|IC End

    Review Information

    Review Type TSMA Review
    Start Date 2018-08-02 03:23
    Last Updated 2018-08-02 09:19
    Completed 2018-08-02 09:19
    Status Complete
    Review Recommendation Test Suite Deficiency (TSD)
    Review Response This is accepted as a fault in the test suite.

    Review Type SA Review
    Start Date 2018-08-02 17:19
    Last Updated 2018-08-02 09:49
    Completed 2018-08-02 09:49
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion The recommended resolution was given as Test Suite Deficiency (TSD).

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority