« Return to Thread: patch for crash in XFT_JHD_BRANCH

patch for crash in XFT_JHD_BRANCH

by Michael Teske :: Rate this Message:

Reply to Author | View in Thread

Hi!

 From time to time I got crashes of an XFT_JHD_BRANCH-emacs with
something like
*** glibc detected *** free(): invalid pointer: 0x0a23c190 ***

The important part of the stacktrace is this:
#15 0x417f0149 in abort () from /lib/tls/libc.so.6
#16 0x4182227a in __libc_message () from /lib/tls/libc.so.6
#17 0x41828abf in _int_free () from /lib/tls/libc.so.6
#18 0x41828e3a in free () from /lib/tls/libc.so.6
#19 0x0815b36b in overrun_check_free (block=0x8e08250) at alloc.c:724
#20 0x0815b6b9 in emacs_blocked_free (ptr=0x8e08250) at alloc.c:1196
#21 0x41828de5 in free () from /lib/tls/libc.so.6
#22 0x411aa244 in XftDrawDestroy () from /usr/X11R6/lib/libXft.so.2
#23 0x080e3a51 in clear_face_cache (clear_fonts_p=0) at xfaces.c:5389
#24 0x080a8b42 in redisplay_internal (preserve_echo_area=0) at xdisp.c:10


This small diff fixes it for me:

$ CVS_RSH=ssh cvs diff -c xfaces.c
[...]

diff -c -r1.316.2.2 xfaces.c
*** xfaces.c    6 Jun 2005 08:36:36 -0000       1.316.2.2
--- xfaces.c    21 Jul 2005 16:25:59 -0000
***************
*** 7177,7182 ****
--- 7177,7183 ----
       {
         bcopy (base_face, face, sizeof *face);
         face->gc = 0;
+       face->xft_draw = NULL;

         /* Don't try to free the colors copied bitwise from BASE_FACE.  */
         face->colors_copied_bitwise_p = 1;



face->colors_copied_bitwise_p = 1 is set where it crashes.

Greetings,
        Michael


_______________________________________________
Emacs-pretest-bug mailing list
Emacs-pretest-bug@...
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

 « Return to Thread: patch for crash in XFT_JHD_BRANCH