Audacity CVS consumes CPU while idle, Fedora 12, x86_64

8 messages Options
Embed this post
Permalink
stan-7

Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink
Hi,

If the audacity from CVS is left idle, it slowly increases the CPU it
is using until it consumes all available CPU.  But playing a sample or
even clicking on the title bar immediately drops the CPU use down to the
low single digits.

This is with the latest version from CVS today.  On linux Fedora 12,
x86_64, using top to monitor usage.


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
David R. Sky

Re: Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink
Thanks for your report Stan, which I'm cc'ing to the Audacity development
list - a better place to post and discuss such topics I think.

David

--
David R. Sky
http://www.shellworld.net/~davidsky/


On Wed, 30 Sep 2009, stan wrote:

> Hi,
>
> If the audacity from CVS is left idle, it slowly increases the CPU it
> is using until it consumes all available CPU.  But playing a sample or
> even clicking on the title bar immediately drops the CPU use down to the
> low single digits.
>
> This is with the latest version from CVS today.  On linux Fedora 12,
> x86_64, using top to monitor usage.
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry® Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9-12, 2009. Register now!
> http://p.sf.net/sfu/devconf
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
Gale (Audacity Team)

Re: [Audacity-devel] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink

| From "David R. Sky" <[hidden email]>
| Wed, 30 Sep 2009 15:52:26 -0700 (PDT)
| Subject: [Audacity-devel] [Audacity-users] Audacity CVS consumes CPU while idle, Fedora 12, x86_64
> Thanks for your report Stan, which I'm cc'ing to the Audacity development
> list - a better place to post and discuss such topics I think.
>
> David
>
> --
> David R. Sky
> http://www.shellworld.net/~davidsky/


Seems to be confirmed here on Ubuntu 9.04 looking at
GNOME "System Monitor", using Audacity CVS Unicode
Release build from yesterday.

With only Audacity , System Monitor and Rhythmbox
(for comparison) open, it took Audacity about half an hour
after being launched and left to sit to consume 90% or
more of the CPU. The overall CPU was close to or at 100%
after 20 minutes. By then, average load for each minute:
http://en.wikipedia.org/wiki/Load_%28computing%29

was about 1.5 even with so little to do.

I note that Audacity's "Status" in "System Monitor" was
almost always "Sleeping" for the first 15 minutes, then  
continually "Running" after that. As soon as I task
switched to Audacity, it went back to "sleeping" and
about 8% CPU.  
 
Rhythmbox slept on 0% CPU the whole time.

No such issue on Windows.




Gale


> On Wed, 30 Sep 2009, stan wrote:
>
> > Hi,
> >
> > If the audacity from CVS is left idle, it slowly increases the CPU it
> > is using until it consumes all available CPU.  But playing a sample or
> > even clicking on the title bar immediately drops the CPU use down to the
> > low single digits.
> >
> > This is with the latest version from CVS today.  On linux Fedora 12,
> > x86_64, using top to monitor usage.




------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
Al Dimond

Re: [Audacity-devel] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink
I haven't been able to reproduce this on Kubuntu 9.04, after building from CVS
head with everything default except CXXFLAGS and LDFLAGS (to turn on profiling
info and debug symbols).  I tried both with a project loaded and without, and
with a project loaded I tried both with the window focused and unfocused.

Oddly enough I can't seem to get audacity to build with gprof information.  I
tried

CXXFLAGS='-pg -g' LDFLAGS=-pg

and I don't get the gmon.out file like I'd expect.  I can use qprof, which is
supposed to be better with threads anyhow, but since I'm not seeing the
behavior I can't really report anything useful.

Anyhow, if the load is over 1 just from Audacity then there are probably a
bunch of threads running, right?  This could be confirmed using top (hit u and
type your username so you only get your processes, hit > until you're sorting
by command name, hit R if necessary to reverse sort order and bring audacity
into view, then hit H to view each thread separately)... maybe Gnome's system
monitor can do this also, I don't know (KDE's doesn't seem to have a thread
view).  I see three audacity threads while I have one project open and it's
just idling.

