GNU bug report logs - #52157
CC Mode 5.35.1 (Profiler-Report); Objective C support extremely slow

Previous Next

Package: cc-mode;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Sun, 28 Nov 2021 08:12:02 UTC

Severity: normal

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52157 in the body.
You can then email your comments to 52157 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-cc-mode <at> gnu.org:
bug#52157; Package cc-mode. (Sun, 28 Nov 2021 08:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Po Lu <luangruo <at> yahoo.com>:
New bug report received and forwarded. Copy sent to bug-cc-mode <at> gnu.org. (Sun, 28 Nov 2021 08:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: bug-gnu-emacs <at> gnu.org
Subject: CC Mode 5.35.1 (Profiler-Report); Objective C support extremely slow
Date: Sun, 28 Nov 2021 16:11:15 +0800
Package: cc-mode

Emacs  : GNU Emacs 29.0.50 (build 358, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.17.4)
 of 2021-11-28
Package: CC Mode 5.35.1 (Profiler-Report)
Buffer Style: nil
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

Open src/nsterm.m from Emacs master, and immediately go to line 603.

Once you try to move around after going to line 603, Emacs will lock up
and later become extremely slow.

current state:
==============
(setq
 c-basic-offset 'set-from-style
 c-comment-only-line-offset 'set-from-style
 c-indent-comment-alist 'set-from-style
 c-indent-comments-syntactically-p 'set-from-style
 c-block-comment-prefix 'set-from-style
 c-comment-prefix-regexp 'set-from-style
 c-doc-comment-style 'set-from-style
 c-cleanup-list 'set-from-style
 c-hanging-braces-alist 'set-from-style
 c-hanging-colons-alist 'set-from-style
 c-hanging-semi&comma-criteria 'set-from-style
 c-backslash-column 'set-from-style
 c-backslash-max-column 'set-from-style
 c-special-indent-hook nil
 c-label-minimum-indentation 'set-from-style
 c-offsets-alist nil
 c-buffer-is-cc-mode nil
 c-tab-always-indent t
 c-syntactic-indentation t
 c-syntactic-indentation-in-macros t
 c-ignore-auto-fill '(string cpp code)
 c-auto-align-backslashes t
 c-backspace-function 'backward-delete-char-untabify
 c-delete-function 'delete-char
 c-electric-pound-behavior nil
 c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu"))
 c-enable-xemacs-performance-kludge-p nil
 c-old-style-variable-behavior nil
 defun-prompt-regexp nil
 tab-width 8
 comment-column 32
 parse-sexp-ignore-comments nil
 parse-sexp-lookup-properties nil
 auto-fill-function nil
 comment-multi-line nil
 comment-start-skip nil
 fill-prefix nil
 fill-column 70
 paragraph-start "\f\\|[ 	]*$"
 adaptive-fill-mode t
 adaptive-fill-regexp "[ 	]*\\([-–!|#%;>*·•‣⁃◦]+[ 	]*\\)*"
 )




Information forwarded to bug-cc-mode <at> gnu.org:
bug#52157; Package cc-mode. (Sun, 28 Nov 2021 14:12:02 GMT) Full text and rfc822 format available.

Message #8 received at 52157 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 52157 <at> debbugs.gnu.org
Subject: Re: bug#52157: CC Mode 5.35.1 (Profiler-Report); Objective C support
 extremely slow
Date: Sun, 28 Nov 2021 14:11:00 +0000
Hello, Po.

On Sun, Nov 28, 2021 at 16:11:15 +0800, Po Lu via CC-Mode-help wrote:
> Package: cc-mode

> Emacs  : GNU Emacs 29.0.50 (build 358, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.17.4)
>  of 2021-11-28
> Package: CC Mode 5.35.1 (Profiler-Report)
> Buffer Style: nil
> c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

> Open src/nsterm.m from Emacs master, and immediately go to line 603.

> Once you try to move around after going to line 603, Emacs will lock up
> and later become extremely slow.

Yes, I see this behaviour, too.  Thanks for the report!

It seems very similar to a bug which afflicted C++ Mode earlier on this
month.  The symptoms there were the same - 100% CPU usage, but no total
lock-up; it is still possible, though sluggish, to switch frames, for
example.

I'll look at it.

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).




Reply sent to Alan Mackenzie <acm <at> muc.de>:
You have taken responsibility. (Wed, 01 Dec 2021 15:50:02 GMT) Full text and rfc822 format available.

Notification sent to Po Lu <luangruo <at> yahoo.com>:
bug acknowledged by developer. (Wed, 01 Dec 2021 15:50:02 GMT) Full text and rfc822 format available.

Message #13 received at 52157-done <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 52157-done <at> debbugs.gnu.org
Subject: Re: bug#52157: CC Mode 5.35.1 (Profiler-Report); Objective C support
 extremely slow
Date: Wed, 1 Dec 2021 15:49:20 +0000
Hello again, Po.

On Sun, Nov 28, 2021 at 16:11:15 +0800, Po Lu via CC-Mode-help wrote:
> Package: cc-mode

> Emacs  : GNU Emacs 29.0.50 (build 358, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.17.4)
>  of 2021-11-28
> Package: CC Mode 5.35.1 (Profiler-Report)
> Buffer Style: nil
> c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

> Open src/nsterm.m from Emacs master, and immediately go to line 603.

> Once you try to move around after going to line 603, Emacs will lock up
> and later become extremely slow.

I've committed a patch to the emacs-28 branch which I'm pretty sure has
fixed it.

The problem was in the code analysis, where a "struct foo {" wasn't
being properly recognised as a type.  A fight ensued between two bits of
code, one of which marked it as a type, the other then unmarking it, in
a fairly tight loop.

Anyhow, I'm closing the bug with this post.  If there're still problems
in the area, we can open it again.

[ .... ].

-- 
Alan Mackenzie (Nuremberg, Germany).




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 30 Dec 2021 12:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 116 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.