GNU bug report logs -
#21394
25.0.50; Segfault when displaying unprintable character in echo area while frames are being created
Previous Next
Reported by: Pip Cet <pipcet <at> gmail.com>
Date: Tue, 1 Sep 2015 16:45:02 UTC
Severity: normal
Tags: patch
Found in version 25.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #20 received at 21394 <at> debbugs.gnu.org (full text, mbox):
> Date: Tue, 1 Sep 2015 18:52:44 +0000
> From: Pip Cet <pipcet <at> gmail.com>
> Cc: 21394 <at> debbugs.gnu.org
>
> I see the problematic face always has face ID of 18, and the 'used'
> field is always 15 when the segfault strikes. So I guess the next
> step is to make the breakpoint in cache_face conditional on i being
> 18,
>
> i is used in two different ways in that function, as a face hash and as an
> index into faces_by_id. I assume you mean the latter?
Yes.
> and then see whether c->used is set to 19 during that call to
> cache_face. If it does, then a watchpoint (by location) on c->used
> should show which code makes the value smaller.
>
> So I wrote a perl script to set a watchpoint on c->used whenever we allocate a
> new face cache c in make_face_cache, and clear the watchpoint when we hit
> free_face_cache. Output attached, but do let me know what else you would like
> watched. I think that has all the information your approach would have given
> us.
Sounds like the face ID of 18 is "remembered" somewhere, and not
"forgotten" when the face cache is free'd?
This bug report was last modified 9 years and 320 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.