On Wednesday 30 September 2009 20:32:33 Gale Andrews wrote:

> | From "David R. Sky" <[hidden email]>
> | Wed, 30 Sep 2009 15:52:26 -0700 (PDT)
> | Subject: [Audacity-devel] [Audacity-users] Audacity CVS consumes CPU
> | while idle, Fedora 12, x86_64
> |
> > Thanks for your report Stan, which I'm cc'ing to the Audacity development
> > list - a better place to post and discuss such topics I think.
> >
> > David
> >
> > --
> > David R. Sky
> > http://www.shellworld.net/~davidsky/
>
> Seems to be confirmed here on Ubuntu 9.04 looking at
> GNOME "System Monitor", using Audacity CVS Unicode
> Release build from yesterday.
>
> With only Audacity , System Monitor and Rhythmbox
> (for comparison) open, it took Audacity about half an hour
> after being launched and left to sit to consume 90% or
> more of the CPU. The overall CPU was close to or at 100%
> after 20 minutes. By then, average load for each minute:
> http://en.wikipedia.org/wiki/Load_%28computing%29
>
> was about 1.5 even with so little to do.
>
> I note that Audacity's "Status" in "System Monitor" was
> almost always "Sleeping" for the first 15 minutes, then
> continually "Running" after that. As soon as I task
> switched to Audacity, it went back to "sleeping" and
> about 8% CPU.
>
> Rhythmbox slept on 0% CPU the whole time.
>
> No such issue on Windows.
>
>
>
>
> Gale
>
> > On Wed, 30 Sep 2009, stan wrote:
> > > Hi,
> > >
> > > If the audacity from CVS is left idle, it slowly increases the CPU it
> > > is using until it consumes all available CPU.  But playing a sample or
> > > even clicking on the title bar immediately drops the CPU use down to
> > > the low single digits.
> > >
> > > This is with the latest version from CVS today.  On linux Fedora 12,
> > > x86_64, using top to monitor usage.
>
> ---------------------------------------------------------------------------
>--- Come build with us! The BlackBerry® Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9-12, 2009. Register now!
> http://p.sf.net/sfu/devconf
> _______________________________________________
> audacity-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-devel


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
Gale (Audacity Team)

Re: [Audacity-devel] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink

| From Al Dimond <[hidden email]>
| Thu, 1 Oct 2009 01:57:20 -0600
| Subject: [Audacity-devel] [Audacity-users] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

> I haven't been able to reproduce this on Kubuntu 9.04, after building from CVS
> head with everything default except CXXFLAGS and LDFLAGS (to turn on profiling
> info and debug symbols).  I tried both with a project loaded and without, and
> with a project loaded I tried both with the window focused and unfocused.
>
> Oddly enough I can't seem to get audacity to build with gprof information.  I
> tried
>
> CXXFLAGS='-pg -g' LDFLAGS=-pg
>
> and I don't get the gmon.out file like I'd expect.  I can use qprof, which is
> supposed to be better with threads anyhow, but since I'm not seeing the
> behavior I can't really report anything useful.
>
> Anyhow, if the load is over 1 just from Audacity then there are probably a
> bunch of threads running, right?  

Al,

In the first few minutes of Audacity being open, the load is circa 0.3.
The load value (and the % of CPU use taken by Audacity) then rise
continually until Audacity is task switched to.


> This could be confirmed using top (hit u and type your username so
> you only get your processes, hit > until you're sorting
> by command name, hit R if necessary to reverse sort order and bring audacity
> into view, then hit H to view each thread separately)... maybe Gnome's system
> monitor can do this also, I don't know (KDE's doesn't seem to have a thread
> view).  I see three audacity threads while I have one project open and it's
> just idling.

All I did was to launch Audacity and it is just sitting there as an
empty project, but grabbing more and more CPU as time goes on.

