|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2114 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2114.
Report 2114 Actions
Problem Report Number 2114 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1079 Raised 1999-08-18 08:00 Updated 2003-03-13 08:00 Published 1999-09-22 08:00 Product Standard Multi-Purpose Realtime Operating System Certification Program The Open Brand certification program Test Suite VSTH version 5.1.3 Test Identification PTHR.os/all/getc_unlocked/T.getc_unlocked 2 Problem Summary TSD5TH.00072 In the IUT, we have the following restriction. If a multi-threaded process forks after creating one or more threads, the child process cannot be multi-threaded (i.e it cannot create any threads). The ... Problem Text
In the IUT, we have the following restriction.
If a multi-threaded process forks after creating one or more
threads, the child process cannot be multi-threaded (i.e it
cannot create any threads).
The VSTH test suite driver seems to be relying on the above behavior
to work correctly. However it is not stated in the standard that this
is a required behavior. Several tests fail with the message "UNRESOLVED"
Is the test suite driver correct in expecting this behavior to be
supported ?
Following is the list of tests that fail for this reason
PTHR.os/all/putchar_unlocked/T.putchar_unlocked
PTHR.os/all/Mputchar_unlocked/T.putchar_unlocked
PTHR.os/all/Mputc_unlocked/T.putc_unlocked
PTHR.os/all/putc_unlocked/T.putc_unlocked
PTHR.os/all/pthread_sigmask/T.pthread_sigmask
PTHR.os/all/pthread_mutex_lock/T.pthread_mutex_lock
PTHR.os/all/pthread_join/T.pthread_join
PTHR.os/all/pthread_attr_setdetachstate/T.pthread_attr_setdetachstate
PTHR.os/all/pthread_atfork/T.pthread_atfork
PTHR.os/all/getchar_unlocked/T.getchar_unlocked
PTHR.os/all/Mgetchar_unlocked/T.getchar_unlockedTest Output
10|29 /tset/PTHR.os/all/Mgetchar_unlocked/T.getchar_unlocked 23:52:33|TC Start, scenario ref 32-0
15|29 3.2-lite 3|TCM Start
400|29 2 1 23:52:33|IC Start
200|29 2 23:52:33|TP Start
520|29 2 00019331 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|29 2 00019331 1 2|when the stdin stream is at end-of-file,
520|29 2 00019331 1 3|then a call to getchar_unlocked() sets the end-of-file indicator for
520|29 2 00019331 1 4|stdin and returns EOF.
520|29 2 00019331 1 5|Posix Ref: Component GETCHAR_UNLOCKED
520|29 2 00019331 1 6|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.6-2(C)
520|29 2 00019333 2 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 2 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 3 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 3 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 4 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 4 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 5 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 5 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 6 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 6 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 7 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 7 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 8 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 8 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 9 1|vsth_pthread_create, expected 0, got 89
520|29 2 00019333 9 2|vsth_newthread, expected 0, got 89
520|29 2 00019333 9 3|vsth_ts_create, expected 0, got 8
520|29 2 00019331 2 1|tet_fork, expected 0, got 1
220|29 2 2 23:52:33|UNRESOLVED
10|30 /tset/PTHR.os/all/getchar_unlocked/T.getchar_unlocked 23:52:34|TC Start, scenario ref 33-0
400|30 2 1 23:52:34|IC Start
200|30 2 23:52:34|TP Start
520|30 2 00019334 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|30 2 00019334 1 2|when the stdin stream is at end-of-file,
520|30 2 00019334 1 3|then a call to getchar_unlocked() sets the end-of-file indicator for
520|30 2 00019334 1 4|stdin and returns EOF.
520|30 2 00019334 1 5|Posix Ref: Component GETCHAR_UNLOCKED
520|30 2 00019334 1 6|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.6-2(C)
520|30 2 00019336 2 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 2 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 3 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 3 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 4 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 4 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 5 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 5 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 6 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 6 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 7 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 7 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 8 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 8 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 9 1|vsth_pthread_create, expected 0, got 89
520|30 2 00019336 9 2|vsth_newthread, expected 0, got 89
520|30 2 00019336 9 3|vsth_ts_create, expected 0, got 8
520|30 2 00019334 2 1|tet_fork, expected 0, got 1
220|30 2 2 23:52:35|UNRESOLVED
...
10|46 /tset/PTHR.os/all/pthread_atfork/T.pthread_atfork 23:52:51|TC Start, scenario ref 49-0
200|46 2 23:52:52|TP Start
520|46 2 00019377 1 1|When prepare, parent or child are NULL,
520|46 2 00019377 1 2|then a call to pthread_atfork(prepare, parent, child)
520|46 2 00019377 1 3|shall not install fork handlers for the corresponding
520|46 2 00019377 1 4|phase of fork processing.
520|46 2 00019377 1 5|Posix Ref: Component PTHREAD_ATFORK
520|46 2 00019377 1 6|Assertion 9945-1:1996 3.1.3.2-2(A)
510|46|system 0, errno = 89 (ENOSYS): (../apilib/tet_fork.c, 470): failed to set alarm
520|46 2 00019377 2 1|tet_fork, expected 0, got 1
510|46|system 0, errno = 89 (ENOSYS): (../apilib/tet_fork.c, 470): failed to set alarm
520|46 2 00019377 3 1|tet_fork, expected 0, got 1
510|46|system 0, errno = 89 (ENOSYS): (../apilib/tet_fork.c, 470): failed to set alarm
520|46 2 00019377 4 1|tet_fork, expected 0, got 1
220|46 2 2 23:52:52|UNRESOLVED
...
10|66 /tset/PTHR.os/all/pthread_attr_setdetachstate/T.pthread_attr_setdetachstate 23:53:31|TC Start, scenario ref 69-0
200|66 3 23:53:31|TP Start
520|66 3 00019437 1 1|When detachstate has the value PTHREAD_CREATE_DETACHED,
520|66 3 00019437 1 2|then a call to
520|66 3 00019437 1 3|pthread_attr_setdetachstate(attr, detachstate)
520|66 3 00019437 1 4|shall cause all new threads created with the attributes
520|66 3 00019437 1 5|object attr to be in the detached state.
520|66 3 00019437 1 6|Posix Ref: Component PTHREAD_ATTR_SETDETACHSTATE
520|66 3 00019437 1 7|Assertion 9945-1:1996 16.2.1.2-3(A)
520|66 3 00019438 2 1|vsth_pthread_create, expected 0, got 89
520|66 3 00019437 2 1|tet_fork, expected 0, got 1
220|66 3 2 23:53:31|UNRESOLVED
...
10|118 /tset/PTHR.os/all/pthread_join/T.pthread_join 23:57:14|TC Start, scenario ref 121-0
400|118 4 1 23:57:31|IC Start
200|118 4 23:57:31|TP Start
520|118 4 00019565 1 1|When the value specified by thread does not refer to a thread
520|118 4 00019565 1 2|that can be joined,
520|118 4 00019565 1 3|then a call to pthread_join(thread, value_ptr) shall fail
520|118 4 00019565 1 4|and return EINVAL.
520|118 4 00019565 1 5|Posix Ref: Component PTHREAD_JOIN
520|118 4 00019565 1 6|Assertion 9945-1:1996 16.2.3.4-4(A)
520|118 4 00019566 2 1|vsth_pthread_create, expected 0, got 89
220|118 4 2 23:57:31|UNRESOLVED
400|118 6 1 23:57:31|IC Start
200|118 6 23:57:31|TP Start
520|118 6 00019565 1 1|If the implementation detects a deadlock or the value of thread
520|118 6 00019565 1 2|specifies the calling thread:
520|118 6 00019565 1 3|a call to pthread_join(thread, value_ptr) shall fail and
520|118 6 00019565 1 4|return EDEADLK.
520|118 6 00019565 1 5|Posix Ref: Component PTHREAD_JOIN
520|118 6 00019565 1 6|Assertion 9945-1:1996 16.2.3.4-6(C)
520|118 6 00019565 1 7|Testing the pthread_self() deadlock case
520|118 6 00019567 2 1|vsth_pthread_create, expected 0, got 89
520|118 6 00019565 2 1|VSTH_REFERENTIAL_EDEADLK_DETECTED is set to N
220|118 6 2 23:57:31|UNRESOLVED
...
10|132 /tset/PTHR.os/all/pthread_mutex_lock/T.pthread_mutex_lock 23:58:02|TC Start, scenario ref 135-0
200|132 8 23:58:31|TP Start
520|132 8 00019603 1 1|If the implementation detects that the mutex referenced by
520|132 8 00019603 1 2|the mutex argument is locked by the calling thread:
520|132 8 00019603 1 3|a call to pthread_mutex_lock(mutex) shall fail
520|132 8 00019603 1 4|and return EDEADLK without acquiring a lock on the mutex.
520|132 8 00019603 1 5|Posix Ref: Component PTHREAD_MUTEX_LOCK
520|132 8 00019603 1 6|Assertion 9945-1:1996 11.3.3.4-8(C)
520|132 8 00019604 2 1|vsth_pthread_create, expected 0, got 89
520|132 8 00019603 2 1|tet_fork, expected 0, got 1
220|132 8 2 23:58:31|UNRESOLVED
410|132 8 1 23:58:31|IC End
...
10|168 /tset/PTHR.os/all/pthread_sigmask/T.pthread_sigmask 23:59:49|TC Start, scenario ref 171-0
410|168 2 1 23:59:49|IC End
400|168 3 1 23:59:49|IC Start
200|168 3 23:59:49|TP Start
520|168 3 00019695 1 1|The signal mask of a thread created by a call to fork()
520|168 3 00019695 1 2|is that of the thread which called fork().
520|168 3 00019695 1 3|Posix Ref: Component PTHREAD_SIGMASK
520|168 3 00019695 1 4|Assertion 9945-1:1996 3.3.5.1, 9945-1:1996 3.3.1.2-3(A)
520|168 3 00019697 2 1|vsth_pthread_create, expected 0, got 89
520|168 3 00019695 2 1|tet_fork, expected 0, got 1
220|168 3 2 23:59:49|UNRESOLVED
410|168 3 1 23:59:49|IC End
400|168 4 1 23:59:49|IC Start
200|168 4 23:59:49|TP Start
520|168 4 00019695 1 1|When there are any pending unblocked signals,
520|168 4 00019695 1 2|then at least one of those signals shall be delivered before
520|168 4 00019695 1 3|a call to the pthread_sigmask() function returns.
520|168 4 00019695 1 4|Posix Ref: Component PTHREAD_SIGMASK
520|168 4 00019695 1 5|Assertion 9945-1:1996 3.3.5.2-4(A)
520|168 4 00019698 2 1|Unable to create a thread, errno == 89
520|168 4 00019695 2 1|tet_fork, expected 0, got 1
220|168 4 2 23:59:49|UNRESOLVED
410|168 4 1 23:59:49|IC End
...
10|171 /tset/PTHR.os/all/Mputc_unlocked/T.putc_unlocked 23:59:55|TC Start, scenario ref 174-0
200|171 2 23:59:55|TP Start
520|171 2 00019704 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|171 2 00019704 1 2|when the file referenced by stream does not support positioning
520|171 2 00019704 1 3|requests or the stream was opened in append mode,
520|171 2 00019704 1 4|then a call to putc_unlocked(c, stream) appends the character
520|171 2 00019704 1 5|specified by c, converted to an unsigned char, to the output stream
520|171 2 00019704 1 6|referenced by stream and returns c if successful.
520|171 2 00019704 1 7|Posix Ref: Component PUTC_UNLOCKED
520|171 2 00019704 1 8|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.8-2(C)
520|171 2 00019706 2 1|vsth_pthread_create, expected 0, got 89
520|171 2 00019704 2 1|read unexpectedly failed, expected 38, got -1
520|171 2 00019707 3 1|vsth_pthread_create, expected 0, got 89
520|171 2 00019704 3 1|read unexpectedly failed, expected 63, got 0
220|171 2 2 23:59:56|UNRESOLVED
410|171 2 1 23:59:56|IC End
400|171 3 1 23:59:56|IC Start
200|171 3 23:59:56|TP Start
520|171 3 00019704 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|171 3 00019704 1 2|when a write-error occurs,
520|171 3 00019704 1 3|then a call to putc_unlocked(c, stream) shall set the error indicator
520|171 3 00019704 1 4|for stream and return EOF.
520|171 3 00019704 1 5|Posix Ref: Component PUTC_UNLOCKED
520|171 3 00019704 1 6|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.8-3(C)
520|171 3 00019708 2 1|vsth_pthread_create, expected 0, got 89
220|171 3 2 23:59:56|UNRESOLVED
410|171 3 1 23:59:56|IC End
80|171 0 23:59:56|TC End, scenario ref 174-0
...
10|172 /tset/PTHR.os/all/putc_unlocked/T.putc_unlocked 23:59:56|TC Start, scenario ref 175-0
400|172 2 1 23:59:57|IC Start
200|172 2 23:59:57|TP Start
520|172 2 00019709 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|172 2 00019709 1 2|when the file referenced by stream does not support positioning
520|172 2 00019709 1 3|requests or the stream was opened in append mode,
520|172 2 00019709 1 4|then a call to putc_unlocked(c, stream) appends the character
520|172 2 00019709 1 5|specified by c, converted to an unsigned char, to the output stream
520|172 2 00019709 1 6|referenced by stream and returns c if successful.
520|172 2 00019709 1 7|Posix Ref: Component PUTC_UNLOCKED
520|172 2 00019709 1 8|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.8-2(C)
520|172 2 00019711 2 1|vsth_pthread_create, expected 0, got 89
520|172 2 00019709 2 1|read unexpectedly failed, expected 38, got -1
520|172 2 00019712 3 1|vsth_pthread_create, expected 0, got 89
520|172 2 00019709 3 1|read unexpectedly failed, expected 63, got 0
220|172 2 2 23:59:57|UNRESOLVED
410|172 2 1 23:59:57|IC End
400|172 3 1 23:59:57|IC Start
200|172 3 23:59:57|TP Start
520|172 3 00019709 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|172 3 00019709 1 2|when a write-error occurs,
520|172 3 00019709 1 3|then a call to putc_unlocked(c, stream) shall set the error indicator
520|172 3 00019709 1 4|for stream and return EOF.
520|172 3 00019709 1 5|Posix Ref: Component PUTC_UNLOCKED
520|172 3 00019709 1 6|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.8-3(C)
520|172 3 00019713 2 1|vsth_pthread_create, expected 0, got 89
220|172 3 2 23:59:57|UNRESOLVED
410|172 3 1 23:59:57|IC End
80|172 0 23:59:57|TC End, scenario ref 175-0
...
10|173 /tset/PTHR.os/all/Mputchar_unlocked/T.putchar_unlocked 23:59:57|TC Start, scenario ref 176-0
400|173 2 1 23:59:58|IC Start
200|173 2 23:59:58|TP Start
520|173 2 00019714 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|173 2 00019714 1 2|when stdout does not support positioning requests or stdout was opened
520|173 2 00019714 1 3|in append mode,
520|173 2 00019714 1 4|then a call to putchar_unlocked(c) appends the character specified
520|173 2 00019714 1 5|by c, converted to an unsigned char, to stdout and returns c if
520|173 2 00019714 1 6|successful.
520|173 2 00019714 1 7|Posix Ref: Component PUTCHAR_UNLOCKED
520|173 2 00019714 1 8|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.9-2(C)
520|173 2 00019716 2 1|vsth_pthread_create, expected 0, got 89
520|173 2 00019714 2 1|read unexpectedly failed, expected 65, got -1
520|173 2 00019717 3 1|vsth_pthread_create, expected 0, got 89
520|173 2 00019714 3 1|read unexpectedly failed, expected 63, got 0
220|173 2 2 23:59:58|UNRESOLVED
410|173 2 1 23:59:58|IC End
400|173 3 1 23:59:58|IC Start
200|173 3 23:59:58|TP Start
520|173 3 00019714 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|173 3 00019714 1 2|when a write-error occurs,
520|173 3 00019714 1 3|then a call to putchar_unlocked(c) shall set the error indicator
520|173 3 00019714 1 4|for stdio and return EOF.
520|173 3 00019714 1 5|Posix Ref: Component PUTCHAR_UNLOCKED
520|173 3 00019714 1 6|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.9-3(C)
520|173 3 00019718 2 1|vsth_pthread_create, expected 0, got 89
220|173 3 2 23:59:58|UNRESOLVED
410|173 3 1 23:59:58|IC End
80|173 0 23:59:58|TC End, scenario ref 176-0
...
10|174 /tset/PTHR.os/all/putchar_unlocked/T.putchar_unlocked 23:59:58|TC Start, scenario ref 177-0
400|174 2 1 23:59:59|IC Start
200|174 2 23:59:59|TP Start
520|174 2 00019719 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|174 2 00019719 1 2|when stdout does not support positioning requests or stdout was opened
520|174 2 00019719 1 3|in append mode,
520|174 2 00019719 1 4|then a call to putchar_unlocked(c) appends the character specified
520|174 2 00019719 1 5|by c, converted to an unsigned char, to stdout and returns c if
520|174 2 00019719 1 6|successful.
520|174 2 00019719 1 7|Posix Ref: Component PUTCHAR_UNLOCKED
520|174 2 00019719 1 8|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.9-2(C)
520|174 2 00019721 2 1|vsth_pthread_create, expected 0, got 89
520|174 2 00019719 2 1|read unexpectedly failed, expected 65, got -1
520|174 2 00019722 3 1|vsth_pthread_create, expected 0, got 89
520|174 2 00019719 3 1|read unexpectedly failed, expected 63, got 0
220|174 2 2 23:59:59|UNRESOLVED
410|174 2 1 23:59:59|IC End
400|174 3 1 23:59:59|IC Start
200|174 3 23:59:59|TP Start
520|174 3 00019719 1 1|If the feature test macro _POSIX_THREAD_SAFE_FUNCTIONS is defined:
520|174 3 00019719 1 2|when a write-error occurs,
520|174 3 00019719 1 3|then a call to putchar_unlocked(c) shall set the error indicator
520|174 3 00019719 1 4|for stdio and return EOF.
520|174 3 00019719 1 5|Posix Ref: Component PUTCHAR_UNLOCKED
520|174 3 00019719 1 6|Assertion 9945-1:1996 8.2.7.2, ANSI/ISO 9899-1990 7.9.7.9-3(C)
520|174 3 00019723 2 1|vsth_pthread_create, expected 0, got 89
220|174 3 2 23:59:59|UNRESOLVED
410|174 3 1 23:59:59|IC End
80|174 0 23:59:59|TC End, scenario ref 177-0Review 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:
- View Report 2114
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority