[comp.sys.sun] ldtermrsrv: out of blocks

kim@uunet.uu.net (Kim Kempf) (03/14/89)

Anyone ever experience the following messages? Things seem pretty locked
up when this happens and the only solution is to reboot.  The
/var/adm/messages file was over 2mb long after dumping these messages into
it for nearly 6 hours. 

Mar  4 09:20:04 mcrware vmunix: newmsg: out of blocks
Mar  4 09:20:04 mcrware vmunix: ldtermrsrv: out of blocks
Mar  4 09:20:04 mcrware vmunix: newmsg: out of blocks
Mar  4 09:20:04 mcrware vmunix: ldtermrsrv: out of blocks
Mar  4 09:20:05 mcrware vmunix: newmsg: out of blocks
Mar  4 09:20:05 mcrware vmunix: ldtermrsrv: out of blocks
Mar  4 09:20:05 mcrware vmunix: newmsg: out of blocks
Mar  4 09:20:05 mcrware vmunix: ldtermrsrv: out of blocks
Mar  4 09:20:05 mcrware vmunix: newmsg: out of blocks
Mar  4 09:20:05 mcrware vmunix: ldtermrsrv: out of blocks
----------------
Kim Kempf, Microware Systems Corporation	{sun,uunet}!mcrware!kim

guy@uunet.uu.net (Guy Harris) (03/31/89)

>Mar  4 09:20:04 mcrware vmunix: newmsg: out of blocks
>Mar  4 09:20:04 mcrware vmunix: ldtermrsrv: out of blocks

You ran out of streams buffers.  They are, unfortunately, not dynamically
allocated in 4.0, and there's no simple "maxusers"-based formula that'll
give the right number of buffers to use; they may be dynamically allocated
in a future release.  For now, try editing "param.c" and increasing some
of the NBLKn parameters (NBLK16 in particular, since input lines in
canonical mode are made out of 16-byte messages).

phil@Rice.edu (William LeFebvre) (03/31/89)

After seeing so many people complain about this problem, I have decided to
post what we are currenty using for NBLK settings in "param.c".  Before
increasing these values, we would routinely get error messages from the
terminal driver.  Unfortuantely, there is no easy way to set these values
in the config file.  So here's what you do.  After "config TYPE" (where
"TYPE" is whatever hthe kernel id name is), cd to "../TYPE".  Then edit
the file called "param.c" in that directory.  Most of the changes are
going to occur around line 144, just after the comment "Stream data
structures".  After making the appropriate changes, type "make".

Here is what we use for a 3/280 that has 32 ALM lines, 2 console lines,
and 32 pseudo tty lines.  I have noted the original values, if different,
in comments off to the right.
__________

/*
 * Stream data structures.
 * XXX - should be dynamically allocated.
 */
#define NBLK4096          1		/* was   0 */
#define NBLK2048         32
#define NBLK1024         12
#define NBLK512          10		/* was   8 */
#define NBLK256          48		/* was  32 */
#define NBLK128         192		/* was  96 */
#define NBLK64          240
#define NBLK16          400
#define NBLK4           256		/* was 128 */
#define NBLK (NBLK4096 + NBLK2048 + NBLK1024 + NBLK512 + NBLK256 + NBLK128 + \
        NBLK64 + NBLK16 + NBLK4)

#define NSTREAM         64		/* was  32 */
__________

I based these figures on the output of "netstat -m", which tells you the
number of allocation failures for each block size.  We had a few failures
for 4096 blocks so I added one, but I am still getting failures so it
doesn't appear to have done any good.  We are also still getting failures
for 4 bytes blocks.  But all the other failues are 0, and we haven't had
any terminal problems since.  If you want to go to 64 pseudo ttys, then
blocks of size 512, 256, and 128 are going to have to be increased more,
especially 128 byte blocks.

	William LeFebvre

ljs@well.sf.ca.us (Linda Siegel) (01/15/91)

We are having strange problems with our Sun 3/160 system.  Configuration:

        Sun 3/160 w/ 20 megs memory
        1 xylogics 753 controller
        2 eagle M2351 drives
        16 megs swap

The system had been working fine for several months.  About 3 weeks ago,
it started hanging regularly (twice daily) with the error:

        ldtermrsrv: out of blocks

In checking netstat -m, we notice that it is getting allocation errors for
the dblks in size 16 and 64.  I have tried rebuilding the kernel with
higher maxusers.  I thought I had read somewhere that these were errors
with SunOS 4.0.3.  We have tried getting help from Sun Tech Support.  They
didn't seem to know much about it and thought it was a controller error.

Any suggestions?  I know one problem we have is too small a swap
partition, but would that cause this error?

Thanks,

Linda Siegel, Systems Administrator
LucasArts Entertainment Co.	{apple,pacbell,ucbvax}!well!ljs