[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#69263: 29.1; emacs freeze with memory swap
From: |
awrhygty |
Subject: |
bug#69263: 29.1; emacs freeze with memory swap |
Date: |
Tue, 20 Feb 2024 22:33:35 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
> tags 69263 moreinfo
> thanks
>
>> From: awrhygty@outlook.com
>> Date: Mon, 19 Feb 2024 14:56:10 +0900
>>
>>
>> My PC has 8GB memory and HDD, no SSD.
>> Emacs freezes with the procedure below.
>>
>> (0) Close all applications.
>> (1) Start task manager.
>> Confirm disk usage is low and memory usage is about 2GB or less.
>> (2) Start emacs -Q
>> (3) Evaluate the form below
>> (progn (make-string (* 8000 1000 1000) 0)
>> (kill-emacs))
>> (4) Memory usage increases and then decreases in ten seconds.
>> (5) Disk usage keep 100% active for a few minutes.
>> (6) Application window of emacs keep alive and emacs process name is
>> displayed in the process tab of task manager.
>> (At least 10 hours, I waited.)
>
> I don't have a 8GB 64-bit Windows system to try this, and the results
> are likely to be dependent on the intimate details of the Virtual
> Memory setup on that system.
>
> So if you want to help us understand what happens in the strange case
> where a Lisp program creates a 8GB Lisp string, and clear it all, on a
> 8GB MS-Windows system, please attach GDB to Emacs after running the
> above recipe, and produce a backtrace that can be used to try to
> figure out what happens. (I hope that your Emacs binary is not
> stripped of debugging symbols, because if it's stripped, GDB will not
> tell anything useful.)
>
> Thanks.
I installed MSYS2 and GDB for this.
At first, I tried to attach with emacs PID.
GDB says "Can't attach to process 1099".
So I tried with WINPID.
I am not sure it is a correct parameter.
Here is a log within MSYS2 shell:
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
1051 1 1051 3940 ? 197609 20:56:49 /usr/bin/mintty
1205 1052 1205 9776 pty0 197609 22:26:16 /usr/bin/ps
1052 1051 1052 11328 pty0 197609 20:56:49 /usr/bin/bash
1099 1052 1099 1384 pty0 197609 21:10:57
/c/Emacs/emacs-29.1/bin/emacs
$ /mingw64/bin/gdb
GNU gdb (GDB) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) attach 1384
Attaching to process 1384
[New Thread 1384.0xbbc]
[New Thread 1384.0xbe0]
[New Thread 1384.0x2bc0]
[New Thread 1384.0x2cc4]
[New Thread 1384.0x14a4]
Reading symbols from C:\Emacs\emacs-29.1\bin\emacs.exe...
(gdb) bt full
#0 0x00007ffa73710b11 in ntdll!DbgBreakPoint () from
C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1 0x00007ffa7373ca0e in ntdll!DbgUiRemoteBreakin () from
C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2 0x00007ffa72237344 in KERNEL32!BaseThreadInitThunk () from
C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3 0x00007ffa736c26b1 in ntdll!RtlUserThreadStart () from
C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) detach
Detaching from program: C:\Emacs\emacs-29.1\bin\emacs.exe, process 1384
[Inferior 1 (process 1384) detached]
(gdb) exit