Subject: Re: bug#12832: 24.3.50; Emacs lockup when idle

From: Eli Zaretskii <[email-masked]>
Date: Fri, 09 Nov 2012 11:56:14 +0200

> Date: Thu, 08 Nov 2012 18:33:11 +0000
> From: Andy Moreton <[email-masked]>
> CC: [email-masked]
> 
> I rebuild emacs every day from trunk, but only do a full bootstrap when 
> necessary. I have updated the Mingw compiler this week though, so that could 
> be an issue.

Was the build optimized?  (I'm guessing not, but I want to be sure.)

> I'll try bisecting (and downgrading the compiler) if I see this 
> again.

Thanks.

> > Also, how was Emacs unresponsive -- did it consume any CPU cycles at
> > all?  Were all the threads locked up, or just some?  If you detach
> > from it, then attach again, do you see exactly the same backtrace?
> 
> Emacs was not consuming any cycles - the system was completely idle.

OK.  Any idea why you had so many threads?  Normally, Emacs 24.3.50
should have only 3: the main thread, the input thread, and a thread
that runs atimers (Emacs arranges for a timer to fire every 2 seconds,
to check whether any new input has arrived.)  Yet another thread, the
4th one, is automatically started by the OS when you attach a debugger
to Emacs, and this is it:

  Thread 6 (Thread 8744.0x2080):
  #0  0x7c90120f in ntdll!DbgUiConnectToDbg () from C:\WINDOWS\system32\ntdll.dll
  No symbol table info available.
  #1  0x7c952119 in ntdll!KiIntSystemCall () from C:\WINDOWS\system32\ntdll.dll
  No symbol table info available.

But what are the other 2 threads you have, namely:

  Thread 5 (Thread 8744.0x5ec):
  #0  0x7c90e514 in ntdll!LdrAccessResource () from C:\WINDOWS\system32\ntdll.dll
  No symbol table info available.
  #1  0x7c90d9da in ntdll!ZwReadFile () from C:\WINDOWS\system32\ntdll.dll
  No symbol table info available.
  #2  0x7c801879 in ReadFile () from C:\WINDOWS\system32\kernel32.dll
  No symbol table info available.
  #3  0x00000610 in ?? ()
  No symbol table info available.
  #4  0x00000000 in ?? ()
  No symbol table info available.

  Thread 4 (Thread 8744.0x241c):
  #0  0x7c90e514 in ntdll!LdrAccessResource () from C:\WINDOWS\system32\ntdll.dll
  No symbol table info available.
  #1  0x7c90df5a in ntdll!ZwWaitForSingleObject () from 
  C:\WINDOWS\system32\ntdll.dll
  No symbol table info available.
  #2  0x7c8025db in WaitForSingleObjectEx () from C:\WINDOWS\system32\kernel32.dll
  No symbol table info available.
  #3  0x000005d0 in ?? ()
  No symbol table info available.
  #4  0x00000000 in ?? ()
  No symbol table info available.

One of them appears to be reading something, the other is waiting for
some event.  Did you have some subprocess running or some network
connection active at that time?  Or maybe your routine operation has
some subprocesses (a speller, perhaps?) and/or network connections
active?

> > We need more data points on this.
> 
> I'll see if this is reproduceable and try to get more info.

Thanks.