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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2106 Actions


    Problem Report Number 2106
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1071
    Raised 1999-07-21 08:00
    Updated 2003-03-13 08:00
    Published 1999-08-06 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.4
    Test Identification PTHR.os/all/pthread_mutex_init 9
    Problem Summary TSD5TH.00063 This request concerns: PTHR.os/all/pthread_mutex_init/T.pthread_mutex_init 9 Failed PTHR.os/all/pthread_mutexattr_getprioceiling/\ T.pthread_mutexattr_getprioceiling 4 Failed PTHR.os/all/pthread_mute...
    Problem Text
    This request concerns:

    PTHR.os/all/pthread_mutex_init/T.pthread_mutex_init 9 Failed
    PTHR.os/all/pthread_mutexattr_getprioceiling/\
    T.pthread_mutexattr_getprioceiling 4 Failed
    PTHR.os/all/pthread_mutexattr_setprioceiling/\
    T.pthread_mutexattr_setprioceiling 5 Failed
    PTHR.os/all/pthread_mutex_getprioceiling/\
    T.pthread_mutex_getprioceiling 4 Unresolved
    PTHR.os/all/pthread_mutex_setprioceiling/\
    T.pthread_mutex_setprioceiling 6 Unresolved

    In each case, the test executes in a directory such as:
    bittums$ ls -l ~/TESTROOT/tset/PTHR.os/all/pthread_mutex_init

    ls -l ~/TESTROOT/tset/PTHR.os/all/pthread_mutex_init
    total 636
    -rwsr-xr-x 1 root vsxg0 190508 Jul 19 17:23 T.pthread_mutex_init
    -rwxr-xr-x 1 vsx0 vsxg0 101268 Jul 19 17:23 pthread_mutex_init_9
    -rw-rw-rw- 1 root vsxg0 5684 Jul 20 23:27 tet_xres

    The test proper is suid root. pthread_mutex_init_9 is owned by vsx0 and
    intended to run as if owned by vsx0, but it inherits the effective root id
    from T.pthread_mutex_init and fails.

    Further, some of the test are coded incorrectly and fail even when the
    effective ownership problem is resolved:

    In PTHR.os/all/pthread_mutexattr_getprioceiling/
    if ( rval != EINVAL )
    {
    vsth_surprise("pthread_mutexattr_getprioceiling", EINVAL,
    rval, &nfails);
    }

    should be:

    if ( rval != EPERM )
    {
    vsth_surprise("pthread_mutexattr_getprioceiling", EPERM,
    rval, &nfails);
    }

    In PTHR.os/all/pthread_mutex_getprioceiling/:

    rval = pthread_mutex_getprioceiling( &mx, &prio );
    if ( rval != EPERM )
    {
    vsth_surprise("pthread_mutex_getprioceiling", 0, rval, &nfails);
    }

    should be:

    rval = pthread_mutex_getprioceiling( &mx, &prio );
    if ( rval != EPERM )
    {
    vsth_surprise("pthread_mutex_getprioceiling", EPERM, rval, &nfails);
    }

    In PTHR.os/all/pthread_mutex_setprioceiling/:


    rval = pthread_mutex_setprioceiling( &mx, priomax, NULL );
    if ( rval != EPERM )
    {
    vsth_surprise("pthread_mutex_setprioceiling", EPERM, rval, &nfails);
    return;
    }

    should be:

    rval = pthread_mutex_setprioceiling( &mx, priomax, &oldprio );
    if ( rval != EPERM )
    {
    vsth_surprise("pthread_mutex_setprioceiling", EPERM, rval, &nfails);
    return;
    }

    Test Output

    PTHR.os/all/pthread_mutex_init/T.pthread_mutex_init 9
    200|0 9 18:24:14|TP Start
    520|0 9 000100408 1 1|If the caller does not have the privilege to perform
    the o
    peration:
    520|0 9 000100408 1 2|a call to pthread_mutex_init(mutex, attr) shall fail
    and r
    eturn
    520|0 9 000100408 1 3|EPERM without modifying the state of the mutex.
    520|0 9 000100408 1 4|Posix Ref: Component PTHREAD_MUTEX_INIT
    520|0 9 000100408 1 5|Assertion 9945-1:1996 11.3.2.4-9(A)
    520|0 9 000100414 2 1|pthread_mutex_init, expected 1, got 0
    520|0 9 000100408 2 1|tet_fork, expected 0, got 2
    220|0 9 1 18:24:14|FAIL
    410|0 9 1 18:24:14|IC End

    PTHR.os/all/pthread_mutexattr_getprioceiling/T.pthread_mutexattr_getprioceiling
    4 Failed
    200|0 4 18:26:03|TP Start
    520|0 4 000100416 1 1|If _POSIX_THREAD_PRIO_PROTECT is defined:
    520|0 4 000100416 1 2|when the implementation detects that the caller does
    520|0 4 000100416 1 3|not have the privilege to perform the operation,
    520|0 4 000100416 1 4|then a call to
    520|0 4 000100416 1 5|pthread_mutexattr_getprioceiling(attr, prioceiling)
    520|0 4 000100416 1 6|shall fail and return EPERM.
    520|0 4 000100416 1 7|Posix Ref: Component
    PTHREAD_MUTEXATTR_GETPRIOCEILING
    520|0 4 000100416 1 8|Assertion 9945-1:1996 13.6.1.4-4(C)
    520|0 4 000100417 2 1|pthread_mutexattr_getprioceiling, expected 22, got 0
    520|0 4 000100416 2 1|tet_fork, expected 0, got 2
    220|0 4 1 18:26:03|FAIL
    410|0 4 1 18:26:03|IC End

    PTHR.os/all/pthread_mutexattr_setprioceiling/T.pthread_mutexattr_setprioceiling
    5 Failed
    200|0 5 18:33:47|TP Start
    520|0 5 000100430 1 1|If _POSIX_THREAD_PRIO_PROTECT is defined:
    520|0 5 000100430 1 2|when the implementation detects that the caller does
    520|0 5 000100430 1 3|not have the privilege to perform the operation,
    520|0 5 000100430 1 4|then a call to
    520|0 5 000100430 1 5|pthread_mutexattr_setprioceiling(attr, prioceiling)
    520|0 5 000100430 1 6|shall fail and return EPERM.
    520|0 5 000100430 1 7|Posix Ref: Component
    PTHREAD_MUTEXATTR_SETPRIOCEILING
    520|0 5 000100430 1 8|Assertion 9945-1:1996 13.6.1.4-5(C)
    520|0 5 000100432 2 1|pthread_mutexattr_setprioceiling, expected 1, got 0
    520|0 5 000100430 2 1|tet_fork, expected 0, got 2
    220|0 5 1 18:33:47|FAIL
    410|0 5 1 18:33:47|IC End

    PTHR.os/all/pthread_mutex_getprioceiling/T.pthread_mutex_getprioceiling
    4 Un
    resolved

    200|0 4 18:35:46|TP Start
    520|0 4 000100434 1 1|If _POSIX_THREAD_PRIO_PROTECT is defined
    520|0 4 000100434 1 2|and the implementation detects that the caller does
    not ha
    ve the
    520|0 4 000100434 1 3|privilege to perform the operation:
    520|0 4 000100434 1 4|a call to pthread_mutex_getprioceiling(mutex,
    prioceiling)
    shall
    520|0 4 000100434 1 5|fail and return EPERM.
    520|0 4 000100434 1 6|Posix Ref: Component PTHREAD_MUTEX_GETPRIOCEILING
    520|0 4 000100434 1 7|Assertion 9945-1:1996 13.6.2.4-4(C)
    520|0 4 000100435 2 1|pthread_mutex_getprioceiling, expected 0, got 0
    520|0 4 000100434 2 1|tet_fork, expected 0, got 1
    220|0 4 2 18:35:47|UNRESOLVED
    410|0 4 1 18:35:47|IC End


    PTHR.os/all/pthread_mutex_setprioceiling/T.pthread_mutex_setprioceiling
    6 Un
    resolved
    200|0 6 19:08:59|TP Start
    520|0 6 000100465 1 1|If _POSIX_THREAD_PRIO_PROTECT is defined
    520|0 6 000100465 1 2|and the implementation detects that the caller does
    not ha
    ve the
    520|0 6 000100465 1 3|privilege to perform the operation:
    520|0 6 000100465 1 4|a call to pthread_mutex_setprioceiling(mutex,
    prioceiling,
    old_ceiling)
    520|0 6 000100465 1 5|shall fail and return EPERM without changing the
    priority
    ceiling.
    520|0 6 000100465 1 6|Posix Ref: Component PTHREAD_MUTEX_SETPRIOCEILING
    520|0 6 000100465 1 7|Assertion 9945-1:1996 13.6.2.4-6(C)
    520|0 6 000100465 2 1|child process was terminated by signal 11 (SIGSEGV)
    220|0 6 2 19:08:59|UNRESOLVED
    410|0 6 1 19:08:59|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    A test suite deficiency is recommended.

    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