GNOME Bugzilla – Bug 88015
Sawfish crashes shortly after changing the font
Last modified: 2009-08-16 15:13:28 UTC
Hi, I'm opening a new bug report related to a sawfish crash. http://bugs.debian.org/152530 Here is a backtrace and a valgrind output : Program received signal SIGSEGV, Segmentation fault. 0x403399e0 in free () from /lib/libc.so.6 (gdb) bt
+ Trace 24981
Also, here is the output from valgrind: Script started on Fri Jul 12 11:36:49 2002 everest:~>valgrind sawfish ==1597== valgrind-1.0pre2, a memory error detector for x86 GNU/Linux. ==1597== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==1597== Estimated CPU clock rate is 2014 MHz ==1597== For more details, rerun with: -v ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x405668D0: (within /lib/libc-2.2.5.so) ==1597== by 0x434105F2: (within /lib/libnss_files-2.2.5.so) ==1597== by 0x405D00EB: (within /lib/libc-2.2.5.so) ==1597== by 0x405CFAC9: (within /lib/libc-2.2.5.so) ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x40275B05: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027748A: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4025AFD9: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4025F74B: (within /usr/lib/librep.so.9.3.0) ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x40275B05: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027748A: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40264E97: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40264F67: (within /usr/lib/librep.so.9.3.0) ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x40275B05: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027748A: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4025A471: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4025A9BA: (within /usr/lib/librep.so.9.3.0) ==1597== ==1597== Syscall param writev(vector[...]) contains uninitialised or unaddressable byte(s) ==1597== at 0x405BB037: (within /lib/libc-2.2.5.so) ==1597== by 0x404433C3: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40443EDB: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40429741: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== Address 0x430F301D is 901 bytes inside a block of size 2048 alloc'd ==1597== at 0x4004404F: calloc (vg_clientfuncs.c:221) ==1597== by 0x4041C236: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x8054B9C: (within /usr/bin/sawfish) ==1597== by 0x8064411: (within /usr/bin/sawfish) ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x40275B05: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027748A: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40265DB1: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027A06E: (within /usr/lib/librep.so.9.3.0) ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x40275B05: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027748A: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40264CAA: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) [ sawfish now loaded ] ==1597== ==1597== Conditional jump or move depends on uninitialised value(s) ==1597== at 0x40275B05: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x4027748A: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40264E97: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) [ configurator loaded ] [ Browse clicked ] ==1597== ==1597== Invalid read of size 1 ==1597== at 0x4043F31B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x404845AD: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid free() / delete / delete[] ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x8057DB8: (within /usr/bin/sawfish) ==1597== by 0x8057E3F: (within /usr/bin/sawfish) ==1597== by 0x8058093: (within /usr/bin/sawfish) ==1597== by 0x8057852: (within /usr/bin/sawfish) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x8057DB8: (within /usr/bin/sawfish) ==1597== by 0x8057E50: (within /usr/bin/sawfish) ==1597== by 0x8058093: (within /usr/bin/sawfish) ==1597== by 0x8057852: (within /usr/bin/sawfish) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x8057DB8: (within /usr/bin/sawfish) ==1597== by 0x8057E64: (within /usr/bin/sawfish) ==1597== by 0x8058093: (within /usr/bin/sawfish) ==1597== by 0x8057852: (within /usr/bin/sawfish) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x8057EF8: (within /usr/bin/sawfish) ==1597== by 0x8058093: (within /usr/bin/sawfish) ==1597== by 0x8057852: (within /usr/bin/sawfish) ==1597== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x4053CF0E: (within /lib/libc-2.2.5.so) ==1597== by 0x405587FA: (within /lib/libc-2.2.5.so) ==1597== by 0x40544371: (within /lib/libc-2.2.5.so) ==1597== by 0x8057F5B: (within /usr/bin/sawfish) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x4043F415: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x404845AD: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== Address 0x43D6B57F is 1 bytes before a block of size 61 alloc'd ==1597== at 0x40043BDB: malloc (vg_clientfuncs.c:100) ==1597== by 0x4043F38C: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==1597== by 0x8057801: (within /usr/bin/sawfish) ==1597== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid read of size 1 ==1597== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==1597== by 0x8057801: (within /usr/bin/sawfish) ==1597== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==1597== ==1597== Invalid free() / delete / delete[] ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x4027640D: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x402774A9: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40265DB1: (within /usr/lib/librep.so.9.3.0) ==1597== Address 0x43182C20 is 0 bytes inside a block of size 1 free'd ==1597== at 0x40043E72: free (vg_clientfuncs.c:171) ==1597== by 0x4027640D: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x402774A9: (within /usr/lib/librep.so.9.3.0) ==1597== by 0x40265DB1: (within /usr/lib/librep.so.9.3.0) [ OK in font box clicked ] [ configurator closed ]
Thanks. That's a great bug report. This patch fixes some of the librep errors, but not the ones causing the crash probably: --- tuples.c 11 Jul 2000 12:46:32 -0000 1.2 +++ tuples.c 12 Jul 2002 18:04:51 -0000 @@ -51,8 +51,12 @@ rep_make_tuple (repv car, repv a, repv b sb->next = tuple_block_chain; tuple_block_chain = sb; for (i = 0; i < (rep_TUPLEBLK_SIZE - 1); i++) + { sb->tuples[i].a = rep_VAL (&sb->tuples[i + 1]); + sb->tuples[i].car = 0; + } sb->tuples[i].a = rep_VAL (tuple_freelist); + sb->tuples[i].car = 0; tuple_freelist = sb->tuples; } else However, I can't reproduce the double free here. Presumably this is a debian system. Is it i386? If so is there a set of packages I can install to replicate the environment (I currently have the "testing" distribution installed)
OK, I've recompiled it and now some of the errors at the start have gone away. Also, it didn't crash this time (although that was a bit intermittent anyway). Selecting a font still doesn't actually change the font, though! The font list shows the XFt fonts, but the window title bars are rendered with an old-style blocky font. > valgrind sawfish ==30116== valgrind-1.0pre2, a memory error detector for x86 GNU/Linux. ==30116== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==30116== Estimated CPU clock rate is 2002 MHz ==30116== For more details, rerun with: -v ==30116== ==30116== Conditional jump or move depends on uninitialised value(s) ==30116== at 0x405668D0: (within /lib/libc-2.2.5.so) ==30116== by 0x434105F2: (within /lib/libnss_files-2.2.5.so) ==30116== by 0x405D00EB: (within /lib/libc-2.2.5.so) ==30116== by 0x405CFAC9: (within /lib/libc-2.2.5.so) ==30116== ==30116== Syscall param writev(vector[...]) contains uninitialised or unaddressable byte(s) ==30116== at 0x405BB037: (within /lib/libc-2.2.5.so) ==30116== by 0x404433C3: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40443EDB: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40429741: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== Address 0x430F313A is 1166 bytes inside a block of size 2048 alloc'd ==30116== at 0x4004404F: calloc (vg_clientfuncs.c:221) ==30116== by 0x4041C236: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x8054B9C: (within /usr/bin/sawfish) ==30116== by 0x8064411: (within /usr/bin/sawfish) [ sawfish started ] [ configurator loaded ] [ Browse clicked ] ==30116== ==30116== Invalid read of size 1 ==30116== at 0x4043F31B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x404845AD: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid free() / delete / delete[] ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x8057DB8: (within /usr/bin/sawfish) ==30116== by 0x8057E3F: (within /usr/bin/sawfish) ==30116== by 0x8058093: (within /usr/bin/sawfish) ==30116== by 0x8057852: (within /usr/bin/sawfish) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x8057DB8: (within /usr/bin/sawfish) ==30116== by 0x8057E50: (within /usr/bin/sawfish) ==30116== by 0x8058093: (within /usr/bin/sawfish) ==30116== by 0x8057852: (within /usr/bin/sawfish) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x8057DB8: (within /usr/bin/sawfish) ==30116== by 0x8057E64: (within /usr/bin/sawfish) ==30116== by 0x8058093: (within /usr/bin/sawfish) ==30116== by 0x8057852: (within /usr/bin/sawfish) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x8057EF8: (within /usr/bin/sawfish) ==30116== by 0x8058093: (within /usr/bin/sawfish) ==30116== by 0x8057852: (within /usr/bin/sawfish) ==30116== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x4053CF0E: (within /lib/libc-2.2.5.so) ==30116== by 0x405587FA: (within /lib/libc-2.2.5.so) ==30116== by 0x40544371: (within /lib/libc-2.2.5.so) ==30116== by 0x8057F5B: (within /usr/bin/sawfish) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x4043F415: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x404845AD: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== Address 0x43D4C01B is 1 bytes before a block of size 61 alloc'd ==30116== at 0x40043BDB: malloc (vg_clientfuncs.c:100) ==30116== by 0x4043F38C: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==30116== by 0x8057801: (within /usr/bin/sawfish) ==30116== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==30116== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==30116== by 0x8057801: (within /usr/bin/sawfish) ==30116== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==30116== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) ==30116== Address 0x43103A4C is 0 bytes inside a block of size 1 free'd ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==30116== ==30116== Invalid read of size 1 ==30116== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==30116== by 0x8057801: (within /usr/bin/sawfish) ==30116== by 0x40261FC5: (within /usr/lib/librep.so.9.3.0) ==30116== by 0x402623A9: (within /usr/lib/librep.so.9.3.0) ==30116== Address 0x43103A4C is not stack'd, malloc'd or free'd ==30116== ==30116== Invalid free() / delete / delete[] ==30116== at 0x40043E72: free (vg_clientfuncs.c:171) ==30116== by 0x4027642D: (within /usr/lib/librep.so.9.3.0) ==30116== by 0x402774C9: (within /usr/lib/librep.so.9.3.0) ==30116== by 0x40265DB1: (within /usr/lib/librep.so.9.3.0) ==30116== Address 0x43103A4C is not stack'd, malloc'd or free'd [ OK in font box clicked ] [ configurator closed ]
Bug 86107 and duplicates cover not being able to set a font. I'm interested in fixing some of the valgrind errors. Could you recompile sawfish and librep with debugging symbols and run it again?
everest:~>valgrind sawfish ==25129== valgrind-1.0pre2, a memory error detector for x86 GNU/Linux. ==25129== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==25129== Estimated CPU clock rate is 2002 MHz ==25129== For more details, rerun with: -v ==25129== ==25129== Conditional jump or move depends on uninitialised value(s) ==25129== at 0x405668D0: (within /lib/libc-2.2.5.so) ==25129== by 0x434105F2: (within /lib/libnss_files-2.2.5.so) ==25129== by 0x405D00EB: (within /lib/libc-2.2.5.so) ==25129== by 0x405CFAC9: (within /lib/libc-2.2.5.so) ==25129== ==25129== Syscall param writev(vector[...]) contains uninitialised or unaddressable byte(s) ==25129== at 0x405BB037: (within /lib/libc-2.2.5.so) ==25129== by 0x404433C3: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40443EDB: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40429741: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== Address 0x430F314E is 1166 bytes inside a block of size 2048 alloc'd ==25129== at 0x4004404F: calloc (vg_clientfuncs.c:221) ==25129== by 0x4041C236: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x8054B9C: sys_init (display.c:320) ==25129== by 0x8064411: main (main.c:397) [ configurator loaded ] [ Browse clicked ] ==25129== ==25129== Invalid read of size 1 ==25129== at 0x4043F31B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x404845AD: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid free() / delete / delete[] ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x8057DB8: xlfd_get_element (fonts.c:306) ==25129== by 0x8057E3F: generalize_xlfd (fonts.c:330) ==25129== by 0x8058093: x_create_font_set (fonts.c:411) ==25129== by 0x8057852: Fget_font (fonts.c:83) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x8057DB8: xlfd_get_element (fonts.c:306) ==25129== by 0x8057E50: generalize_xlfd (fonts.c:331) ==25129== by 0x8058093: x_create_font_set (fonts.c:411) ==25129== by 0x8057852: Fget_font (fonts.c:83) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x8057DB8: xlfd_get_element (fonts.c:306) ==25129== by 0x8057E64: generalize_xlfd (fonts.c:332) ==25129== by 0x8058093: x_create_font_set (fonts.c:411) ==25129== by 0x8057852: Fget_font (fonts.c:83) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x8057EF8: generalize_xlfd (fonts.c:347) ==25129== by 0x8058093: x_create_font_set (fonts.c:411) ==25129== by 0x8057852: Fget_font (fonts.c:83) ==25129== by 0x40261FC5: ??? (lispmach.h:637) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x4053CF0E: (within /lib/libc-2.2.5.so) ==25129== by 0x405587FA: (within /lib/libc-2.2.5.so) ==25129== by 0x40544371: (within /lib/libc-2.2.5.so) ==25129== by 0x8057F5B: generalize_xlfd (fonts.c:356) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x4043F415: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x404845AD: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== Address 0x431A6057 is 1 bytes before a block of size 61 alloc'd ==25129== at 0x40043BDB: malloc (vg_clientfuncs.c:100) ==25129== by 0x4043F38C: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40483B5B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048415B: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==25129== by 0x8057801: Fget_font (fonts.c:69) ==25129== by 0x40261FC5: ??? (lispmach.h:637) ==25129== by 0x402623A9: ??? (lispmach.h:500) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==25129== by 0x8057801: Fget_font (fonts.c:69) ==25129== by 0x40261FC5: ??? (lispmach.h:637) ==25129== by 0x402623A9: ??? (lispmach.h:500) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid read of size 1 ==25129== at 0x400444BA: strcmp (vg_clientfuncs.c:424) ==25129== by 0x8057801: Fget_font (fonts.c:69) ==25129== by 0x40261FC5: ??? (lispmach.h:637) ==25129== by 0x402623A9: ??? (lispmach.h:500) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x404843D9: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x4048460A: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== by 0x40440125: (within /usr/X11R6/lib/libX11.so.6.2) ==25129== ==25129== Invalid free() / delete / delete[] ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x4027642D: ??? (values.c:362) ==25129== by 0x402774C9: Fgarbage_collect (values.c:1035) ==25129== by 0x40265DB1: rep_on_idle (main.c:359) ==25129== Address 0x430ABAC4 is 0 bytes inside a block of size 1 free'd ==25129== at 0x40043E72: free (vg_clientfuncs.c:171) ==25129== by 0x4027642D: ??? (values.c:362) ==25129== by 0x402774C9: Fgarbage_collect (values.c:1035) ==25129== by 0x40265DB1: rep_on_idle (main.c:359) [ font selected ] [ configurator closed ]
Thanks, unfortunately I have no idea how these errors could be caused.. Maybe some kind of garbage collection bug, I'm not sure..
this bug is fixed in 1.2