[comp.sys.sun] sendto

dfr@stcvax.UUCP (Dennis F. Reed) (12/13/88)

i sent this in a couple weeks ago, but no response, so...

i have a simple(?) application developed on a 4.3bsd vax which uses unix
domain datagram sockets to communicate between processes.  most packets
are small (<128 bytes).  i moved it over to a sun-3 running sunos 3.5
(also tried a sun-2 running 3.4) and it appears that when a process calls
sendto(), the system crashes with the message:

panic: sbappendaddr

is this a know problem?  is there a workaround?  the system doc seems to
indicate the system call syntax is the same, so?????  help!  thanks!

dik@uva.UUCP (Casper H.S. Dik) (12/16/88)

stcspe!dfr@stcvax.UUCP (Dennis F. Reed) writes:
>i have a simple(?) application developed on a 4.3bsd vax which uses unix
>domain datagram sockets to communicate between processes.  most packets
>are small (<128 bytes).  i moved it over to a sun-3 running sunos 3.5
>(also tried a sun-2 running 3.4) and it appears that when a process calls
>sendto(), the system crashes with the message:
>
>panic: sbappendaddr
>
>is this a know problem?...

I had the same problem some time ago. SOCK_DGRAM in AF_UNIX is a *nightmare*.

I got various panics:

panic: sbappendaddr
    This happens when sending a zero length package,
    Work around: test on message length

panic: bread: size 0
    This happens when doing a cat > socket.

No SIGURG/SIGIO is send when FASYNC is specified.

Using MSG_OOB gives a panic(forgot which) too instead of
'Protocol not supported'

Also some bus errors occured, though seemingly random.  The programs I
wrote worked alright on a Gould running UTX 2/06.  Apparently, the code
for this little used protocol is very poor.

I stopped using SOCK_DGRAM,AF_UNIX and did a rm on the programs I wrote.

Casper H.S. Dik
University of Amsterdam     dik@uva.uucp
The Netherlands             ...!uunet!mcvax!uva!dik

pl@uunet.uu.net (Pertti Lehtinen) (12/30/88)

We had also problems with sendto.  We ran BITNET software (urep, daemon,
... ) on SUN-3/260 with os version 3.5.

daemon sometimes crashed machine on BITNET connection creation but after
reboot connection was created ok.

Panic was bus error due reference vai scratch pointer in sendto-code.
Problem seems to be somekind corruption in system tables.

We get around the problem by moving BITNET software to machine with
SUN-OS4.0.

pl@tut.fi
Pertti Lehtinen
Tampere University of Technology
Software Systems Laboratory