Subject: Re: bug#29843: 25.3; Emacs crash when running emacsclient

From: Eli Zaretskii <[email-masked]>
Date: Mon, 25 Dec 2017 20:50:01 +0200

> From: Mike Kupfer <[email-masked]>
> cc: [email-masked]
> Date: Mon, 25 Dec 2017 10:22:16 -0800
> 
> >   static void
> >   reconsider_clip_changes (struct window *w)
> >   {
> >     struct buffer *b = XBUFFER (w->contents);
> > 
> >     if (b->clip_changed
> > 	&& w->window_end_valid
> > 	&& w->current_matrix->buffer == b
> > 	&& w->current_matrix->zv == BUF_ZV (b)
> > 	&& w->current_matrix->begv == BUF_BEGV (b))   <<<<<<<<<<<<<<<<<<
> >       b->clip_changed = false;
> > 
> > So either w or b is a NULL or garbled pointer.  Can you tell which
> > one?  (Let me know if you need help with GDB commands to do that.)
> 
> Hmm, I'm guessing that b is null.  w->contents is zero

Zero means w->contents is nil, which means this window is not a live
window.  But I don't understand how that could happen, since that's
supposed to be the selected window.

Did Emacs do something in the background when this happened?  Some
timer or perhaps some process filter or sentinel?  Or maybe some hook
that runs when a client frame opens?  Otherwise I don't understand how
come that window got deleted.