I was told a good while ago to build a debugging form of X and look for
something in /var/crash, but I have not been able get anything there.
I do get a kate crashing message off of stderr after dropping out of X.
I built a debugging scrotwm.
I get the following:
$ gdb /usr/local/bin/scrotwm scrotwm.core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.7"...
Core was generated by `scrotwm'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libutil.so.11.0...done.
Loaded symbols for /usr/lib/libutil.so.11.0
Reading symbols from /usr/X11R6/lib/libX11.so.12.0...done.
Loaded symbols for /usr/X11R6/lib/libX11.so.12.0
Reading symbols from /usr/X11R6/lib/libXrandr.so.6.1...done.
Loaded symbols for /usr/X11R6/lib/libXrandr.so.6.1
Reading symbols from /usr/lib/libc.so.53.1...done.
Loaded symbols for /usr/lib/libc.so.53.1
Reading symbols from /usr/X11R6/lib/libxcb.so.2.0...done.
Loaded symbols for /usr/X11R6/lib/libxcb.so.2.0
Reading symbols from /usr/X11R6/lib/libpthread-stubs.so.0.0...done.
Loaded symbols for /usr/X11R6/lib/libpthread-stubs.so.0.0
Reading symbols from /usr/X11R6/lib/libXau.so.9.0...done.
Loaded symbols for /usr/X11R6/lib/libXau.so.9.0
Reading symbols from /usr/X11R6/lib/libXdmcp.so.10.0...done.
Loaded symbols for /usr/X11R6/lib/libXdmcp.so.10.0
Reading symbols from /usr/X11R6/lib/libXext.so.10.0...done.
Loaded symbols for /usr/X11R6/lib/libXext.so.10.0
Reading symbols from /usr/X11R6/lib/libXrender.so.5.0...done.
Loaded symbols for /usr/X11R6/lib/libXrender.so.5.0
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
#0 0x1c00792f in manage_window (id=27263050) at scrotwm.c:3661
3661 ws = r->ws;
(gdb) bt
#0 0x1c00792f in manage_window (id=27263050) at scrotwm.c:3661
#1 0x1c008353 in maprequest (e=0xcfbd7628) at scrotwm.c:4183
#2 0x1c009535 in main (argc=1, argv=0x909093a) at scrotwm.c:4675
(gdb) bt full
#0 0x1c00792f in manage_window (id=27263050) at scrotwm.c:3661
trans = 0
ws = (struct workspace *) 0x1df5
win = (struct ws_win *) 0x84524600
ww = (struct ws_win *) 0x909093a
format = 502601729
i = -809667032
ws_idx = 151587130
n = 0
border_me = 0
nitems = 0
bytes = 142
ws_idx_atom = 240
type = 82432323
prot = (Atom *) 0x0
pp = (Atom *) 0x0
ws_idx_str = "\000\b[\202¸u½Ïxt½ÏÛk\215\r"
prop = (unsigned char *) 0x0
r = (struct swm_region *) 0x909093a
mask = -809667600
errstr = 0xcfbd7490 "@\002"
wc = {x = 15466941, y = 0, width = 0, height = 0, border_width =
-2107963392, sibling = 2151493632,
stack_mode = -809667480}
#1 0x1c008353 in maprequest (e=0xcfbd7628) at scrotwm.c:4183
win = (struct ws_win *) 0xcfbd7628
r = (struct swm_region *) 0x909093a
wa = {x = 576, y = 307, width = 445, height = 236, border_width
= 0, depth = 24, visual = 0x89610000, root = 142,
class = 1, bit_gravity = 1, win_gravity = 1, backing_store = 0,
backing_planes = 4294967295, backing_pixel = 0,
save_under = 0, colormap = 32, map_installed = 1, map_state = 0,
all_event_masks = 6479999, your_event_mask = 0,
do_not_propagate_mask = 0, override_redirect = 0, screen = 0x80686800}
#2 0x1c009535 in main (argc=1, argv=0x909093a) at scrotwm.c:4675
pwd = (struct passwd *) 0xcfbd7628
r = (struct swm_region *) 0xcfbd75b8
rr = (struct swm_region *) 0xcfbd75b8
winfocus = (struct ws_win *) 0x0
tv = {tv_sec = 1, tv_usec = 0}
a = {id = 524306, argv = 0x80012}
conf =
"/etc/scrotwm.conf\000rotwm.conf\000\000\000\000-\t\000\000Ð\230\000\000Ò\000\000\000\022\000\b\000+\005\000\000\234i\000\0006\001\000\000\022\000\b\000/\000\000\000Ð$\000\000\000\000\000\000\022\000\006\000,\a\000\000ä\210\000\000ò\000\000\000\022\000\b\000w\006\000\000\000\000\000\000©\000\000\000\022\000\000\000\224\000\000\000\b*\000_<\000\000\000\022\000\b\000\020\v\000\000\235µ\n\t\022\000\000\000\021\000\000\000\200\004\000\000\000\000\000\000hD\000\000\000\000\000\000¬¯\n\tÜ¥\n_\224É\037\200´Aü\212\210w½Ï\235µ\n\t\022È\037\200\237Kú\003sM>\004\020\000\000\000"...
cfile = 0x0
sb = {st_dev = 0, st_ino = 764, st_mode = 33188, st_nlink = 1,
st_uid = 0, st_gid = 0, st_rdev = 10060,
st_lspare0 = 1, st_atim = {tv_sec = 1268139860, tv_nsec = 371376055},
st_mtim = {tv_sec = 1263296336,
tv_nsec = 669076438}, st_ctim = {tv_sec = 1263296336, tv_nsec =
669076438}, st_size = 3542, st_blocks = 8,
st_blksize = 16384, st_flags = 0, st_gen = 0, st_lspare1 = 1006641152,
__st_birthtim = {tv_sec = -641986784,
tv_nsec = -801691755}, st_qspare = {0, -2757311997642419140}}
e = {type = 20, xany = {type = 20, serial = 7667, send_event =
0, display = 0x825b0800, window = 142}, xkey = {
---Type <return> to continue, or q <return> to quit---
type = 20, serial = 7667, send_event = 0, display = 0x825b0800,
window = 142, root = 27263050, subwindow = 576,
time = 307, x = 445, y = 236, x_root = 0, y_root = 0, state = 0,
keycode = 12, same_screen = 1}, xbutton = {type = 20,
serial = 7667, send_event = 0, display = 0x825b0800, window = 142,
root = 27263050, subwindow = 576, time = 307,
x = 445, y = 236, x_root = 0, y_root = 0, state = 0, button = 12,
same_screen = 1}, xmotion = {type = 20,
serial = 7667, send_event = 0, display = 0x825b0800, window = 142,
root = 27263050, subwindow = 576, time = 307,
x = 445, y = 236, x_root = 0, y_root = 0, state = 0, is_hint = 12
'\f', same_screen = 1}, xcrossing = {type = 20,
serial = 7667, send_event = 0, display = 0x825b0800, window = 142,
root = 27263050, subwindow = 576, time = 307,
x = 445, y = 236, x_root = 0, y_root = 0, mode = 0, detail = 12,
same_screen = 1, focus = 0, state = 0}, xfocus = {
type = 20, serial = 7667, send_event = 0, display = 0x825b0800,
window = 142, mode = 27263050, detail = 576},
xexpose = {type = 20, serial = 7667, send_event = 0, display =
0x825b0800, window = 142, x = 27263050, y = 576,
width = 307, height = 445, count = 236}, xgraphicsexpose = {type =
20, serial = 7667, send_event = 0,
display = 0x825b0800, drawable = 142, x = 27263050, y = 576, width =
307, height = 445, count = 236, major_code = 0,
minor_code = 0}, xnoexpose = {type = 20, serial = 7667, send_event =
0, display = 0x825b0800, drawable = 142,
major_code = 27263050, minor_code = 576}, xvisibility = {type = 20,
serial = 7667, send_event = 0,
display = 0x825b0800, window = 142, state = 27263050}, xcreatewindow
= {type = 20, serial = 7667, send_event = 0,
display = 0x825b0800, parent = 142, window = 27263050, x = 576, y =
307, width = 445, height = 236, border_width = 0,
override_redirect = 0}, xdestroywindow = {type = 20, serial = 7667,
send_event = 0, display = 0x825b0800, event = 142,
window = 27263050}, xunmap = {type = 20, serial = 7667, send_event =
0, display = 0x825b0800, event = 142,
window = 27263050, from_configure = 576}, xmap = {type = 20, serial
= 7667, send_event = 0, display = 0x825b0800,
event = 142, window = 27263050, override_redirect = 576},
xmaprequest = {type = 20, serial = 7667, send_event = 0,
display = 0x825b0800, parent = 142, window = 27263050}, xreparent =
{type = 20, serial = 7667, send_event = 0,
display = 0x825b0800, event = 142, window = 27263050, parent = 576,
x = 307, y = 445, override_redirect = 236},
xconfigure = {type = 20, serial = 7667, send_event = 0, display =
0x825b0800, event = 142, window = 27263050, x = 576,
y = 307, width = 445, height = 236, border_width = 0, above = 0,
override_redirect = 0}, xgravity = {type = 20,
serial = 7667, send_event = 0, display = 0x825b0800, event = 142,
window = 27263050, x = 576, y = 307},
xresizerequest = {type = 20, serial = 7667, send_event = 0, display =
0x825b0800, window = 142, width = 27263050,
height = 576}, xconfigurerequest = {type = 20, serial = 7667,
send_event = 0, display = 0x825b0800, parent = 142,
window = 27263050, x = 576, y = 307, width = 445, height = 236,
border_width = 0, above = 0, detail = 0,
value_mask = 12}, xcirculate = {type = 20, serial = 7667, send_event
= 0, display = 0x825b0800, event = 142,
window = 27263050, place = 576}, xcirculaterequest = {type = 20,
serial = 7667, send_event = 0, display = 0x825b0800,
parent = 142, window = 27263050, place = 576}, xproperty = {type =
20, serial = 7667, send_event = 0,
display = 0x825b0800, window = 142, atom = 27263050, time = 576,
state = 307}, xselectionclear = {type = 20,
serial = 7667, send_event = 0, display = 0x825b0800, window = 142,
selection = 27263050, time = 576},
xselectionrequest = {type = 20, serial = 7667, send_event = 0, display
= 0x825b0800, owner = 142, requestor = 27263050,
selection = 576, target = 307, property = 445, time = 236},
xselection = {type = 20, serial = 7667, send_event = 0,
display = 0x825b0800, requestor = 142, selection = 27263050, target
= 576, property = 307, time = 445}, xcolormap = {
type = 20, serial = 7667, send_event = 0, display = 0x825b0800,
window = 142, colormap = 27263050, new = 576,
state = 307}, xclient = {type = 20, serial = 7667, send_event = 0,
display = 0x825b0800, window = 142,
message_type = 27263050, format = 576, data = {
b =
"3\001\000\000½\001\000\000ì\000\000\000\000\000\000\000\000\000\000", s
= {307, 0, 445, 0, 236, 0, 0, 0, 0, 0},
l = {307, 445, 236, 0, 0}}}, xmapping = {type = 20, serial = 7667,
send_event = 0, display = 0x825b0800,
window = 142, request = 27263050, first_keycode = 576, count = 307},
xerror = {type = 20, display = 0x1df3,
resourceid = 0, serial = 2187003904, error_code = 142 '\216',
request_code = 0 '\0', minor_code = 0 '\0'}, xkeymap = {
type = 20, serial = 7667, send_event = 0, display = 0x825b0800,
window = 142,
key_vector = "J\000 \...@\002\000\0003\001\000\000½\001\000\000ì",
'\0' <repeats 14 times>}, pad = {20, 7667, 0,
-2107963392, 142, 27263050, 576, 307, 445, 236, 0, 0, 0, 12, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0}}
xfd = 3
i = 3
rd = {fds_bits = {8, 0 <repeats 31 times>}}
(gdb) quit
Does this information provide anything useful?
Thanks
Chris Bennett
--
A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects.
-- Robert Heinlein