jlo@elan.UUCP (Jeff Lo) (01/21/89)
I have run into a problem with a client exiting unexpectedly that I have not been able to sort out. The client uses only Xlib calls (no toolkits) to continuously loop, displaying a fixed set of images and text. The problem is that sometimes the client will exit without warning. Other times it exits, printing an XIO error message about a broken pipe. When it does this, the number of events known processed is always one of two values (8289 or 18490), typically with 107 or 108 events left on the queue, unless the machine is loaded. The total number of requests is often one of a few values also, but not as consistently as the number of events processed. The problem sometimes doesn't appear as early or often if the machine is somewhat loaded. Since the client is normally continuously sending the same requests over and over rather fast and furiously, it sounds to me like something can't handle the requests coming in so fast, but when the machine is loaded it does better because the client can't send them quite so quickly. I am at a loss. Does anybody out there on the net have any ideas? Has anybody else seen similar behavior? And why does it sometimes just quit without any error message at all? Relevant details: server is X11R3 with patches 1-3, compiled with gcc v1.31 on a Sun 3/50 running SunOS 4.0. The client process has been tried on the Sun compiled with the Sun C compiler, and on a MicroVAX II with Ultrix 2.3 and an X11R2 Xlib. Many Thanks, Jeff Lo Elan Computer Group, Inc. ..!{ames,uunet,hplabs}!elan!jlo 415-322-2450
jlo@elan.UUCP (Jeff Lo) (01/21/89)
In article <412@elan.UUCP> jlo@elan.UUCP (Jeff Lo) writes: > The problem sometimes doesn't appear as early or often if the machine > is somewhat loaded. Since the client is normally continuously sending > the same requests over and over rather fast and furiously, it sounds to > me like something can't handle the requests coming in so fast, but when > the machine is loaded it does better because the client can't send them > quite so quickly. Another note on this. If I nice the server to -15 or -20 the client runs just fine even if the system is not loaded down. Many Thanks, Jeff Lo Elan Computer Group, Inc. ..!{ames,uunet,hplabs}!elan!jlo 415-322-2450
klee@daisy.UUCP (Ken Lee) (01/24/89)
In article <412@elan.UUCP> jlo@elan.UUCP (Jeff Lo) writes: > >The problem is that sometimes the client will exit without warning. >Other times it exits, printing an XIO error message about a broken >pipe. Under X11R2, this frequently happened when the server got way ahead of a client, filling up the buffer of events to send to that client. When the server ran out of room, it assumed the client was dead, and shut down the pipe. Xlib on the client end would detect the broken pipe and exit with an XIO error. This was especially a problem with small clients in a multi-client environment, since the small ones got swapped out alot. This problem was, however, reportedly fixed in X11R3. Could you possibly be having the reverse problem: too much traffic generated by the client, filling up the Xlib output buffer? This could probably be considered an Xlib bug. Just a guess. Ken Lee -- klee@daisy.uucp Daisy Systems Corp., Interactive Graphics Tools Dept.