After I have pressed "H" in "top", is each line in the display a
thread? If so, most of the time there is only one Audacity thread
(occasionally, a second one appears momentarily). The number
of threads does not increase when Audacity status in System
Monitor changes to "Running" about the time it starts taking
half the CPU. Sorry I don't understand the "Sleeping" and "Running"
distinction in System Monitor, and their "documentation" does not
help.    

My user is running 16 threads or so.  

If you minimise Audacity and keep it out of view, can you reproduce
the issue then?

 



Gale    



 

> On Wednesday 30 September 2009 20:32:33 Gale Andrews wrote:
> > | From "David R. Sky" <[hidden email]>
> > | Wed, 30 Sep 2009 15:52:26 -0700 (PDT)
> > | Subject: [Audacity-devel] [Audacity-users] Audacity CVS consumes CPU
> > | while idle, Fedora 12, x86_64
> > |
> > > Thanks for your report Stan, which I'm cc'ing to the Audacity development
> > > list - a better place to post and discuss such topics I think.
> > >
> > > David
> > >
> > > --
> > > David R. Sky
> > > http://www.shellworld.net/~davidsky/
> >
> > Seems to be confirmed here on Ubuntu 9.04 looking at
> > GNOME "System Monitor", using Audacity CVS Unicode
> > Release build from yesterday.
> >
> > With only Audacity , System Monitor and Rhythmbox
> > (for comparison) open, it took Audacity about half an hour
> > after being launched and left to sit to consume 90% or
> > more of the CPU. The overall CPU was close to or at 100%
> > after 20 minutes. By then, average load for each minute:
> > http://en.wikipedia.org/wiki/Load_%28computing%29
> >
> > was about 1.5 even with so little to do.
> >
> > I note that Audacity's "Status" in "System Monitor" was
> > almost always "Sleeping" for the first 15 minutes, then
> > continually "Running" after that. As soon as I task
> > switched to Audacity, it went back to "sleeping" and
> > about 8% CPU.
> >
> > Rhythmbox slept on 0% CPU the whole time.
> >
> > No such issue on Windows.
> >
> >
> >
> >
> > Gale
> >
> > > On Wed, 30 Sep 2009, stan wrote:
> > > > Hi,
> > > >
> > > > If the audacity from CVS is left idle, it slowly increases the CPU it
> > > > is using until it consumes all available CPU.  But playing a sample or
> > > > even clicking on the title bar immediately drops the CPU use down to
> > > > the low single digits.
> > > >
> > > > This is with the latest version from CVS today.  On linux Fedora 12,
> > > > x86_64, using top to monitor usage.




------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
stan-7

Re: [Audacity-devel] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink
In reply to this post by Al Dimond
On Thu, 1 Oct 2009 01:57:20 -0600
Al Dimond <[hidden email]> wrote:

> I haven't been able to reproduce this on Kubuntu 9.04, after building
> from CVS head with everything default except CXXFLAGS and LDFLAGS (to
> turn on profiling info and debug symbols).  I tried both with a
> project loaded and without, and with a project loaded I tried both
> with the window focused and unfocused.
>
> Oddly enough I can't seem to get audacity to build with gprof
> information.  I tried
>
> CXXFLAGS='-pg -g' LDFLAGS=-pg
>
> and I don't get the gmon.out file like I'd expect.  I can use qprof,
> which is supposed to be better with threads anyhow, but since I'm not
> seeing the behavior I can't really report anything useful.

I haven't tried this, so can't confirm.  I do use the default build
parameters that ./configure sets.  Maybe you could try ./configure
--enable-debug as well as setting the flags?

>
> Anyhow, if the load is over 1 just from Audacity then there are
> probably a bunch of threads running, right?  This could be confirmed
> using top (hit u and type your username so you only get your
> processes, hit > until you're sorting by command name, hit R if
> necessary to reverse sort order and bring audacity into view, then
> hit H to view each thread separately)... maybe Gnome's system monitor
> can do this also, I don't know (KDE's doesn't seem to have a thread
> view).  I see three audacity threads while I have one project open
> and it's just idling.

