Subject: Re: bug#10664: 24.0.93; JIT font-lock infloops in a C file

From: Alan Mackenzie <[email-masked]>
Date: Tue, 7 Feb 2012 19:20:33 +0000

Hi, Eli.

I've done a binary chop on this, and the following revision made this bug
apparent:

revno: 106729
committer: Alan Mackenzie <[email-masked]>
branch nick: trunk
timestamp: Sat 2011-12-24 19:32:31 +0000
message:
  Introduce a mechanism to widen the region used in context font locking.
  Use this to protect declarations from losing their contexts.

I'll see what I can work out from this.  At least it's one of mine.  ;-)

-- 
Alan Mackenzie (Nuremberg, Germany).

On Mon, Feb 06, 2012 at 07:04:17PM +0200, Eli Zaretskii wrote:
> > Date: Mon, 6 Feb 2012 11:09:57 +0000
> > Cc: [email-masked]
> > From: Alan Mackenzie <[email-masked]>

> > I got something similar for this socket.c.  I load it into emacs -Q, then
> > start scrolling downwards, a page at a time.  The first five scrolls are
> > fine.  Then it hangs on the sixth.

> > However, typing C-g (maybe twice) frees it up, and it does the scroll.
> > Careful perusal reveals that the fontification is incomplete.  From now
> > on, most key sequences must be followed by C-g to perform their commands.
> > ;-(.

> > Did you actually try C-g when your session hung?

> I'm quite sure I did.  But that was on Windows, where C-g is less
> powerful than on Posix platforms (since keyboard input is not
> interrupt driven).  So it could be that what you can interrupt on
> GNU/Linux, I cannot on Windows.

> > I was able to run elp on this, and I've a fairly good idea where it's got
> > stuck, but not yet why.

> Let me know if you need any further help.

> > > > I still have that session in a debugger, so if someone wants me to
> > > > look around and show some values, I can do that.

> > I'm not sure I'd be able to make much out of debugger results.  I'm not
> > familiar enough with the internals of Emacs.  :-(

> That's good, because I needed to kill that session in order to rebuild
> Emacs.

> > Can you restart this Emacs session?

> No, but I can start another and do the same (i.e. wait for it to hang
> in the same way).  The problem is reproducible in my configuration.
> But I think it would be better to wait for you to fix that problem you
> are zeroing in, and then see if it also fixes my hangs.

> Thanks.