campbell@redsox.bsw.com (Larry Campbell) (02/16/90)
(System: 386/ix running ISC X11R3 V1.1 on vanilla VGA) Inevitably, after using X for a while,I lose the ability to open new connections to my server. When I try to start a new application, I get, for example: /usr2/campbell> xrdb -query xrdb: No such device or address xrdb: Can't open display 'unix:0' /usr2/campbell> I suspect I'm running out of some resource, because if I reboot my system I can successfully start all the applications I was originally trying and failing to. I have checked streams resources with /etc/crash -- I've never run out of any stream buffers. Here's the strstat output: ITEM CONFIG ALLOC 425788 90 0 data block size 4 128 0 128 169046 5 0 data block size 16 256 26 230 32667 32 0 data block size 64 256 0 256 144056 51 0 data block size 128 128 0 128 47583 62 0 data block size 256 64 0 64 16875 15 0 data block size 512 32 0 32 8806 10 0 data block size 1024 32 0 32 2684 4 0 data block size 2048 32 0 32 3978 7 0 data block size 4096 4 0 4 93 3 0 Count of scheduled queues: 0 I'm not using very many ptys -- three or four typically, and I'm configured for 16. I have 10MB of memory and have configured the kernel appropriately. I'm the only user. No console messages are appearing. How can I figure out what I'm short of so I can bump it up? -- Larry Campbell The Boston Software Works, Inc. campbell@redsox.bsw.com 120 Fulton Street wjh12!redsox!campbell Boston, MA 02109
elaine@uc.msc.umn.edu (Elaine Larson) (02/20/90)
>Inevitably, after using X for a while,I lose the ability to open new >connections to my server. When I try to start a new application, I get, for >example: > /usr2/campbell> xrdb -query > xrdb: No such device or address > xrdb: Can't open display 'unix:0' > /usr2/campbell> This sounds just like the problem we were having with our SparcStations. It turned out that our problem was caused by having our diskless SparcStations configured so that they all shared the same /tmp. We eventually discovered (it took a while!) that X11 creates the file /tmp/.X11-unix/X0 (the 0 is for the screen number) on server start-up when using unix sockets. When someone started up their server, things worked just fine. But because we were sharing /tmp between workstations, when someone else started up a server on another workstation, the first person would no longer be able to open new connections as his or her /tmp/.X11-unix/X0 file had been over written. Check out server/os/4.2bsd/connection.c. This comment is located in that file: #ifdef UNIXCONN /* * sites should be careful to have separate /tmp directories for diskless nodes */ We ended up making separate /tmp space for each workstation, and that solved the problem. I'm not sure that this is the same problem you're having, but it sure sounds similar. - Elaine Larson Minnesota Supercomputer Center elaine@msc.umn.edu
mike@antel.uucp (Michael Borza) (02/21/90)
In article <1537@redsox.bsw.com> campbell@redsox.bsw.com (Larry Campbell) writes: >(System: 386/ix running ISC X11R3 V1.1 on vanilla VGA) > >Inevitably, after using X for a while,I lose the ability to open new >connections to my server. When I try to start a new application, I get, for >example: > > /usr2/campbell> xrdb -query > xrdb: No such device or address > xrdb: Can't open display 'unix:0' > /usr2/campbell> > >I suspect I'm running out of some resource, because if I reboot my system >I can successfully start all the applications I was originally trying and >failing to. > >I have checked streams resources with /etc/crash -- I've never run out >of any stream buffers. Here's the strstat output: Nonetheless, streams is what you're running out of. There is a bug in the ISC X-Server Xvga which eats one stream each time the server dies. (Actually, I can't say with authority that the problem is with Xvga, but it manifests itself when the Xvga server dies.) A simple experiment will suffice to convince yourself that this is the case: run `netstat -imn' and node the number of streams `inuse'; then by hand with xinit, or with xdm, start Xvga, then kill it; re-run `netstat -imn'. The number of streams `inuse' should increase by one each time you start a new server. I know that this is the case with Xvga from the ISC X Runtime 1.0.0 release. I can't comment on any other server as I've never run them (except Xhrc too briefly to observe this problem). This cost us a substantial amount of effort to isolate here. I've never run crash to try to isolate this. It's now been a long time since we encountered this-- we bumped NSTREAM in mtune, and now take our systems down every two weeks or so to avoid it. At any rate, from what I recall about this problem from when we did isolate it, you won't actually be out of stream buffers, there just won't be enough to start the server. (We figured it out by looking at the difference between inuse streams with and without the X-Server running.) Could it be that the server looks for the number of streams it needs prior to trying to allocate them, then fails if it wouldn't get them? Anyone at ISC care to comment on this layman's guess at what's going on here? mike borza. -- Michael Borza Antel Optronics Inc. (416)335-5507 3325B Mainway, Burlington, Ont., Canada L7M 1A6 work: mike@antel.UUCP or uunet!utai!utgpu!maccs!antel!mike home: mike@boopsy.UUCP or uunet!utai!utgpu!maccs!boopsy!mike
guy@auspex.auspex.com (Guy Harris) (02/24/90)
>>I have checked streams resources with /etc/crash -- I've never run out >>of any stream buffers. Here's the strstat output: > >Nonetheless, streams is what you're running out of. Which is consistent with his statement; "streams" and "streams buffers" are different beasts.