[comp.windows.x] Fatal Sun R4 server bug

dmh@goanna.oz.au (Darren Hosking) (04/11/90)

Running the ULE (Utah raster toolkit) image display program getX11 causes
the following error and subsequent server crash on a Sun 3 (OS 3.5):

sunCG4CUpdateColormap: Invalid argument

Fatal server bug!
sunCG4CUpdateColormap: FBIOPUTCMAP failed

We are running X11R4 with fixes 1 to 9. Does anyone have any idea of what
the problem (and solution) is?

	Thanks in advance, dmh

Darren Hosking				ACSnet: dmh@goanna.oz	 
Department Of Computer Science		ARPA:   dmh%goanna.oz.au@uunet.uu.net
RMIT					CSNET:  dmh%goanna.oz.au@australia
GPO Box 2476V				UUCP:   ...!uunet!goanna.oz.au!dmh
Melbourne Vic., Australia 3001

dana@dino.bellcore.com (Dana A. Chee) (04/12/90)

In article <3078@goanna.oz.au>, dmh@goanna.oz.au (Darren Hosking) writes:
|> Running the ULE (Utah raster toolkit) image display program getX11 causes
|> the following error and subsequent server crash on a Sun 3 (OS 3.5):
|> 
|> sunCG4CUpdateColormap: Invalid argument
|> 
|> Fatal server bug!
|> sunCG4CUpdateColormap: FBIOPUTCMAP failed
|> 
|> We are running X11R4 with fixes 1 to 9. Does anyone have any idea of what
|> the problem (and solution) is?
|> 
|> 	Thanks in advance, dmh
|> 
|> Darren Hosking				ACSnet: dmh@goanna.oz	 
|> Department Of Computer Science		ARPA:   dmh%goanna.oz.au@uunet.uu.net
|> RMIT					CSNET:  dmh%goanna.oz.au@australia
|> GPO Box 2476V				UUCP:   ...!uunet!goanna.oz.au!dmh
|> Melbourne Vic., Australia 3001

I know the cure, but not the complete disease.  The problems are many,
but here's a brief description:

1) getX11 is a very naughty boy trying to install its own colormap
without setting the window resource and letting the window manager do
it.

2) more important, getX11 creates a colormap, puts absolutely nothing
in it, and then installs it.  No telling what the server receives but
it makes it REALLY unhappy.  Below is the code:

color_map = XCreateColormap (dpy, root_window, visual, AllocNone );
if (color_map == NULL) {
    fprintf (stderr, "Could not create color map for visual\n");
    exit (EXIT_STATUS_FAILURE);
    }

XInstallColormap (dpy, color_map);

3) The sun server advertises that it supports all sorts of visuals
that it doesn't have.  getX11 likes to chose DirectColor if it can
find it.  I have no idea (haven't had time to look) what effect
allocating a colormap under DirectColor has on a PseudoColor device.

Anyway, my fix was to nuke the CreateColormap/InstallColormap stuff
for now (this was for someone else, and he needed it to run NOW), set:
color_map = DefaultColormap (dpy, screen);
and run it as pseudocolor.  It would be nicer if it was really fixed
but that's enought to hold it for now.

+*************************************************************************+
*  Dana Chee				(201) 829-4488			  *
*  Bellcore								  *
*  Room 2Q-250								  *
*  445 South Street			ARPA: dana@bellcore.com		  *
*  Morristown,  NJ  07960-1910		UUCP: {gateways}!bellcore!dana	  *
+*************************************************************************+

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (04/13/90)

    2) more important, getX11 creates a colormap, puts absolutely nothing
    in it, and then installs it.  No telling what the server receives but
    it makes it REALLY unhappy.

The server receives a colormap with random rgb values, but is otherwise
reasonable.  My Sun 3/60 appears to be quite happy doing this under
SunOS 4.0.3, even using DirectColor.  There could well be a problem,
but a small test program known to fail would be helpful.

    3) The sun server advertises that it supports all sorts of visuals
    that it doesn't have.

No, what you mean is that it advertises all sorts of visuals that aren't
really directly supported by the hardware.  The server certainly supports
the visuals, and they are useful for debugging clients to ensure they
work for those visuals.