|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1788 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 1788.
Report 1788 Actions
Problem Report Number 1788 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0865 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1999-02-22 08:00 Product Standard Window System Application Interface V2 Certification Program The Open Brand certification program Test Suite VSW version 5.0.2 Test Identification XtC/XtNextEvent 4 Problem Summary TSD4W.00161 This test may fail on fast systems. Problem Text
We believe this failure is due to a fault in the test suite, and
request
that a waiver be granted.
The problem here is that the machine on which this test was run
is too fast.
I placed a
printf("avs_set_event: val = %d\n", val);
statement in "vsw5/src/libXtTest/event.c" just before the call to
arg.val = val;
s2 = semctl(semid, event, SETVAL, arg);
and, on this machine, the value of "val" starts at "1" but gets
all the way
up to "32768" before it fails.
avs_set_event: val = 1
avs_set_event: val = 2
avs_set_event: val = 3
.
.
.
avs_set_event: val = 32766
avs_set_event: val = 32767
avs_set_event: val = 32768
avs_set_event: failed
avs_set_event: val = 32768
avs_set_event: failed
avs_set_event: val = 32768
avs_set_event: failed
However, on a slower machine the test appears to finish before
"val" gets
a chance to become too large.
avs_set_event: val = 1
avs_set_event: val = 2
avs_set_event: val = 3
.
.
.
avs_set_event: val = 5614
avs_set_event: val = 1
In this particular test the callback "XtIOP_Proc" is being called
repeatedly
to process any input from the designated input file. All that
"XtIOP_Proc" does
is increment a semaphore value each time it is called. This will
go on until
the timeout period has expired. This time period appears to be
hardcoded to
"30 - 4 = 26". Notice, however, that no check is made to see if
the limit has
been reached on the value of the semaphore.
void XtIOP_Proc(client_data, source, id)
XtPointer client_data;
int *source;
XtInputId *id;
{
avs_set_event(2,avs_get_event(2)+1); /* INCREMENT EACH
TIME CALLED. */
}
static void t004(){
.
.
.
/*
* NOTE: MACROS HAVE BEEN EXPANDED
*/
if ((pid2 = fork()) == 0)
{
tet_setcontext();;
tet_infoline("TEST: Register file as an input source");
input_ret = XtAddInput(((fid)->_file),
(XtPointer)(1L<<0), XtIOP_Proc,
(XtPointer)msg);
tet_infoline("PREP: Register timeout");
XtAddTimeOut(3000, XtTMO3_Proc, topLevel);
tet_infoline("PREP: Create windows for widgets and map
them");
XtRealizeWidget(topLevel);
tet_infoline("TEST: Callback for input is called");
display = (((topLevel)->core.screen)->display);
/*
* ENDLESS LOOP WILL ONLY TERMINATE WHEN ...
*/
for (i = 0; i == 0;) {
XtNextEvent(&loop_event);
XSync(display, 0);
XtDispatchEvent(&loop_event);
}
exit(0);
}
tet_setblock();
wait_for(pid2, 30-4);; /* ... THIS GUY EXPIRES. */
unlink(msg);
exit(0);
.
.
.
}
Therefore, on a fast machine "XtIOP_Proc" is called more
frequently causing
the semaphore to be incremented to its limit before the timeout
period,
which terminates the test, has expired.Test Output
520|2545 4 32484 1 1|VSW5TESTSUITE PURPOSE 4
520|2545 4 32484 1 2|Assertion XtNextEvent-4.(A)
520|2545 4 32484 1 3|When input for an alternate input source
occurs in the
520|2545 4 32484 1 4|calling process while a call to void
520|2545 4 32484 1 5|XtNextEvent(event_return) is blocked the
designated
callback
520|2545 4 32484 1 6|procedure for the input source shall be
called.
520|2545 4 32494 1 1|PREP: Initialize toolkit, Open display and
Create topLevel
root widget
520|2545 4 32494 1 2|PREP: Get the file name to register
520|2545 4 32494 1 3|PREP: Open file
/usr/miller/vsw5/tet/vsw5/tset/XtC/taddinput/data1 for read
520|2545 4 32495 1 1|TEST: Register file as an input source
520|2545 4 32495 1 2|PREP: Register timeout
520|2545 4 32495 1 3|PREP: Create windows for widgets and map
them
520|2545 4 32495 1 4|TEST: Callback for input is called
520|2545 4 32495 1 5|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 6|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 7|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 8|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 9|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 10|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 11|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 12|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
.
.
.
520|2545 4 32495 1 7510|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
520|2545 4 32495 1 7511|ERROR: avs_set_event: semctl failed,
errno = 34(ERANGE - Result too large)
220|2545 4 2 23:49:30|UNRESOLVED
410|2545 4 1 23:49:30|IC EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We agree this is a test suite deficiency in the test
suite version(s) listed.
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 1788
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority