[comp.windows.x] X11 using gcc-1.35 problems

brian@amc-gw.UUCP (Brian Crowley) (06/20/89)

I am trying to build and run the R3 distribution on a 3/60CG4 using
gcc-1.35 and the PURDUE speedups.

After successfully compiling the World, I try to execute the server
with the command:

	xinit xterm -- -dev /dev/cgfour0

The grey stipple pattern comes up along with the cursor, then after 3-4
seconds, I get the error message:

	XIO:  fatal IO error 32 (Broken pipe) on X server "unix:0.0"
              after 38 requests (28 known processed) with 0 events remaining.
              The connection was probably broken by a server shutdown or
	      KillClient.

and the whole thing dies (laeving the keyboard in a funny state that I can
only fix with the kbd_mode -a command).

My questions:

	1.  Can anybody tell me what this error message *really* means?

	2.  Has anybody else successfully compiled using gcc-1.35?
	    Should I be using gcc-1.34?

	3.  If I should be using gcc-1.34, anyone tell me where I can
	    snarf a copy (UUCP or ftp).

	4.  Observations?  Suggestions?

Of course, thanks in advance.


---------------------------------------------------------------------------
|Brian Crowley              |     Internet: amc-gw!brian@uunet.uu.net     |
|Applied Microsystems Corp. |         UUCP: uunet!amc-gw!brian            |
|Redmond, WA                |          ATT: 206-882-2000  ext. 328        |
---------------------------------------------------------------------------

psf@RHONE.EDRC.CMU.EDU (Paul Fussell) (06/22/89)

  ...execute the server...

	XIO:  fatal IO error 32 (Broken pipe) on X server "unix:0.0"
              after 38 requests (28 known processed) with...

  and the whole thing dies...


I had exactly the same difficulty. I solved the problem on my machine
by compiling
	~X11R3/server/os/4.2bsd/oscolor.c
with Sun's cc instead of gcc.  That file was the only problem (I did not
attempt to discover why that file has a problem).  The Xsun server now works
like a charm (with a marvelous speedup, I might add).

Details:
	Sun 4/150 (w/ GP2)
	Sun OS 4.0.1
	gcc 1.35 (Sun's as, ld, ar, and ranlib)
	X release 3 (with 10 patches, and the ver. 2 Purdue speedups)

Some of the clients did not compile with gcc, but the failures were
obvious.

Paul Fussell
psf@cs.cmu.edu
-- 

rbj@DSYS.NCSL.NIST.GOV (Root Boy Jim) (06/23/89)

? From: sumax!amc-gw!brian@beaver.cs.washington.edu  (Brian Crowley)

? I am trying to build and run the R3 distribution on a 3/60CG4 using
? gcc-1.35 and the PURDUE speedups.

? After successfully compiling the World, I try to execute the server
? with the command:

? 	xinit xterm -- -dev /dev/cgfour0

? The grey stipple pattern comes up along with the cursor, then after 3-4
? seconds, I get the error message:

? 	XIO:  fatal IO error 32 (Broken pipe) on X server "unix:0.0"
?               after 38 requests (28 known processed) with 0 events remaining.
?               The connection was probably broken by a server shutdown or
? 	      KillClient.

? and the whole thing dies (laeving the keyboard in a funny state that I can
? only fix with the kbd_mode -a command).

? My questions:

? 	1.  Can anybody tell me what this error message *really* means?

? 	2.  Has anybody else successfully compiled using gcc-1.35?
? 	    Should I be using gcc-1.34?

? 	3.  If I should be using gcc-1.34, anyone tell me where I can
? 	    snarf a copy (UUCP or ftp).

? 	4.  Observations?  Suggestions?

? Of course, thanks in advance.

**** WARNING **** WARNING **** WARNING **** WARNING **** WARNING ****
**** WARNING **** WARNING **** WARNING **** WARNING **** WARNING ****
**** WARNING **** WARNING **** WARNING **** WARNING **** WARNING ****

Do *NOT*, ever, never use `unix:0' as your display. Unless it works.

There are bugs in certains vendors' operating systems regarding them.
Use `localhost:0' or your explicit hostname instead.

I have been thru this before. I am running SunOS 3.5 on a 3/180,
with the 4.0 nameserver kit installed. It redefines netdb.h and
some routines in libc.a, notably gethostbyname.

I see the same behavior with gcc and regular cc.

However, I got a little further than you did.

Symptoms:

I do xinit with no args. An xterm comes up. I can type small amounts
of output with no problems. However, a `cat /etc/termcap' types a few
pages, and then the window dies. I can get about 4K. Sound familiar?
That is the pipe limit. Pipes are unix domain socketpairs. It makes no
difference whether I run uwm or not. I have applied patches 1-9.

I am not sure whether this is your problem, and which vendors and
operating systems versions my notes apply to. Perhaps using the
new networking stuff is a problem, I once had unix:0 working.

The point is that unix domain sockets have always been buggy, and
there is no reason to expect them to work now. Avoid them.

Gurus, please take note. When someone poses you a stumper question
that has this particular XIO error in it, and you have no answer,
please utter this warning with the caveats that it is a last resort,
that it should work, but doesn't always in practice.

In fact, I was led to my conclusions by something RWS said about
the way certain OS's handle writev's in server/4.2bsd/io.c:FlushClient.
He mentioned that EINVAL could be returned under certain circumstances.
Perhaps the specific UNIX error should be reported as well. Perhaps
an attempt should be made to handle EINTR and retry the operation.
I don't see how EINTR could happen, but you never know.

We now return you to your regularly scheduled program.

**** WARNING **** WARNING **** WARNING **** WARNING **** WARNING ****
**** WARNING **** WARNING **** WARNING **** WARNING **** WARNING ****
**** WARNING **** WARNING **** WARNING **** WARNING **** WARNING ****

? ---------------------------------------------------------------------------
? |Brian Crowley              |     Internet: amc-gw!brian@uunet.uu.net     |
? |Applied Microsystems Corp. |         UUCP: uunet!amc-gw!brian            |
? |Redmond, WA                |          ATT: 206-882-2000  ext. 328        |
? ---------------------------------------------------------------------------

	Root Boy Jim is what I am
	Are you what you are or what?