Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Audacious is leaking memory?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
ExecutorElassus
Veteran
Veteran


Joined: 11 Mar 2004
Posts: 1435
Location: Berlin, Germany

PostPosted: Mon Dec 10, 2012 10:35 pm    Post subject: Audacious is leaking memory? Reply with quote

So, this is weird. For me, the lates version of audacious (3.3.2 presently, but also a version before) steadily increases its memory footprint. I'm not sure what's doing it (it's just sitting there with playback stopped) but after a day it's taking up over 500MB.

Is there any way to track this issue down? To find out what exactly is causing the leakage?

Cheers,

EE
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Tue Dec 11, 2012 2:11 pm    Post subject: Reply with quote

If you start it from a terminal, does it produce any output?
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
ExecutorElassus
Veteran
Veteran


Joined: 11 Mar 2004
Posts: 1435
Location: Berlin, Germany

PostPosted: Thu Dec 13, 2012 5:32 pm    Post subject: Reply with quote

no terminal output (sorry for the delay; I wanted to run it for a couple days from a terminal to check), but if I attach strace to it, I get a nonstop scroll of this:

Code:
writev(3, [{"5\30\4\0\330_k\2\23\0`\2r\0\r\0\212\4\6\0\331_k\2\330_k\2D\2\0\0"..., 372}, {NULL, 0}, {"", 0}], 3) = 372
recvfrom(3, "A\0\311f\330_k\2\3\0\202\0+\0`\2\0\20\10\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 128
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=5, events=POLLIN}], 3, 0) = 0 (Timeout)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=5, events=POLLIN}], 3, 248) = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "U\2\322f\354\"\220*\3\24\4\0\20\0\0\0\0\0\0\24\24\24\24\24\0\0\3\37%\2\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=5, events=POLLIN}], 3, 152) = 0 (Timeout)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=5, events=POLLIN}], 3, 0) = 0 (Timeout)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(3, 0x67f2f4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}])
Any ideas what that's all about?

Cheers,

EE
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Fri Dec 14, 2012 1:22 am    Post subject: Reply with quote

Could you install valgrind and run audacious through it?
$ valgrind --leak-check=full audacious
It will produce a leak summary when you close audacious. (probably you want to pipe it into a file as it's likely to get much)

Alternatively (if the memcheck does not tell you there is a memory leak) you can use massif
$ valgrind --tool=massif audacious
You will get a massif.log, which you can upload somewhere in link here (you may also want to have a look at it with massif-visualizer)
Back to top
View user's profile Send private message
ExecutorElassus
Veteran
Veteran


Joined: 11 Mar 2004
Posts: 1435
Location: Berlin, Germany

PostPosted: Sat Dec 15, 2012 10:45 pm    Post subject: Reply with quote

well this is weird.

After a few days, I noticed boincmgr doing the same thing as audacious, with a similar output in strace. So this might not be audacious at all, but both of them trying to query/write something that isn't working.

I'll check out valgrind, and let you know what it spits out.

Cheers,

EE
Back to top
View user's profile Send private message
ExecutorElassus
Veteran
Veteran


Joined: 11 Mar 2004
Posts: 1435
Location: Berlin, Germany

PostPosted: Sun Dec 16, 2012 12:16 am    Post subject: Reply with quote

sigh. valgrind says:

Code:
==8571== Memcheck, a memory error detector
==8571== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==8571== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==8571== Command: audacious
==8571== Parent PID: 28262
==8571==

valgrind:  Fatal error at startup: a function redirection
valgrind:  which is mandatory for this platform-tool combination
valgrind:  cannot be set up.  Details of the redirection are:
valgrind: 
valgrind:  A must-be-redirected function
valgrind:  whose name matches the pattern:      strlen
valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2
valgrind:  was not found whilst processing
valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2
valgrind: 
valgrind:  Possible fixes: (1, short term): install glibc's debuginfo
valgrind:  package on this machine.  (2, longer term): ask the packagers
valgrind:  for your Linux distribution to please in future ship a non-
valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)
valgrind:  that exports the above-named function using the standard
valgrind:  calling conventions for this platform.  The package you need
valgrind:  to install for fix (1) is called
valgrind: 
valgrind:    On Debian, Ubuntu:                 libc6-dbg
valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo
valgrind: 
valgrind:  Cannot continue -- exiting now.  Sorry.

so, uh, dumb question: what's the package that provides debugging for glibc on gentoo?

Cheers,

EE
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Sun Dec 16, 2012 5:03 am    Post subject: Reply with quote

put "-ggdb" into your CFLAGS and check the FEATURES-Variable: you want to set "splitdebug". Check "man make.conf" if you are unsure.

// edit:
Of course you need to rebuild glibc to make use of the new CFLAGS/FEATURES ;)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum