View previous topic :: View next topic |
Author |
Message |
ExecutorElassus Veteran
Joined: 11 Mar 2004 Posts: 1435 Location: Berlin, Germany
|
Posted: Mon Dec 10, 2012 10:35 pm Post subject: Audacious is leaking memory? |
|
|
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 |
|
|
audiodef Watchman
Joined: 06 Jul 2005 Posts: 6639 Location: The soundosphere
|
|
Back to top |
|
|
ExecutorElassus Veteran
Joined: 11 Mar 2004 Posts: 1435 Location: Berlin, Germany
|
Posted: Thu Dec 13, 2012 5:32 pm Post subject: |
|
|
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 |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Fri Dec 14, 2012 1:22 am Post subject: |
|
|
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 |
|
|
ExecutorElassus Veteran
Joined: 11 Mar 2004 Posts: 1435 Location: Berlin, Germany
|
Posted: Sat Dec 15, 2012 10:45 pm Post subject: |
|
|
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 |
|
|
ExecutorElassus Veteran
Joined: 11 Mar 2004 Posts: 1435 Location: Berlin, Germany
|
Posted: Sun Dec 16, 2012 12:16 am Post subject: |
|
|
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 |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Sun Dec 16, 2012 5:03 am Post subject: |
|
|
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 |
|
|
|
|
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
|
|