[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs in CVS plus GTK patches hogs CPU
From: |
Simon Josefsson |
Subject: |
Re: Emacs in CVS plus GTK patches hogs CPU |
Date: |
Wed, 08 Jan 2003 21:40:24 +0100 |
User-agent: |
Gnus/5.090011 (Oort Gnus v0.11) Emacs/21.3.50 (i686-pc-linux-gnu) |
"Jan D." <address@hidden> writes:
>> I've been using the #2 GTK patch for several days with some heavy use,
>> and this is my first problem. I'm not positive it is GTK related.
>>
>> Emacs is unresponsive to C-g and consumes all CPU. Attaching with gdb
>> and breaking alternatively generates two different backtraces (see
>> below). At the time I was reading mail from a IMAP group using Gnus
>> (i.e., likely both network activity and keyboard activity).
>>
>> I'll keep the process running if someone has any ideas what to
>> investigate.
>
> I have Motif and GTK versions running side by side, the GTK version
> actually takes *less* CPU for me.
Yes, normally I have no problems, but this emacs instance is
completely lost in a busy wait. No redisplay, C-g doesn't work.
> Can you strace or truss the Emacs process to see if is in some sort of busy
> wait? A very short timeout perhaps?
Yes, it is a busy wait:
...
kill(17005, SIGIO) = 0
gettimeofday({1042058269, 284790}, NULL) = 0
select(8, [3 7], NULL, NULL, {0, 451252}) = 1 (in [7], left {0, 453096})
gettimeofday({1042058269, 284976}, NULL) = 0
getpid() = 17005
kill(17005, SIGIO) = 0
gettimeofday({1042058269, 285079}, NULL) = 0
select(8, [3 7], NULL, NULL, {0, 450963}) = 1 (in [7], left {0, 451143})
gettimeofday({1042058269, 285265}, NULL) = 0
getpid() = 17005
kill(17005, SIGIO) = 0
gettimeofday({1042058269, 285368}, NULL) = 0
select(8, [3 7], NULL, NULL, {0, 450674}) = 1 (in [7], left {0, 451143})
gettimeofday({1042058269, 285554}, NULL) = 0
...
This doesn't look GTK related, but rather network process related,
though. Hm. 17005 is the pid of the emacs process itself. Does GTK
catch SIGIO or something?