[comp.windows.x] Bizzare problem with client exiting

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.