unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: awrhygty@outlook.com
Cc: 69263@debbugs.gnu.org
Subject: bug#69263: 29.1; emacs freeze with memory swap
Date: Tue, 20 Feb 2024 19:08:18 +0200	[thread overview]
Message-ID: <86h6i3njwd.fsf@gnu.org> (raw)
In-Reply-To: <TYZPR01MB39209E706809675593409FFBC3502@TYZPR01MB3920.apcprd01.prod.exchangelabs.com> (awrhygty@outlook.com)

> From: awrhygty@outlook.com
> Cc: 69263@debbugs.gnu.org
> Date: Wed, 21 Feb 2024 00:33:58 +0900
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > This backtrace is not from an interesting thread.  You need to say
> > "thread 1" before "bt full", to switch to the Emacs's main
> > (a.k.a. "Lisp") thread.
> >
> > Alternatively, say "thread apply all bt full", which will produce the
> > backtrace of all the threads in the program.
> 
> I tried "thread apply all bt full".
> Here is a new log.

Thanks.

> Thread 1 (Thread 1384.0x1fdc):
> #0  0x00007ffa7370d064 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1  0x00007ffa736ceb32 in ntdll!RtlUnlockHeap () from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #2  0x00007ffa736cda08 in ntdll!RtlExitUserProcess () from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #3  0x00007ffa7223e3bb in KERNEL32!FatalExit () from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #4  0x00007ffa71daa155 in msvcrt!_exit () from C:\WINDOWS\System32\msvcrt.dll
> No symbol table info available.
> #5  0x00007ffa71daa7c5 in msvcrt!_initterm_e () from C:\WINDOWS\System32\msvcrt.dll
> No symbol table info available.
> #6  0x00007ff68b906996 in Fkill_emacs ()

This seems to indicate that Emacs already called 'exit' inside
kill-emacs, and the process is now stuck inside the Microsoft exit
code, waiting (in WaitForSingleObject, it seems) for something to
happen.  The fact that RtlUnlockHeap is in the call-stack seems to
indicate that releasing memory might be somehow related to this.

OTOH, this page:

  https://stackoverflow.com/questions/52649476/why-would-a-process-hang-within-rtlexituserprocess-ldrpdrainworkqueue

discusses a similar issue, and points to this page:

  https://blogs.blackberry.com/en/2017/10/windows-10-parallel-loading-breakdown

which seems to indicate that this is somehow related to the "parallel
DLL loading" feature of Windows, and indeed, one of the threads within
the Emacs process shows calls to LdrInitializeThunk and
LdrShutdownThread in its call-stack.  It might be interesting to look
at the Emacs process with Process Explorer and try to figure out which
thread is running (as opposed to threads that are idle waiting for
something); if it's the thread which calls those Ldr* functions, it
will be one more evidence that this parallel loading feature is
related somehow.

That's all I can say based on this information, sorry.





  reply	other threads:[~2024-02-20 17:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-19  5:56 bug#69263: 29.1; emacs freeze with memory swap awrhygty
2024-02-19 12:41 ` Eli Zaretskii
2024-02-20 13:33   ` awrhygty
2024-02-20 14:40     ` Eli Zaretskii
2024-02-20 15:33       ` awrhygty
2024-02-20 17:08         ` Eli Zaretskii [this message]
2024-06-09 20:56           ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86h6i3njwd.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=69263@debbugs.gnu.org \
    --cc=awrhygty@outlook.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).