On Sat, Aug 06, 2005 at 12:30:43PM +0200, T. Baumann wrote: > Hi Dominik, > > the output of gdb is attached. fvwm crashes regardless whether a > local .fvwm2rc is present or not.
Yes, the crash happens before the config file is even touched. > I hope you can make use of this information. Unfortunately not much. > I can do further debugging if I you can provide instructions or > variable to look at. Okay, please do this: (gdb) b __style_command (gdb) run -d <display> -f /dev/null Upon hitting the breakpoint the first time: (gdb) next Repeat "next" a couple of times until the ps variable gets a value: (gdb) display ps (gdb) display ps->id (gdb) next Now hold down <return> to repeat the "next" until fvwm crashes. Then repeat the next two commands until you can not go further up on the stack: (gdb) info local (gdb) up I need all the generated output (preferrably compressed with "bzip2 -9"). > > On Sun, Jul 31, 2005 at 06:23:34PM +0200, T. Baumann wrote: > > > Hi there, > > > > > > System is SUSE 9.3 > > > > > > Problem: fvwm (cvs) from 2005-07-28 segfaults on startup -- 2.5.10 is > > > fine > > > > > > (gdb) run > > > Starting program: /usr/bin/fvwm -d 0:0 > > > > > > Program received signal SIGSEGV, Segmentation fault. > > > 0x402f8348 in strcmp () from /lib/tls/libc.so.6 > > > (gdb) bt > > > #0 0x402f8348 in strcmp () from /lib/tls/libc.so.6 > > > #1 0x0805a6c5 in style_ids_are_equals (a={name = 0x1 <Address 0x1 out > > > of bounds>, window_id = 0, flags = {has_name = 1, has_window_id = 0}}, > > > b= {name = 0x810bde0 "*", window_id = 0, flags = {has_name = 1, > > > has_window_id = 0}}) at style.c:141 > > > #2 0x08061660 in __style_command > > > (cond_rc=<value optimized out>, exc=0x811f670, action=<value optimized > > > out>, prefix=0x0, is_window_style=0) at style.c:4126 > > > #3 0x08061843 in CMD_Style (cond_rc=0x810bde0, exc=0x810bde0, action=0x1 > > > <Address 0x1 out of bounds>) at style.c:5032 > > > #4 0x080a89d3 in __execute_function (cond_rc=0x0, exc=0x811d230, > > > action=<value optimized out>, exec_flags=0 '\0', args=0x0) at > > > functions.c:630 > > > > > #5 0x080a92c2 in execute_function (cond_rc=0x810bde0, exc=0x810bde0, > > > action=0x1 <Address 0x1 out of bounds>, exec_flags=0 '\0') at > > > functions.c:1247 > > > > I don't know what's happening. The "action" variable is screwed, > > but I don't see in the code how this can happen. > > > > If you know how to use gdb, could you debug this problem? It's a > > bit tricky to debug a window manager. One way is this: q> > > > * Modify your ~/.xinitrc and replace the call to fvwm with > > "sleep 10000". > > > > * Start the X server. It should hang in the sleep with an empty > > desktop. > > > > * Switch back to the text console. > > > > * Run gdb with > > > > $ gdb fvwm > > > > * Put a breakpoint in the function SetRCDefaults (the one from #5 > > above). > > > > * Run fvwm with the command from your .xinitrc or just "fvwm": > > > > (gdb) run fvwm <options> > > > > * Single step through the code from gdb and watch the action > > variable. When/why does it get the bogus value? > > > > (If you prefer a graphical debugger, you can start a second X > > server and start fvwm on that on with "fvwm -d <display>"). > > > > > #6 0x0808e082 in main (argc=3, argv=0xbfffefc4) at fvwm.c:1405 > > > > > > Ciao > > > > Dominik ^_^ ^_^ > > > > -- > > Dominik Vogt, [EMAIL PROTECTED] Ciao Dominik ^_^ ^_^ -- Dominik Vogt, [EMAIL PROTECTED]
signature.asc
Description: Digital signature