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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2114 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 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_unlocked
    Test 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-0

    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