Subject: bug#25156: 26.0.50; `describe-text-properties' hangs with 100% cpu usage when property is a char-table

From: Peter Wang <[email-masked]>
Date: Sat, 10 Dec 2016 23:03:07 +0800

A simplest test case is like:

(describe-property-list (list 'syntax-table lisp-mode-syntax-table))

evaluating this Elisp expression will hang with 100% CPU usage.

On Sat, Dec 10, 2016 at 10:22 PM, Eli Zaretskii <[email-masked]> wrote:

> > From: Peter Wang <[email-masked]>
> > Date: Sat, 10 Dec 2016 21:59:32 +0800
> >
> > I came across the problem when I was using `C-u C-x =' on a SLIME
> > presentation. After some debugging, I found out the cause of the
> > problem. Here is it:
> >
> > In a slime REPL buffer, when the evaluation result is rendered, SLIME
> > adds text properties using `slime-add-presentation-properties'. One
> > of the text properties is a syntax-table `slime-presentation-syntax-
> table'.
> >
> > `C-u C-x =' calls `(describe-char (point))', which in turn calls
> > `describe-text-properties', which hangs with 100% cpu usage.
> >
> > I think a possible fix could be done in `describe-property-list', adding
> > a case in cond to handle the type of syntax-table, something like:
>
> Thanks.  Could you perhaps prepare a small test case for this problem?
> It would help understanding the underlying problem, and possibly also
> serve as a beginning of a test for our test suite.
>