Subject: bug#12251: 24.2.50; crash in note_mouse_highlight

From: Eli Zaretskii <[email-masked]>
Date: Thu, 23 Aug 2012 21:43:20 +0300

> Date: Thu, 23 Aug 2012 19:19:03 +0200
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
>  >>  >> "#<window 139> is not a valid window"
>  >>
>  >> The above means that we've been running Lisp code on a dead window and
>  >> that call was rejected with an error by `window-normalize-window'.  If
>  >> this happens during a call from C, we have a problem.
>  >
>  > I don't think this error was thrown from C.
> 
> The error was obviously thrown from Lisp which per se is harmless.  But
> I'm quite convinced that it was thrown by a Lisp function directly or
> indirectly called from C.

Why do you think that?

>  > Most probably, it was
>  > thrown from Lisp, but since that unwinds the stack, there's no Lisp
>  > backtrace that could confirm that.
> 
> How could we explain a crash if it's all within Lisp code?

It's not within Lisp anymore; the error throws to top-level, and Emacs
tries to read input, at which time it gets a mouse event.

>  > I guess we need more checks in the mouse-highlight code, to account
>  > for such cases.
> 
> Is note_mouse_highlight all we have to look at?

Who knows?  But if there are more, we will get more crashes ;-)