root@tosh:/usr/src# gdb /usr/lib/debug/usr/bin/gtk-window-decorator /var/crash/_usr_bin_gtk-window-decorator.1000.core
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/lib/debug/usr/bin/gtk-window-decorator...done.
warning: core file may not match specified executable file.
[New LWP 2493]
[New LWP 2495]
[New LWP 3025]
[New LWP 3024]
Core was generated by `/usr/bin/gtk-window-decorator'.
Program terminated with signal 11, Segmentation fault.
#0 get_button_position (d=<optimized out>, i=3, width=1366, height=768, x=0x7fffd04187b0, y=0x7fffd04187b4, w=0x7fffd04187b8, h=0x7fffd04187bc) at /build/buildd/compiz-0.9.5.0/gtk/window-decorator/cairo.c:832
832 /build/buildd/compiz-0.9.5.0/gtk/window-decorator/cairo.c: No such file or directory.
in /build/buildd/compiz-0.9.5.0/gtk/window-decorator/cairo.c
(gdb) backtrace full
#0 get_button_position (d=<optimized out>, i=3, width=1366, height=768, x=0x7fffd04187b0, y=0x7fffd04187b4, w=0x7fffd04187b8, h=0x7fffd04187bc) at /build/buildd/compiz-0.9.5.0/gtk/window-decorator/cairo.c:832
No locals.
#1 0x00007fffd0418858 in ?? ()
No symbol table info available.
#2 0x0000000000413d66 in position_action_menu (menu=0x2532000, x=0x7fffd0418858, y=0x7fffd041885c, push_in=0x2532158, user_data=0x24f14b0) at /build/buildd/compiz-0.9.5.0/gtk/window-decorator/actionmenu.c:44
win = 0x24f14b0
frame = 0x24f0930
d = <optimized out>
bx = 6
by = 0
width = 1366
height = 768
#3 0x00007fffd04187b8 in ?? ()
No symbol table info available.
#4 0x00007fffd04187bc in ?? ()
No symbol table info available.
#5 0x000000000250e860 in ?? ()
No symbol table info available.
#6 0x00000000025082e0 in ?? ()
No symbol table info available.
#7 0x0000000002532158 in ?? ()
No symbol table info available.
#8 0x0000000002532000 in ?? ()
No symbol table info available.
#9 0x00000000000001fd in ?? ()
No symbol table info available.
#10 0x000000000250e860 in ?? ()
No symbol table info available.
#11 0x0000000000000006 in ?? ()
No symbol table info available.
#12 0x0000030000000556 in ?? ()
No symbol table info available.
#13 0x0000000000000001 in ?? ()
No symbol table info available.
#14 0x0000000002532000 in ?? ()
No symbol table info available.
#15 0x0000000002532150 in ?? ()
No symbol table info available.
#16 0x00000000023f8000 in ?? ()
No symbol table info available.
#17 0x0000000000000001 in ?? ()
No symbol table info available.
#18 0x0000000000000001 in ?? ()
No symbol table info available.
#19 0x0000000000413cb0 in ?? () at /build/buildd/compiz-0.9.5.0/gtk/window-decorator/actionmenu.c:28
Figuring out how to get a backtrace was a bit tricky, there should be a howto or somesuch .. https:/ /wiki.edubuntu. org/DebuggingPr ogramCrash is incomplete and lacks detail.
root@tosh:/usr/src# gdb /usr/lib/ debug/usr/ bin/gtk- window- decorator /var/crash/ _usr_bin_ gtk-window- decorator. 1000.core gnu.org/ licenses/ gpl.html> bugs.launchpad. net/gdb- linaro/>... debug/usr/ bin/gtk- window- decorator. ..done.
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://
Reading symbols from /usr/lib/
warning: core file may not match specified executable file. gtk-window- decorator' . buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ cairo.c: 832 buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ cairo.c: No such file or directory. buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ cairo.c buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ cairo.c: 832 action_ menu (menu=0x2532000, x=0x7fffd0418858, y=0x7fffd041885c, push_in=0x2532158, user_data= 0x24f14b0) at /build/ buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ actionmenu. c:44 buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ actionmenu. c:28
[New LWP 2493]
[New LWP 2495]
[New LWP 3025]
[New LWP 3024]
Core was generated by `/usr/bin/
Program terminated with signal 11, Segmentation fault.
#0 get_button_position (d=<optimized out>, i=3, width=1366, height=768, x=0x7fffd04187b0, y=0x7fffd04187b4, w=0x7fffd04187b8, h=0x7fffd04187bc) at /build/
832 /build/
in /build/
(gdb) backtrace full
#0 get_button_position (d=<optimized out>, i=3, width=1366, height=768, x=0x7fffd04187b0, y=0x7fffd04187b4, w=0x7fffd04187b8, h=0x7fffd04187bc) at /build/
No locals.
#1 0x00007fffd0418858 in ?? ()
No symbol table info available.
#2 0x0000000000413d66 in position_
win = 0x24f14b0
frame = 0x24f0930
d = <optimized out>
bx = 6
by = 0
width = 1366
height = 768
#3 0x00007fffd04187b8 in ?? ()
No symbol table info available.
#4 0x00007fffd04187bc in ?? ()
No symbol table info available.
#5 0x000000000250e860 in ?? ()
No symbol table info available.
#6 0x00000000025082e0 in ?? ()
No symbol table info available.
#7 0x0000000002532158 in ?? ()
No symbol table info available.
#8 0x0000000002532000 in ?? ()
No symbol table info available.
#9 0x00000000000001fd in ?? ()
No symbol table info available.
#10 0x000000000250e860 in ?? ()
No symbol table info available.
#11 0x0000000000000006 in ?? ()
No symbol table info available.
#12 0x0000030000000556 in ?? ()
No symbol table info available.
#13 0x0000000000000001 in ?? ()
No symbol table info available.
#14 0x0000000002532000 in ?? ()
No symbol table info available.
#15 0x0000000002532150 in ?? ()
No symbol table info available.
#16 0x00000000023f8000 in ?? ()
No symbol table info available.
#17 0x0000000000000001 in ?? ()
No symbol table info available.
#18 0x0000000000000001 in ?? ()
No symbol table info available.
#19 0x0000000000413cb0 in ?? () at /build/
##################
grep -n ^ /usr/src/ compiz- 0.9.5.0/ gtk/window- decorator/ cairo.c | head -n 850 | tail -n 50
809:gboolean button_ position (decor_t *d, >win_extents. left + 4; >titlebar_ height - 17) + d->frame- >win_extents. top + 2;
810:get_
811: gint i,
812: gint width,
813: gint height,
814: gint *x,
815: gint *y,
816: gint *w,
817: gint *h)
818:{
819: if (i > BUTTON_MENU)
820: return FALSE;
821:
822: if (d->frame_window)
823: {
824: *x = bpos[i].x + bpos[i].xw * width + d->frame-
825: *y = bpos[i].y + bpos[i].yh * height + bpos[i].yth *
826: (d->frame-
827: }
828: else
829: {
830: *x = bpos[i].x + bpos[i].xw * width;
#0 get_button_position (d=<optimized out>, i=3, width=1366, height=768, x=0x7fffd04187b0, y=0x7fffd04187b4, w=0x7fffd04187b8, h=0x7fffd04187bc) buildd/ compiz- 0.9.5.0/ gtk/window- decorator/ cairo.c: 832
at /build/
831: *y = bpos[i].y + bpos[i].yh * height + bpos[i].yth * >titlebar_ height - 17); >titlebar_ height - 17);
832: (d->frame-
833: }
834:
835: *w = bpos[i].w + bpos[i].ww * width;
836: *h = bpos[i].h + bpos[i].hh * height + bpos[i].hth +
837: (d->frame-
838:
839: /* hack to position multiple buttons on the right */
840: if (i != BUTTON_MENU)
841: *x -= 10 + 16 * i;
842:
843: return TRUE;
844:}