I see three threads in top.  One (the lowest PID number), the first to
launch, is the one that consumes all the CPU over time.  The third
thread fires about every 10 seconds, and when it is running, the first
thread doesn't increase its CPU usage on that round.  The second thread
is continuously idle.

I think you aren't seeing this because you aren't going away from the
desktop with audacity in it.  I use gnome, and run audacity in its own
desktop.  I noticed this from the consoles because I was compiling
something and it was taking a looooong time.  When I looked what was
using all the CPU in top, it was audacity.  So I went to the desktop
where it was active and looked at it, and it immediately stopped using
CPU. If I switch to another desktop in Gnome, audacity will start using
more CPU over time as well (i.e. this isn't happening only because I am
in a console).

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
stan-7

Re: [Audacity-devel] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink
In reply to this post by Al Dimond
I know this isn't really a big deal, as it has no major repercussions
and is easy to prevent (just close audacity when not in use).  But for
completeness, here are some results.  I won't post any more about this.

On Thu, 1 Oct 2009 01:57:20 -0600
Al Dimond <[hidden email]> wrote:

> I haven't been able to reproduce this on Kubuntu 9.04, after building
> from CVS head with everything default except CXXFLAGS and LDFLAGS (to
> turn on profiling info and debug symbols).  I tried both with a
> project loaded and without, and with a project loaded I tried both
> with the window focused and unfocused.
>

I see the same behavior in both KDE and XFCE on Fedora 12.

> Oddly enough I can't seem to get audacity to build with gprof
> information.  I tried
>
> CXXFLAGS='-pg -g' LDFLAGS=-pg
>
> and I don't get the gmon.out file like I'd expect.  I can use qprof,
> which is supposed to be better with threads anyhow, but since I'm not
> seeing the behavior I can't really report anything useful.
>
> Anyhow, if the load is over 1 just from Audacity then there are
> probably a bunch of threads running, right?  This could be confirmed
> using top (hit u and type your username so you only get your
> processes, hit > until you're sorting by command name, hit R if
> necessary to reverse sort order and bring audacity into view, then
> hit H to view each thread separately)... maybe Gnome's system monitor
> can do this also, I don't know (KDE's doesn't seem to have a thread
> view).  I see three audacity threads while I have one project open
> and it's just idling.

I compiled with --enable-debug and ran in gdb, stopping it
occasionally using Ctrl-C to see what it was doing.  (Just for fun I
did it in KDE rather than my usual Gnome environment).  Below is a
typical stack trace.  It looks like Wx is polling more and more often
as time goes on. Entry #8 appears to be the last in the audacity
program.  Internal wx behavior, or driven by audacity?  Don't know.

^C                                                                                              
Program received signal SIGINT, Interrupt.                                                      
0x000000357f0d7fe3 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=15)
    at ../sysdeps/unix/sysv/linux/poll.c:87                                                      
87        int result = INLINE_SYSCALL (poll, 3, CHECK_N (fds, nfds), nfds, timeout);


#0  0x0000003cfb62bf67 in g_hook_insert_before () from /lib64/libglib-2.0.so.0
#1  0x0000003cfba19fca in g_signal_add_emission_hook () from /lib64/libgobject-2.0.so.0
#2  0x0000003d00bce886 in wxAddEmissionHook () at src/gtk/app.cpp:167
#3  wxapp_idle_callback () at src/gtk/app.cpp:239
#4  0x0000003cfb63922e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#5  0x0000003cfb63cc18 in ?? () from /lib64/libglib-2.0.so.0
#6  0x0000003cfb63d065 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#7  0x0000003cfdb305c7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#8  0x0000003d00be5a18 in wxEventLoop::Run (this=0x23b89a0) at src/gtk/evtloop.cpp:76
#9  0x0000003d00c6e64b in wxAppBase::MainLoop (this=0x1d2e300) at src/common/appcmn.cpp:312
#10 0x000000358e497abc in wxEntry (argc=<value optimized out>, argv=<value optimized out>)
    at src/common/init.cpp:460
