Subject: Re: bug#9904: 24.0.90; Crash in show_mouse_face

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Oct 2011 17:33:51 +0200

> From: Chong Yidong <[email-masked]>
> Cc: Johan Bockgård <[email-masked]>,  [email-masked]
> Date: Sat, 29 Oct 2011 23:08:33 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> Emacs segfaulted in show_mouse_face last week (revno 106154, I
> >> think). I have a core file.
> >
> > FWIW, I cannot find any change during the last 2 weeks that could
> > somehow be related.
> >
> > Where could this garbled "window" come from? some GC or
> > memory-allocation snafu?
> 
> Might the window assigned to dpyinfo->mouse_highlight->hlinfo have
> gotten garbage collected?  Does the GC mark that slot?  I can't find the
> place where it does so.

If the window was garbage collected, it was deleted first, right?  My
testing indicates that deleting a window calls clear_mouse_face
indirectly (because deleting a window from a frame runs
frame_up_to_date_hook for that frame, where we call
note_mouse_highlight.  So this ought to work OK, I think.

Maybe we should invalidate mouse_face_window inside
delete-window-internal, to make sure this window is no longer
referenced in dpyinfo->mouse_highlight->hlinfo?