|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1936 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 1936.
Report 1936 Actions
Problem Report Number 1936 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0963 Raised 1995-08-15 08:00 Updated 2003-03-13 08:00 Published 1995-08-31 08:00 Product Standard Transport Service XTI Certification Program The Open Brand certification program Test Suite VST version 4.1.3 Test Identification XTI.os/cots/T.connect 1 Problem Summary TSDT4.001 In connect test 1, the master program is supposed to connect twice to the same target address. But the function u_rcvaddr() uses static variables to hold the struct netbuf and struct sockaddr_in which... Problem Text
In connect test 1, the master program is supposed to connect twice
to the same target address. But the function u_rcvaddr() uses
static variables to hold the struct netbuf and struct sockaddr_in
which contain the target address data, and u_rcvaddr() is called with
a different address before the second t_connect() call. This results
in the wrong sndcall address in the second t_connect(), and the test
will timeout and fail
connect.c test1() source:
========================
[ provsetup() calls stateset()/u_rcvaddr() to create the address slvbret ]
fd = provsetup(curr_prov, T_IDLE, O_RDWR, 1,
&inforet, &bindret, &slvbret, &callret, SP_PROVSETUP);
if (fd < 0)
{
/* message already output */
if (testfail++ == 0)
xx_rpt(DELETION);
DBUG_RETURN(-1);
}
else
PATH_TRACE;
INITCALL(sndcall, slvbret.addr);
TCALLOC(fd, rcvcall, T_CALL, curr_prov->pd_idstr);
if(c_connect(fd, &sndcall, rcvcall, T_DATAXFER, 0, 0, curr_prov->pd_idst
r) != 0)
[...]
[ u_rcvaddr() is called again before the second connect ]
addr = u_rcvaddr(curr_prov->pd_idstr, decode_addr(*strvals));
if(c_connect(fd, &sndcall, rcvcall, T_DATAXFER, 0, 0, curr_prov->pd_idst
r) != 0)
XTI call trace:
==============
Mon Aug 14 16:43:29 1995 -> t_connect()
> fd = 7
> sndcall->addr.len = 16
> sndcall->addr.buf = (16/16)
00 02 4E 21 0F 0D 88 25 00 00 00 00 00 00 00 00 ..N!...%........
> sndcall->opt.len = 0
> sndcall->udata.len = 0
> sndcall->udata.buf = (0/0)
> rcvcall->addr.maxlen = 16
> rcvcall->addr.buf = 0x40012B18
> rcvcall->opt.maxlen = 256
> rcvcall->opt.buf = 0x40012C98
> rcvcall->udata.maxlen = 0
> rcvcall->udata.buf = 0x0
< rcvcall->addr.len = 16
< rcvcall->addr.buf = (16/16)
00 02 4E 21 0F 0D 88 25 00 00 00 00 00 00 00 00 ..N!...%........
< rcvcall->opt.len = 0
< rcvcall->udata.len = 0
< rcvcall->udata.buf = (0/0)
Mon Aug 14 16:43:29 1995 <- t_connect() = 0
Mon Aug 14 16:43:29 1995 -> t_getstate()
> fd = 7
Mon Aug 14 16:43:29 1995 <- t_getstate() = 5
Mon Aug 14 16:43:29 1995 -> t_look()
> fd = 7
Mon Aug 14 16:43:29 1995 <- t_look() = 0x0
Mon Aug 14 16:43:29 1995 -> t_snddis()
> fd = 7
> call = 0x0
Mon Aug 14 16:43:29 1995 <- t_snddis() = 0
Mon Aug 14 16:43:30 1995 -> t_connect()
> fd = 7
> sndcall->addr.len = 16
> sndcall->addr.buf = (16/16)
00 02 4E 22 0F 0D 88 25 00 00 00 00 00 00 00 00 ..N"...%........
> sndcall->opt.len = 0
> sndcall->udata.len = 0
> sndcall->udata.buf = (0/0)
> rcvcall->addr.maxlen = 16
> rcvcall->addr.buf = 0x40012B18
> rcvcall->opt.maxlen = 256
> rcvcall->opt.buf = 0x40012C98
> rcvcall->udata.maxlen = 0
> rcvcall->udata.buf = 0x0
Mon Aug 14 16:43:55 1995 <- t_connect() = -1; t_errno = TSYSERRTest Output
400|0 1 1 16:18:36|IC Start
200|0 1 16:18:36|TP Start
520|0 1 00100593 1 1|t_listen() on TCP endpoint
520|0 1 00100593 1 2|RETURN VALUES: expected: 0, observed: -1
520|0 1 00100593 1 3|TERRNO VALUES: expected: 0 (NO ERROR), observed: 8 (TSYSERR
)
520|0 1 00100593 1 4|errno was set to 4 (EINTR)
520|0 1 00000592 1 1|t_connect() on TCP endpoint
520|0 1 00000592 1 2|RETURN VALUES: expected: 0, observed: -1
520|0 1 00000592 1 3|TERRNO VALUES: expected: 0 (NO ERROR), observed: 8 (TSYSERR
)
520|0 1 00000592 1 4|errno was set to 4 (EINTR)
220|0 1 1 16:19:02|FAIL
410|0 1 1 16:19:02|IC EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
This is a known fault in the user provided routines. While these
routines could be changed by the user, the fault does exist in the
copy supplied with the test suite and it is recommended that a waiver
is granted.
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 1936
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority