[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20890: master 1233bcb: Work around GC+Cairo bug
From: |
Eli Zaretskii |
Subject: |
bug#20890: master 1233bcb: Work around GC+Cairo bug |
Date: |
Wed, 04 Apr 2018 12:08:26 +0300 |
> From: Robert Pluim <rpluim@gmail.com>
> Cc: eggert@cs.ucla.edu, 20890@debbugs.gnu.org
> Date: Wed, 04 Apr 2018 10:52:42 +0200
>
> > Sorry, I don't understand: are you saying that you still get crashes
> > inside ftfont_close, after the above commit? If so, can you please
> > show the backtrace?
>
> Yes.
>
> > (Let's please continue discussing this in the bug report, not here.)
>
> Moved there. Backtrace:
>
> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff1f87c68 in FT_List_Find () from
> /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> (gdb) bt
> #0 0x00007ffff1f87c68 in FT_List_Find () from
> /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> #1 0x00007ffff1f87ecf in FT_Done_Size () from
> /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> #2 0x00000000005d5484 in ftcrfont_close (font=0x35fdf60) at ftcrfont.c:176
> #3 0x00000000005502db in cleanup_vector (vector=vector@entry=0x35fdf60) at
> alloc.c:3194
This is not in ftfont_close, this is in ftcrfont_close.
If you can tell why FT_List_Find crashes, in terms of Emacs variables
and data structures, maybe we can figure out what is going on here.
But in any case, I think we should put the same workaround in
ftcrfont_close as we did in ftfont_close, because the former calls the
latter, and we then risk the situation where we only half-close the
font when ftcrfont_close is called from GC.
Thanks.