[comp.windows.x] Debugging an X server

victor@watson.ibm.com (Victor Miller) (05/15/91)

What are recommended ways to debug an X server?  There is a client
(info explorer on AIX 3.1 on the RS/6000) which always causes my X
server (an IBM rt/pc running BSD 4.3) to crash with a core dump.   The
same client also causes X servers on RS/6000's running Mach 2.5 to
freeze up.  To my way of thinking this is certainly a bug on the part
of the servers, but it would be neccessary to find out what sort of
trash this client is sending.
--
			Victor S. Miller
			Vnet and Bitnet:  VICTOR at WATSON
			Internet: victor@watson.ibm.com
			IBM, TJ Watson Research Center

tomt@maui.coral.COM (Tom Tulinsky) (05/16/91)

)
) 
) What are recommended ways to debug an X server?  There is a client
) (info explorer on AIX 3.1 on the RS/6000) which always causes my X
) server (an IBM rt/pc running BSD 4.3) to crash with a core dump.   The
) same client also causes X servers on RS/6000's running Mach 2.5 to
) freeze up.  To my way of thinking this is certainly a bug on the part
) of the servers, but it would be neccessary to find out what sort of
) trash this client is sending.
) --

To find out what is being sent to the server use 'xscope' (from the
contrib/clients dir).  It dumps out all traffic between X and the
client.  The documentation is a little confusing; to do everything on
one workstation, called 'myws', do:
    xscope -i1 -v2 > file        (create virtual display myws:1)
in another window:
    anyxclient -display myws:1.0 

It's quite possible that the bug will be fixed in the next patch of
X; that was what I found when this happened to me.


 Coral
     * **	Tom Tulinsky                508 460-6010
  *  **		Coral Network Corporation   fax 508 481-6258
*  ** 		734 Forest St               net: tomt@coral.com
 ***		   Marlboro, MA 01752		
  **		   U S A
*********	   Overheard in a BART station:
NETWORKS	      "I was the only NORM there!"

geoff@ITcorp.com (Geoff Kuenning) (05/16/91)

In article <VICTOR.91May14174033@irt.watson.ibm.com> victor@watson.ibm.com writes:

> What are recommended ways to debug an X server?  There is a client
> (info explorer on AIX 3.1 on the RS/6000) which always causes my X
> server (an IBM rt/pc running BSD 4.3) to crash with a core dump.   The
> same client also causes X servers on RS/6000's running Mach 2.5 to
> freeze up.  To my way of thinking this is certainly a bug on the part
> of the servers, but it would be neccessary to find out what sort of
> trash this client is sending.

My preferred approach is to use dbx or gdb and a second terminal.
(You can't run a debugger via the server that is about to crash, for
what I hope are obvious reasons).  Depending on exactly how the server
goes about locating its display, you may have to hack the startup code
a bit or run it with some funny arguments.  For example, under AIX/PS2
I have to type "run </dev/hft/3 >/dev/hft/3 2>/dev/hft/3" after first
opening a dummy shell on /dev/hft/3.  You may also find dbx's "ignore"
command useful.  Once you have the server running, you can set
breakpoints and so forth quite normally.  Run your offending client,
then turn to your other terminal and step through the server to find
the bug.

Obviously, it's a Good Thing to have the two screens close to each
other.  When I port servers, I prefer to have the new screen and an
old one (or a dumb terminal) sitting next to each other on my desk.
-- 

	Geoff Kuenning	geoff@la.locus.com	geoff@ITcorp.com

andy@research.canon.oz.au (Andy Newman) (05/17/91)

I used two machines ... one running a stable X, the other running
my server under Saber C the display on the second machine. Works
like a charm.
-- 
Andy Newman (andy@research.canon.oz.au) Canon Info. Systems Research Australia