Closed Bug 1081115 Opened 10 years ago Closed 10 years ago

Valgrind reports leaks when pushing Aurora to Try

Categories

(Core :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1069034

People

(Reporter: RyanVM, Unassigned)

Details

We appear to have a Valgrind perma-fail on Aurora (missed because we don't run it on the release branches).

https://treeherder.mozilla.org/ui/logviewer.html#?job_id=2339344&repo=try

31785 TEST-UNEXPECTED-FAIL | valgrind-test | 32 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / nsComponentManagerImpl::ManifestComponent
31827 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
31873 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
31956 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32026 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32105 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32187 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32268 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32348 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32396 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32477 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32558 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32638 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32719 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32800 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32883 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
32970 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33036 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33124 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33210 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33294 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33372 TEST-UNEXPECTED-FAIL | valgrind-test | 136 bytes in 1 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33454 TEST-UNEXPECTED-FAIL | valgrind-test | 176 (64 direct, 112 indirect) bytes in 2 blocks are definitely lost at malloc / moz_xmalloc / operator / nsComponentManagerImpl::RegisterFactory
33530 TEST-UNEXPECTED-FAIL | valgrind-test | 272 bytes in 2 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33574 TEST-UNEXPECTED-FAIL | valgrind-test | 272 bytes in 2 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33658 TEST-UNEXPECTED-FAIL | valgrind-test | 272 bytes in 2 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33739 TEST-UNEXPECTED-FAIL | valgrind-test | 288 bytes in 9 blocks are definitely lost at malloc / moz_xmalloc / operator / nsComponentManagerImpl::RegisterCIDEntryLocked
33791 TEST-UNEXPECTED-FAIL | valgrind-test | 816 bytes in 6 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33837 TEST-UNEXPECTED-FAIL | valgrind-test | 816 bytes in 6 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33885 TEST-UNEXPECTED-FAIL | valgrind-test | 1,632 bytes in 12 blocks are definitely lost at malloc / moz_xmalloc / operator / mozJSComponentLoader::LoadModule
33933 TEST-UNEXPECTED-FAIL | valgrind-test | 1,952 bytes in 61 blocks are definitely lost at malloc / moz_xmalloc / operator / nsComponentManagerImpl::RegisterCIDEntryLocked
33967 TEST-UNEXPECTED-FAIL | valgrind-test | 5,152 bytes in 161 blocks are definitely lost at malloc / moz_xmalloc / operator / nsComponentManagerImpl::ManifestComponent
34015 TEST-UNEXPECTED-FAIL | valgrind-test | 19,776 bytes in 618 blocks are definitely lost at malloc / moz_xmalloc / operator / nsComponentManagerImpl::RegisterCIDEntryLocked

I'll try to bisect this down further.
The leak from LoadModule claims to be on this line:

442     nsAutoPtr<ModuleEntry> entry(new ModuleEntry(cx));

then later we do:

521     mModules.Put(spec, entry);

and

529     // The hash owns the ModuleEntry now, forget about it
530     return entry.forget();

Looking at mModules, it's like so:


   147     // Modules are intentionally leaked, but still cleared.

   148     static PLDHashOperator ClearModules(const nsACString& key, ModuleEntry*& entry, void* cx);

   149     nsDataHashtable<nsCStringHashKey, ModuleEntry*> mModules;

and none of this code is particularly new...
These are known leaks, and we have suppressions for them. However, we recently upgraded the Valgrind on the test machines to 3.10 (bug 945427). The new version gives more detailed stack traces in some cases, which breaks the old suppressions. I updated the suppressions in bug 1069034, but that change hasn't made it to Aurora yet.

So it's not a big deal, though we might want to (a) run Valgrind on Aurora/Beta, and/or (b) merge bug 1069034's patches to Aurora/Beta.
I'll land bug 1069034 on Aurora. Thanks!
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.