From: chiaki-ishikawa-thunderbird-account <chiaki.ishikawa@ubin.jp>
To: Eli Zaretskii <eliz@gnu.org>
Cc: chiaki.ishikawa@ubin.jp, 39413@debbugs.gnu.org, npostavs@gmail.com
Subject: bug#39413: 26.2; Emacs gets hung
Date: Thu, 30 Apr 2020 11:45:25 +0900 [thread overview]
Message-ID: <0b9cd846-b9f5-8351-5f45-5614bbc644c0@ubin.jp> (raw)
In-Reply-To: <83lfme232a.fsf@gnu.org>
Hi,
Thank you for your tips.
My comment inline.:
On 2020/04/29 15:55, Eli Zaretskii wrote:
>> From: "ISHIKAWA,chiaki" <ishikawa@yk.rim.or.jp>
>> Date: Wed, 29 Apr 2020 06:36:46 +0900
>> Cc: chiaki-ishikawa-thunderbird-account <chiaki.ishikawa@ubin.jp>,
>> Noam Postavsky <npostavs@gmail.com>
>>
>> I am back to this strange guru meditation of emacs.
>> Emacs would eventually begin working, but the silent period where no key
>> or mouse event is acknowledged is rather longish.
>>
>> Several weeks after I installed GNU Emacs 28.0.50 (that is what
>> |emacs-version| variable says. I installed from git repo.) , I began
>> noticing the occasional long pause (no response) again.
> I suggest to begin by establishing whether these pauses are caused by
> GC. To that end, set garbage-collection-messages to a non-nil value,
> and see if Emacs displays a message about GC in progress when these
> pauses occur. Also, try to tell how frequent are these pauses and
> much time each pause takes.
>
> If you see that every time you experience a pause there's GC running,
> we can then proceed to investigating whether the frequency of GC and
> the time it takes on your system is something abnormal, and why.
I have set garbage-collection-messages to t.
Let me see what happens when the next apparent long guru meditation happens.
>> So my take on this is sweep_conses() takes a rather long time and not
>> letting emacs to take any input. (And there could be other functions
>> before it.)
> The question is how long is "long time". We need some quantitative
> measure of this before we can tell whether it's normal or not.
I agree. It is all relative.
>> Question.: Has there been any change in emacs's alloc.c code in the
>> last year or two?
> Yes, a lot. But I don't see any significant change in frequency or
> time duration of GC on my system due to those changes, FWIW.
Maybe I should take a look when my time permits.
>> I am running emacs under Debian GNU/linux inside VirtualBox which is
>> assigned 16GB memory.
> It is possible that the virtual machine's memory management is
> misconfigured, so it slows down Emacs when it needs to access a large
> portion of its address space (which happens during GC).
I have not touched any thing (famous last words) for my linux
configuration for the last few years aside from simply upgrading the
packages from time to time.
>> gc-elapsed is a variable defined in ‘C source code’.
>> Its value is 68.3795433
> The question is how many GC cycles took 68 seconds. What is the value
> of gcs-done? Also, is this in a session to which you attached GDB? if
> so, then some of the elapsed time was due to Emacs being stopped under
> the debugger. We need these values in a session that is never stopped
> by a debugger.
>
I will monitor gcs-done when the next guru meditation happens.
Is there a hook to garbage-collection so that I can print gcs-done and
gc-elapsed maybe after the garbage-collection is run?
>> PS: Given that this may have something to do with the paging activity
>> of the emacs process, the linux version change (from 4 to 5) may have
>> affected the paging behavior of the program, but it is hard to say. I
>> now see this linux instance is using 293M SWAP. Compiling mozilla
>> thunderbird source runs |make -j6| and g++-9 compiles CPP source files
>> which are very large and so they exert heavy memory pressure. A bad
>> memory access pattern of emacs, not friendly to locality of access,
>> would add to page faults. Except, |xosview| program does not show any
>> paging activity. I am not sure if |xosview| is correct or not.
> Building a large program with -j6 also uses CPU, and that could make
> CPU-intensive operations, such as GC, slow. Was that build running in
> the same VirtualBox as Emacs? If so, how many physical CPU execution
> units do you have allocated to VirtualBox?
>
Yes, the build was running in the same VirtualBox as Emacs.
I have assigned 7 cores to VirtualBox.
(Oh wait!!! My current VirtualBox says it is assigned only 6 cores!?
I thought I did assign 7 cores to this VirtualBox image.
My PC runs Windows 10 natively on AMD Ryzen 7 Eight-Core processor that
has additional 8 hyperthreads.
So there are 16 virtual cores.
I have no idea why only 6 core is assigned to VM image today.
The number has been tweaked when an earlier VBox had an unresolved issue
when AMD Ryzen CPU came out.
[I used to run this image on XEON CPU.]
Maybe this could explain the problem on my HOME PC.However, the same
guru meditation has been observed on office PC with a different Intel
CPU, too.
Again, Emacs is run inside virtualBox on that PC that runs Windows 10
professional natively.))
However, the important point is this. I have not noticed this strange
guru meditation until about 12 months ago or so.
That is why I suspect that there could be an issue with the recent
alloc.c or something, but I think I need to gather more data
to focus in it yet.
Stay tuned.
Thank you again for your help. I will try to gather more circumstantial
evidence so that we can make an educated guess why Emacs seems to enter
guru meditation on my PC.
Chiaki
next prev parent reply other threads:[~2020-04-30 2:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-04 9:32 bug#39413: 26.2; Emacs gets hung chiaki-ishikawa-thunderbird-account
2020-02-04 15:33 ` Eli Zaretskii
2020-02-05 1:11 ` chiaki-ishikawa-thunderbird-account
2020-02-21 17:27 ` Noam Postavsky
2020-02-22 17:53 ` chiaki-ishikawa-thunderbird-account
2020-04-28 21:36 ` ISHIKAWA,chiaki
2020-04-29 6:55 ` Eli Zaretskii
2020-04-30 2:45 ` chiaki-ishikawa-thunderbird-account [this message]
2020-05-20 4:31 ` chiaki-ishikawa-thunderbird-account
2020-05-25 12:15 ` Noam Postavsky
2020-05-25 15:50 ` chiaki-ishikawa-thunderbird-account
2020-06-08 8:17 ` chiaki-ishikawa-thunderbird-account
2021-08-10 16:09 ` Lars Ingebrigtsen
2021-08-11 1:08 ` ISHIKAWA,chiaki
2021-08-11 6:07 ` ISHIKAWA,chiaki
2021-08-11 7:22 ` ISHIKAWA,chiaki
2021-08-11 11:14 ` Lars Ingebrigtsen
2021-08-11 13:46 ` ISHIKAWA,chiaki
2021-08-11 11:47 ` Eli Zaretskii
2021-08-11 13:41 ` ISHIKAWA,chiaki
2021-08-12 7:10 ` Eli Zaretskii
2021-08-15 23:27 ` ISHIKAWA,chiaki
2021-08-16 0:20 ` ISHIKAWA,chiaki
2021-08-16 11:35 ` Eli Zaretskii
2021-08-20 1:56 ` ISHIKAWA,chiaki
2021-09-17 14:49 ` Lars Ingebrigtsen
2021-10-18 9:00 ` Lars Ingebrigtsen
2021-10-19 7:04 ` ISHIKAWA,chiaki
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=0b9cd846-b9f5-8351-5f45-5614bbc644c0@ubin.jp \
--to=chiaki.ishikawa@ubin.jp \
--cc=39413@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=npostavs@gmail.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).