Current Valgrind analysis including leak check

Mark Kretschmann kretschmann at kde.org
Fri Apr 17 13:02:33 CEST 2009


On Fri, Apr 17, 2009 at 10:25 AM, Mark Kretschmann <kretschmann at kde.org> wrote:
> Ahoy,
>
> if anyone is interested, I've just been running a Valgrind memcheck
> session, including high resolution leak checking. My original
> intention was to find a possible memory leak with "Watch Folders For
> Changes". Several users complained about growing memory usage when
> this feature is enabled. E.g here in our forum:
>
> http://amarok.kde.org/forum/index.php/topic,16825.0.html

Regarding the collection watching leak, I found this here, which could
be a bug in Amarok or in Solid, I'm not sure. At any rate, I've
submitted a bug report for Solid:

https://bugs.kde.org/show_bug.cgi?id=189863


Here's the suspicious part of the log (the high block count makes me
think it could be serious):


==12028== 2,832 bytes in 117 blocks are possibly lost in loss record
749 of 5,066
==12028==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==12028==    by 0x54A80BC: qMalloc(unsigned) (in /usr/lib/libQtCore.so.4.5.0)
==12028==    by 0x54E09DB: QMapData::node_create(QMapData::Node**,
int) (in /usr/lib/libQtCore.so.4.5.0)
==12028==    by 0x645F020: (within /usr/lib/libsolid.so.4.2.0)
==12028==    by 0x6478F59: (within /usr/lib/libsolid.so.4.2.0)
==12028==    by 0x64789E1: (within /usr/lib/libsolid.so.4.2.0)
==12028==    by 0x6476683: (within /usr/lib/libsolid.so.4.2.0)
==12028==    by 0x6473C0B: (within /usr/lib/libsolid.so.4.2.0)
==12028==    by 0x64408E6:
Solid::Device::asDeviceInterface(Solid::DeviceInterface::Type const&)
const (in /usr/lib/libsolid.so.4.2.0)
==12028==    by 0x12A36149: Solid::StorageAccess const*
Solid::Device::as<Solid::StorageAccess>() const (device.h:237)
==12028==    by 0x12A34AB9:
MassStorageDeviceHandlerFactory::createHandler(Solid::Device const&,
QString const&) const (MassStorageDeviceHandler.cpp:132)
==12028==    by 0x46B54B6:
MountPointManager::createHandlerFromDevice(Solid::Device const&,
QString const&) (MountPointManager.cpp:521)
==12028==    by 0x46B7423: MountPointManager::init() (MountPointManager.cpp:138)
==12028==    by 0x46B7C6C: MountPointManager::MountPointManager()
(MountPointManager.cpp:80)
==12028==    by 0x46B7CFA: MountPointManager::instance()
(MountPointManager.cpp:54)
==12028==    by 0xFB91902: ScanManager::getDirsToScan() (ScanManager.cpp:383)
==12028==    by 0xFB93305: ScanManager::startIncrementalScan()
(ScanManager.cpp:156)
==12028==    by 0xFBA075F: SqlCollection::startIncrementalScan()
(SqlCollection.cpp:117)
==12028==    by 0x4593B5C: CollectionManager::checkCollectionChanges()
(CollectionManager.cpp:182)
==12028==    by 0x462C74D: App::continueInit() (App.cpp:627)
==12028==    by 0x462F2F1: App::App() (App.cpp:200)
==12028==    by 0x804BDB4: main (main.cpp:126)

-- 
Mark Kretschmann
Amarok Developer
www.kde.org - amarok.kde.org


More information about the Amarok-devel mailing list