Subject: Re: bug#43700: 28.0.50; Crash creating a second frame

From: Eli Zaretskii <[email-masked]>
Date: Sat, 03 Oct 2020 17:02:47 +0300

> Cc: [email-masked]
> From: Andy Moreton <[email-masked]>
> Date: Sat, 3 Oct 2020 14:40:47 +0100
> 
> No - watchpoints seem to be completely broken in this build of gdb: 
> hardware watchpoints don't work, and if software watchpoints work then I 
> do not have the patience to wait for hours for them to fire.

Strange.  I see no reports of this problem on the Internet.  What
version of GDB is that?  Maybe try to downgrade to a previous one?

> > Another possibility is that the face cache gets reset not for the new
> > frame being created, but for the other frame.  You can tell by
> > comparing the value of 'f' at the point where init_frame_faces is
> > called and at the segfault point.  If this is what happens, then we
> > will need a slightly more sophisticated method of setting the
> > watchpoint.
> 
> True, but not much use without working watchpoints.

Does it help to set a breakpoint in free_realized_faces instead?  Also
in uncache_face, here:

  if (face->id == c->used)
    --c->used;

The last one could be conditioned on c->used == 1 (before the
decrement).