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:

 * 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]

Attachment: signature.asc
Description: Digital signature

Reply via email to