[comp.windows.x] text: table is full

tom@ICASE.EDU (Tom Crockett) (10/05/88)

We have recently installed X11R2 on our Sun 3/50 workstations here at ICASE.
We are currently running SunOS 3.5.  Our X users are having trouble with a
message, evidently from SunOS, complaining about

  text: table is full

This typically occurs during makes or compiles when there are a lot of
processes active at the same time.  It causes processes to die before they
get started.  Users generally have 2 or 3 xterms running, along with an
xclock or two, an xload, xbiff, and maybe one or two other clients.
We almost never have this problem when running suntools, even with heavier
workloads.

Have other people noticed this phenomenon?  Is X really that much more
demanding than suntools?  Does anyone know of a solution or workaround?

Tom Crockett

Institute for Computer Applications in Science and Engineering
M.S. 132C, NASA Langley Research Center
Hampton, VA  23665
e-mail:  tom@icase.edu
phone:   (804) 865-4097

mtr@mace.cc.purdue.edu (Miek Rowan) (10/05/88)

This has been discussed in Sun-spots recently.  The quick 
way to fix it is to up the MAXUSERS setting. (This is a define
in the kernel sources (or headers if you have only objects) and
this also requires that you generate a new kernel once you 
change it)

We set this in a Makefile define.  I think the SunOS4.0 comes
with it set at 4 (FOUR!?!?)  We have it at 16.  Not to say that 
is right, wrong or whatever.  

The problem is that this increases some other tables that have 
nothing to do with your problem.  Maybe a better thing is to 
increase NPROCS -  Anyone wanna back that up?

At a minimum, someone will correct me and you'll get a real
answer ;-)

mtr

shaddock@RTI.RTI.ORG (Mike Shaddock) (10/05/88)

   Date: 5 Oct 88 01:33:47 GMT
   From: mace.cc.purdue.edu!mtr@j.cc.purdue.edu  (Miek Rowan)
   Organization: Unix Groupie
   References: <8810041919.AA14373@work8.icase.edu>
   Sender: xpert-request@athena.mit.edu


   This has been discussed in Sun-spots recently.  The quick 
   way to fix it is to up the MAXUSERS setting. (This is a define
   in the kernel sources (or headers if you have only objects) and
   this also requires that you generate a new kernel once you 
   change it)

   We set this in a Makefile define.  I think the SunOS4.0 comes
   with it set at 4 (FOUR!?!?)  We have it at 16.  Not to say that 
   is right, wrong or whatever.  

   The problem is that this increases some other tables that have 
   nothing to do with your problem.  Maybe a better thing is to 
   increase NPROCS -  Anyone wanna back that up?

   At a minimum, someone will correct me and you'll get a real
   answer ;-)

   mtr

Actually, you need to increase ntext in param.c, since they are
running out of text table slots, not proc table slots.  In param.c
there is a line which normally reads

	int ntext = 24 + MAXUSERS;

I changed mine to be

	int ntext = 36 + MAXUSERS*2;

However, I have a 3/160C with 16M of memory; you may want to make
yours smaller based on how much memory you have.  If you make MAXUSERS
too big, you can get a kernel which not only will not boot, but will
lock your system up.

shore@ncifcrf.gov (Melinda Shore) (10/05/88)

In article <802@mace.cc.purdue.edu> mtr@mace.cc.purdue.edu (Miek Rowan) writes:
>The problem is that this increases some other tables that have 
>nothing to do with your problem.  Maybe a better thing is to 
>increase NPROCS -  Anyone wanna back that up?

Close.  ntext is set to 24+MAXUSERS by default, so you'd probably
want to edit param.c to increase it.  NPROC describes the size of
the proc table, a different beast entirely.
-- 
Melinda Shore                                    shore@ncifcrf.gov
NCI Supercomputer Facility              ..!uunet!ncifcrf.gov!shore

wohler@spam.istc.sri.com (Bill Wohler) (10/14/88)

Tom Crockett writes:
> ... SunOS, complaining about
>
>  text: table is full
>

  no biggie.  surprisingly enough, the default sun text table does not
  take into account the space needed for the network (surprised you
  didn't hit this message before using X).

  rebuild your kernel, after adding the following to
  /sys/conf/param.c:

	#ifdef INET
	#define NETSLOP 40
	#else
	#define NETSLOP 0
	#endif
	int     ntext = 24 + MAXUSERS + NETSLOP;

						--bw