#11 0x000000000055ef2d in main ()

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users
Al Dimond

Re: [Audacity-devel] Audacity CVS consumes CPU while idle, Fedora 12, x86_64

Reply Threaded More More options
Print post
Permalink
On Friday 02 October 2009 12:54:18 stan wrote:
> I know this isn't really a big deal, as it has no major repercussions
> and is easy to prevent (just close audacity when not in use).  But for
> completeness, here are some results.  I won't post any more about this.
>

I think it would be good to figure this out.  People don't like having to close
programs when they're taking a break from using them (I might record and mix
in Audacity, then export and email it to a collaborator for comments, and then
we might IM eachother for a while about it -- I'd like Audacity to behave
itself during that time); that's why we run OSes other than DOS and install
gigs upon gigs of RAM in our computers.  For at least one practical issue, you
lose the undo stack when you close audacity.

>
> I compiled with --enable-debug and ran in gdb, stopping it
> occasionally using Ctrl-C to see what it was doing.  (Just for fun I
> did it in KDE rather than my usual Gnome environment).  Below is a
> typical stack trace.  It looks like Wx is polling more and more often
> as time goes on. Entry #8 appears to be the last in the audacity
> program.  Internal wx behavior, or driven by audacity?  Don't know.
>
> ^C
> Program received signal SIGINT, Interrupt.
> 0x000000357f0d7fe3 in __poll (fds=<value optimized out>, nfds=<value
> optimized out>, timeout=15) at ../sysdeps/unix/sysv/linux/poll.c:87
> 87        int result = INLINE_SYSCALL (poll, 3, CHECK_N (fds, nfds), nfds,
> timeout);
>
>
> #0  0x0000003cfb62bf67 in g_hook_insert_before () from
> /lib64/libglib-2.0.so.0 #1  0x0000003cfba19fca in
> g_signal_add_emission_hook () from /lib64/libgobject-2.0.so.0 #2
> 0x0000003d00bce886 in wxAddEmissionHook () at src/gtk/app.cpp:167 #3
> wxapp_idle_callback () at src/gtk/app.cpp:239
> #4  0x0000003cfb63922e in g_main_context_dispatch () from
> /lib64/libglib-2.0.so.0 #5  0x0000003cfb63cc18 in ?? () from
> /lib64/libglib-2.0.so.0
> #6  0x0000003cfb63d065 in g_main_loop_run () from /lib64/libglib-2.0.so.0
> #7  0x0000003cfdb305c7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
> #8  0x0000003d00be5a18 in wxEventLoop::Run (this=0x23b89a0) at
> src/gtk/evtloop.cpp:76 #9  0x0000003d00c6e64b in wxAppBase::MainLoop
> (this=0x1d2e300) at src/common/appcmn.cpp:312 #10 0x000000358e497abc in
> wxEntry (argc=<value optimized out>, argv=<value optimized out>) at
> src/common/init.cpp:460
> #11 0x000000000055ef2d in main ()
>

Thanks for getting a stack trace.

You can essentially automate the process of breaking and checking the stack
trace periodically by using a profiler.  Common simple profilers for Linux are
gprof and qprof (there are nicer ones that need kernel support, but I don't
know much about them).  As I said, I can't get audacity to build with gprof
support, but qprof doesn't need a special build.  It's a little confusing,
though.  Debian and Ubuntu install qprof in a way that makes it work
completely differently than all the online documentation says, and I don't know
if Fedora does that, too... you can check /usr/share/doc/qprof to see if there
are any distro-specific instructions.

Even a profiler probably won't necessarily expose the cause of wx's increased
time spent polling, though.

 - Al

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
--
Mailing list: [hidden email]
To UNSUBSCRIBE, use the form at the bottom of this web page:
https://lists.sourceforge.net/lists/listinfo/audacity-users