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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1096 Actions


    Problem Report Number 1096
    Submitter's Classification Minor System Fault
    State Resolved
    Resolution Minor System Fault (MSF)
    Problem Resolution ID MSF.X.0045
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1995-12-18 08:00
    Expiry Date 1996-12-18
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.0.2
    Test Identification BASE/exit_exit 4
    Problem Summary MSF4U.00008 This test may fail because the implementation does not properly end the lifetime of the calling process immediately.
    Problem Text
    This test may fail because the implementation does not properly
    end the lifetime of the calling process immediately.


    SUBMITTERS ORIGINAL COMMENTS

    When the parent process of the calling process has set its SA_NOCLDWAIT
    flag, our implementation does not discard status and end the lifetime of
    the calling process immediately. Since this is a new functionality to
    the standards, there is no impact to our existing customer base, and lack
    of the functionality does not affect program portability because lifetime
    of the process will be ended (eventhough not immediately).


    SUBMITTERS REPLY TO INITIAL CONSULTANT COMMENTS

    On the implementation for which the MSF is requested, the
    lifetime of the process will be ended when the parent terminates.
    We believe that the MSF should be granted since the existance of
    the zombie process can have no effect to the portability of a
    portable applications.

    Further, we believe that even if the lifetime of the zombie never
    ended, we still believe that the MSF should be granted for the
    same reason that it is not an issue for the portability of a
    portable applications. We do believe that this case would be a
    quality of implementation issue, but this type of issue is not
    addressed by the XPG specifications.
    Test Output
    TEST CASE: exit

    TEST PURPOSE #4
    When the parent process of the calling process has set
    its SA_NOCLDWAIT flag a call to void
    exit(int status) shall discard status and end the
    lifetime of the calling process immediately.
    PREP: Set SA_NOCLDWAIT
    PREP: Fork child
    PREP: Wait for child to exit
    PREP: Execute /bin/ps to get child's status
    TEST: Lifetime of child has ended
    ERROR: Life of child continues
    PREP: Call exit
    4 FAIL

    TEST CASE: _exit

    TEST PURPOSE #4
    When the parent process of the calling process has set
    its SA_NOCLDWAIT flag a call to void
    _exit(int status) shall discard status and end the
    lifetime of the calling process immediately.
    PREP: Set SA_NOCLDWAIT
    PREP: Fork child
    PREP: Call _exit
    PREP: Wait for child to exit
    PREP: Execute /bin/ps to get child's status
    TEST: Lifetime of child has ended
    TEST: Status discarded
    PREP: Fork child
    PREP: Call _exit
    PREP: Wait for child to exit
    PREP: Execute /bin/ps to get child's status
    TEST: Lifetime of child has ended
    TEST: Status discarded
    PREP: Fork child
    PREP: Call _exit
    PREP: Wait for child to exit
    PREP: Execute /bin/ps to get child's status
    TEST: Lifetime of child has ended
    ERROR: Life of child continues
    4 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    INITIAL CONSULTANTS COMMENTS

    We have no strong opinion either about this.

    Although it may be true that current applications do not
    rely on the functionality described here, they may start to at
    some point. When they do, the application will compile without
    error. That is to say the developer may not notice this feature
    is not implemented.

    When the application is run, each child that it spawns will
    leave behind a zombie. These zombies will remain, taking up
    a process slot, until the application exits. This is true
    because the application will never reap them since SA_CHILDNOWAIT
    removes this necessity. When the application exits the shell
    that spawned it will inherit the zombies. It will do the
    reaping for the application. The process slots will be made
    available for use by other processes.

    This is all well and good, except in the case of long lived
    applications which spawn lots of children (ie a mail server).
    In this case all process slots on the system will eventually
    fill. This will bring the system to a halt.


    CONSULTANTS RESPONSE TO SUBMITERS REPLY

    We agree that this issue does not affect portability, but
    our original analysis still stands.

    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