[comp.bugs.2bsd] select

gmp@rayssd.RAY.COM (Gregory M. Paris) (01/08/88)

Is anybody else having problems with select on 2.10 BSD?  We're running it
on an 11/44 with an Interlan ethernet board, and our inetd won't work.  I
followed the problem back to where inetd does a select for read on the open
sockets to see if any are ready for an accept.  Select reports that all are
ready for reading, yet none are.  This causes inetd to hang in accept
forever.  I haven't had the patience to track it through the kernel yet.

-- 
Greg Paris  gmp@rayssd.ray.com  {cbosgd,decuac,gatech,ihnp4,uiucdcs}!rayssd!gmp
	Is our geological destiny to be a thin black line in a cliff,
	which will tell some future eye, "This was when man lived...
	and died?"

sytek@tekgen.TEK.COM (Mike Ewan) (01/12/88)

In article <1756@rayssd.RAY.COM> gmp@rayssd.RAY.COM (Gregory M. Paris) writes:
>
>Is anybody else having problems with select on 2.10 BSD?  We're running it
>on an 11/44 with an Interlan ethernet board, and our inetd won't work.  I
>followed the problem back to where inetd does a select for read on the open
>sockets to see if any are ready for an accept.  Select reports that all are
>ready for reading, yet none are.  This causes inetd to hang in accept
>forever.  I haven't had the patience to track it through the kernel yet.

I am also having problems with an 11/44 and Interlan ethernet.  Everything
seems to be going well until you do an ftp.  You get connected then when
you start the xfer the kernal crashes.  The kernal will crash on any net
access but at random periods.  The ftp is more predictable.
I can ftp all day long to the loop device though.  But the real net crashes
the kernal.

Any ideas anybody.

Mike.
-- 
    Michael Ewan               decvax----\ 
    (503)627-6468              hplabs------\
    sytek@tekgen.TEK.COM       ihnp4-------->----!tektronix!tekgen!sytek
                               ucbvax------/

casey@lll-crg.llnl.gov (Casey Leedom) (01/12/88)

In article <1756@rayssd.RAY.COM> gmp@rayssd.RAY.COM (Gregory M. Paris) writes:
> Is anybody else having problems with select on 2.10 BSD? ... Select
> reports [in inetd] that all are ready for reading, yet none are.  This
> causes inetd to hang in accept forever.

  Keith posted a fix to selscan which may be causing your problem.  Since
the fix was so short I'll repeat it here.  (Keith, Do we have an archive site
for 2.10BSD bug postings that people can get to anonymously?)

Casey

This is 2.10BSD bug posting V1/8:
-----
Subject: selscan routine is wrong
Index: sys/sys_generic.c 2.10BSD

Description:
	The selscan routine works erratically, at best, if UCB_NET
	is defined.
Repeat-By:
	Use the select(2) call.
Fix:
	Apply the following patch to sys_generic.c.

*** sys_generic.c.old	Sat Oct 17 15:56:15 1987
--- sys_generic.c	Sat Oct 17 16:14:29 1987
***************
*** 326,338 ****
  	int flag;
  	struct file *fp;
  	int n = 0;
! 	int (*selroutine)();
! 
  #ifdef UCB_NET
! 	int soo_select(), ino_select();
! 	selroutine = (fp->f_type == DTYPE_SOCKET) ? soo_select : ino_select;
  #else
- 	int ino_select();
  	selroutine = ino_select;
  #endif
  	for (which = 0; which < 3; which++) {
--- 326,335 ----
  	int flag;
  	struct file *fp;
  	int n = 0;
! 	int (*selroutine)(), ino_select();
  #ifdef UCB_NET
! 	int soo_select();
  #else
  	selroutine = ino_select;
  #endif
  	for (which = 0; which < 3; which++) {
***************
*** 356,361 ****
--- 353,361 ----
  					u.u_error = EBADF;
  					break;
  				}
+ #ifdef UCB_NET
+ 				selroutine = (fp->f_type == DTYPE_SOCKET) ? soo_select : ino_select;
+ #endif
  				if ((*selroutine)(fp, flag)) {
  					FD_SET(i + j, &obits[which]);
  					n++;

sytek@tekgen.TEK.COM (Mike Ewan) (01/15/88)

In article <2261@tekgen.TEK.COM> sytek@tekgen.UUCP (Mike Ewan) writes:
>In article <1756@rayssd.RAY.COM> gmp@rayssd.RAY.COM (Gregory M. Paris) writes:
>>
>>Is anybody else having problems with select on 2.10 BSD?  ...
>
>I am also having problems with an 11/44 and Interlan ethernet.  Everything
>seems to be going well until you do an ftp.  You get connected then when
>you start the xfer the kernal crashes.  The kernal will crash on any net
>access but at random periods.  The ftp is more predictable.
>

Ok.  So I'm not having the same problem as Greg.  I have installed the 
bugfix though and here's the strange part.  The networking works fine 
from the 11/44 to one of our Tektronix workstations with Utek OS.  
(Utek is 4.3bsd ported to the 68020 processor.)  But if I try to access 
our other 11/44 running Ultrix-11 (2.9 with networking) the kernal crashes.

Anybody have any ideas of what might be causing this.

Mike.

-- 
    Michael Ewan               decvax----\ 
    (503)627-6468              hplabs------\
    sytek@tekgen.TEK.COM       ihnp4-------->----!tektronix!tekgen!sytek
                               ucbvax------/