Report 0076 Actions
Problem Report Number |
0076 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Test Suite Deficiency (TSD) |
Problem Resolution ID |
TSD.PX.0039 |
Raised |
2022-10-28 12:07 |
Updated |
2022-10-29 10:51 |
Published |
2022-10-29 10:51 |
Product Standard |
PSE52 Realtime Controller 1003.1-2003 System |
Certification Program |
POSIX Certified by IEEE and The Open Group |
Test Suite |
VSTH-PSE version 5.5.17 |
Test Identification |
/tset/PTHR.os/mutexattr_rt/pthread_mutexattr_setprotocol/T.pthread_mutexa
ttr_setprotocol 9,11 |
Specification |
PSE52 Realtime Controller 1003.1-2003 System Product Standard |
Location in Spec |
pthread_mutexattr_getprotocol() page |
Problem Summary |
Priority problem after a thread unlocks a mutex initialized by the
PTHREAD_PRIO_PROTECT or PTHREAD_PRIO_INHERIT protocol |
Problem Text |
The purpose of test case 11 is "When a thread unlocks a mutex that
has been initialized with the PTHREAD_PRIO_PROTECT protocol property,
then it should not be subject to being moved to the end of the
scheduling queue for its priority. " (It creates two threads, the
scheduling policy of both threads is set to SCHED_FIFO, and the
priority of both threads is x and x+1, then we call the low priority
thread thread thread 0 and the high priority thread thread thread 1. In
the execution function t11_t1 for thread 0 and thread 1, thread 0
raises its priority to the same level as thread 1 by locking the mutex,
while thread 0 (The priority of thread 0 is not lowered after the mutex
is unlocked, so it is not preempted by thread 1.)
The behavior in the test suite is not consistent with that described in
the standard pthread_mutexattr_getprotocol() page.
When a thread owns one or more mutexes initialized with the
PTHREAD_PRIO_PROTECT protocol, it should execute at its priority or the
highest priority limit of all mutexes owned by the thread and
initialized with that attribute, so that when thread 0 unlocks the
mutex, since this condition no longer applies, it should revert to
executing at its own priority execution.
However, according to the implementation of test case 11 in
/tset/PTHR.os/mutexattr_rt/pthread_mutexattr_setprotocol/T
pthread_mutexattr_setprotocol, we can infer that the test case
considers that thread 0, when unlocking the mutex with
PTHREAD_PRIO_PROTECT and lowering it to its original priority, should
still have its upper priority at the top of the queue, because the test
case does not allow thread 1 to preempt thread 0 when it unlocks the
mutex (even though ad1 has a higher priority than thread 0 at this
point), otherwise the test case will fail.
The problem with test case 9 is similar. |
Test Output |
***********************************************************************
*
/tset/PTHR.os/mutexattr_rt/pthread_mutexattr_setprotocol/T.pthread_mute
x
attr_setprotocol 9 Failed
Test Description:
If the _POSIX_THREAD_PRIO_INHERIT option is supported:
when a thread unlocks a mutex that has been initialized with
the
PTHREAD_PRIO_INHERIT protocol attribute,
then it shall not be subject to being moved to the tail of the
scheduling
queue at its priority.
Test Information:
Thread 2 exitval, expected 0, got 2
***********************************************************************
*
***********************************************************************
*
/tset/PTHR.os/mutexattr_rt/pthread_mutexattr_setprotocol/T.pthread_mute
x
attr_setprotocol 11 Failed
Test Description:
If the _POSIX_THREAD_PRIO_PROTECT option is supported:
when a thread unlocks a mutex that has been initialized with
the
PTHREAD_PRIO_PROTECT protocol attributes,
then it shall not be subject to being moved to the tail of the
scheduling
queue at its priority.
Test Information:
Thread 2 exitval, expected 0, got 2
***********************************************************************
* |
Review Information
Review Type |
TSMA Review |
Start Date |
2022-10-28 12:07 |
Last Updated |
2022-10-28 10:34 |
Completed |
2022-10-28 10:34 |
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 |
2022-10-28 18:34 |
Last Updated |
2022-10-29 10:50 |
Completed |
2022-10-29 10:50 |
Status |
Complete |
Review Resolution |
Test Suite Deficiency (TSD) |
Review Conclusion |
A test suite deficiency is granted. |
Problem Reporting System Options:
|