unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#30322: Emacs 26 seems to have entered an infinite loop during GC on macOS
@ 2018-02-01 20:09 John Wiegley
  2019-10-09 21:33 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 3+ messages in thread
From: John Wiegley @ 2018-02-01 20:09 UTC (permalink / raw)
  To: eliz; +Cc: 30322

[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]

Hi Eli,

I was writing an e-mail to a colleague today when my Emacs window completely froze up, taking 100% CPU constantly.  Since it's still in that state now, I decided to fire up the stochastic profiler to see what it's doing.  I've attached the screenshot.

It claims to be spending all its time in `lisp_align_free', behaving as if there's a CPU busy loop now taking place inside that function. Since very little time is being assigned to its callees, I believe an infinite loop has occurred here:

      int i = 0;
      bool aligned = busy;
      struct ablock **tem = &free_ablock;
      struct ablock *atop = &abase->blocks[aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1];

      while (*tem)
	{
	  if (*tem >= (struct ablock *) abase && *tem < atop)
	    {
	      i++;
	      *tem = (*tem)->x.next_free;
	    }
	  else
	    tem = &(*tem)->x.next_free;
	}

I would like to suggest that before entering this loop, we record the initial value of *tem, and if we encounter again (or if we encounter it again X number of times), we report a non-fatal error and exit this function.  That way I could save my work and restart Emacs.

I've noticed such a "lock up until I force quit" happening before, but it's very rare. Maybe a few times a year?

John

[-- Attachment #2: Screen Shot 2018-02-01 at 12.03.14 PM.png --]
[-- Type: image/png, Size: 1304254 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#30322: Emacs 26 seems to have entered an infinite loop during GC on macOS
  2018-02-01 20:09 bug#30322: Emacs 26 seems to have entered an infinite loop during GC on macOS John Wiegley
@ 2019-10-09 21:33 ` Lars Ingebrigtsen
  2020-08-16 16:49   ` Lars Ingebrigtsen
  0 siblings, 1 reply; 3+ messages in thread
From: Lars Ingebrigtsen @ 2019-10-09 21:33 UTC (permalink / raw)
  To: John Wiegley; +Cc: 30322

John Wiegley <johnw@newartisans.com> writes:

> I was writing an e-mail to a colleague today when my Emacs window
> completely froze up, taking 100% CPU constantly.  Since it's still in
> that state now, I decided to fire up the stochastic profiler to see
> what it's doing.  I've attached the screenshot.
>
> It claims to be spending all its time in `lisp_align_free', behaving
> as if there's a CPU busy loop now taking place inside that
> function. Since very little time is being assigned to its callees, I
> believe an infinite loop has occurred here:

This was a year ago -- are you still seeing these hangs in Emacs 27?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#30322: Emacs 26 seems to have entered an infinite loop during GC on macOS
  2019-10-09 21:33 ` Lars Ingebrigtsen
@ 2020-08-16 16:49   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 3+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-16 16:49 UTC (permalink / raw)
  To: John Wiegley; +Cc: 30322

Lars Ingebrigtsen <larsi@gnus.org> writes:

> John Wiegley <johnw@newartisans.com> writes:
>
>> I was writing an e-mail to a colleague today when my Emacs window
>> completely froze up, taking 100% CPU constantly.  Since it's still in
>> that state now, I decided to fire up the stochastic profiler to see
>> what it's doing.  I've attached the screenshot.
>>
>> It claims to be spending all its time in `lisp_align_free', behaving
>> as if there's a CPU busy loop now taking place inside that
>> function. Since very little time is being assigned to its callees, I
>> believe an infinite loop has occurred here:
>
> This was a year ago -- are you still seeing these hangs in Emacs 27?

More information was requested, but no response was given within a few
months, so I'm closing this bug report.  If the problem still exists,
please respond to this email and we'll reopen the bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-16 16:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-01 20:09 bug#30322: Emacs 26 seems to have entered an infinite loop during GC on macOS John Wiegley
2019-10-09 21:33 ` Lars Ingebrigtsen
2020-08-16 16:49   ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).