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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2072 Actions


    Problem Report Number 2072
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1043
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1998-04-01 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSTH version 5.1.2
    Test Identification PTHR.os/all/pthread_cancel 7,9
    Problem Summary TSD5TH.00040 Within test case 7, the subtest for sem_unlink() fails with EINVAL when a call to the function sem_open() uses an non-portable file name. Sem_unlink_sem = sem_open("./nonesuch", O_CREAT, S_IRWXU, 0); ...
    Problem Text




    Within test case 7, the subtest for sem_unlink() fails with EINVAL when
    a call to the function sem_open() uses an non-portable file name.

    Sem_unlink_sem = sem_open("./nonesuch", O_CREAT, S_IRWXU, 0);

    In XSH5 on page 753, for the function sem_open it states

    The name argument points to a string naming a semaphore object. It
    is unspecified whether the name appears in the file system and is
    visible to functions that take pathnames as arguments. The name argument
    conforms to the construction rules for a pathname. If name begins with
    the
    slash character, then processes calling sem_open() with the same value
    of name will refer to the same semaphore object, as long as that name
    has not been removed. If name does not begin with the slash character,
    the
    effect is implementation-dependent. The interpretation of slash
    characters
    other than the leading slash character in name is
    implementation-dependent.

    The implementation under test requires that semaphore objects be created only
    in the root ("/") directory. The test case is non-portable in not taking the
    implementation-dependent location definition into account.

    The test case 9 has the same issue as test case 7 but with a different function
    call. Within the test case, the shmat() test executes shm_open() which fails
    with EINVAL when a call to the function shm_open() uses an non-portable file
    name.

    In XSH5 on page 794, for the function shm_open it states

    The name argument points to a string naming a shared memory object. It
    is unspecified whether the name appears in the file system and is
    visible
    to functions that take pathnames as arguments. The name argument
    conforms
    to the construction rules for a pathname. If name begins with the
    slash character, then processes calling shm_open() with the same value
    of name will refer to the same shared memory object, as long as that
    name has
    not been removed. If name does not begin with the slash character, the
    effect is implementation-dependent. The interpretation of slash
    characters
    other than the leading slash character in name is
    implementation-dependent.

    The implementation under test requires that shared memory objects be created
    in the root ("/") directory. The test case is non-portable in not taking the
    implementation-dependent location definition into account.

    Note, however, that even if the test setup is changed it is still completely




    wrong. To create a shared memory segment to test shmat(), you use shmget();
    not shm_open(). The shm_open() [POSIX shared memory function] and the
    shmat() [System V IPC shared memory function] don't mix. The shm_open()
    function returns a file descriptor, not a shared memory identifier. The
    shmat() function takes a shared memory identifier (as returned by the
    shmget() function), not a file descriptor.

    Test Output

    10|0 /tset/PTHR.os/all/pthread_cancel/T.pthread_cancel 14:34:18|TC Start,
    scenario ref 1-0, ICs: {7} 15|0 3.1-lite 1|TCM Start
    400|0 7 1 14:34:18|IC Start
    200|0 7 14:34:18|TP Start
    520|0 7 00013290 1 1|A cancellation point shall not occur when a thread
    520|0 7 00013290 1 2|is executing any of the following C standard or
    520|0 7 00013290 1 3|ISO/IEC 9945-1:1996 functions:
    520|0 7 00013290 1 4|_exit
    520|0 7 00013290 1 5|abort
    520|0 7 00013290 1 6|abs
    520|0 7 00013290 1 7|access
    520|0 7 00013290 1 8|acos
    520|0 7 00013290 406 2|Testing sem_post()
    520|0 7 00013290 408 1|sem_post() passed
    520|0 7 00013290 408 2|Testing sem_trywait()
    520|0 7 00013290 410 1|sem_trywait() passed
    520|0 7 00013290 410 2|Testing sem_unlink()
    520|0 7 00013290 410 3|The setup function failed
    520|0 7 00013290 410 4|sem_unlink() unresolved
    520|0 7 00013290 410 5|Testing setbuf()
    520|0 7 00013290 412 1|setbuf() passed
    520|0 7 00013290 412 2|Testing setgid()
    520|0 7 00013290 442 3|Testing signal()
    520|0 7 00013290 444 1|signal() passed
    520|0 7 00013290 444 2|Testing sigpending()




    520|0 7 00013290 446 1|sigpending() passed
    520|0 7 00013290 446 2|Testing sigprocmask()
    520|0 7 00013290 448 1|sigprocmask() passed
    520|0 7 00013290 448 2|Testing sigqueue()
    510|0|system 0: Abandoning testset: caught unexpected signal 11 (SIGSEGV)
    220|0 7 7 14:34:21|NORESULT (auto-generated by TCC)
    80|0 1 14:34:21|TC End, scenario ref 1-0
    900|14:34:21|TCC End

    10|0 /tset/PTHR.os/all/pthread_cancel/T.pthread_cancel 11:37:35|TC Start,
    scenario ref 1-0, I Cs: {9}
    15|0 3.1-lite 1|TCM Start
    400|0 9 1 11:37:35|IC Start
    200|0 9 11:37:35|TP Start
    520|0 9 00013084 1 1|A cancellation point shall not occur in the
    520|0 9 00013084 1 2|following XSH5 functions
    520|0 9 00013084 1 3|FD_ISSET
    520|0 9 00013084 1 4|FD_SET
    520|0 9 00013084 1 5|FD_ZERO
    520|0 9 00013084 304 2|Testing setrlimit()
    520|0 9 00013084 306 1|setrlimit() passed
    520|0 9 00013084 306 2|Testing setstate()
    520|0 9 00013084 308 1|setstate() passed
    520|0 9 00013084 308 2|Testing shmat()
    520|0 9 00013084 308 3|The setup function failed
    520|0 9 00013084 308 4|shmat() unresolved
    520|0 9 00013084 308 5|Testing shmctl()
    520|0 9 00013084 310 1|shmctl() passed
    520|0 9 00013084 310 2|Testing shmdt()
    520|0 9 00013084 312 1|shmdt() passed
    520|0 9 00013084 312 2|Testing shmget()
    520|0 9 00013084 314 1|shmget() passed
    520|0 9 00013084 314 2|Testing sigaltstack()
    520|0 9 00013084 456 2|Testing wordexp()
    520|0 9 00013084 459 1|wordexp() passed
    520|0 9 00013084 459 2|Testing y0()
    520|0 9 00013084 460 1|y0() passed
    520|0 9 00013084 460 2|Testing y1()
    520|0 9 00013084 462 1|y1() passed
    520|0 9 00013084 462 2|Testing yn()
    520|0 9 00013084 464 1|yn() passed
    220|0 9 2 11:37:37|UNRESOLVED
    410|0 9 1 11:37:37|IC End
    80|0 0 11:37:38|TC End, scenario ref 1-0
    900|11:37:38|TCC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree with the applicant and recommend that a waiver be granted
    on the basis of a test suite deficiency.


    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