Closed
Bug 1336448
Opened 7 years ago
Closed 7 years ago
still a lot of js::TraceLoggerThread allocated memory in nightly
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
People
(Reporter: bkelly, Assigned: h4writer)
References
Details
(Whiteboard: [MemShrink])
Attachments
(1 file)
1.20 KB,
patch
|
bbouvier
:
review+
jcristau
:
approval-mozilla-aurora+
jcristau
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
So I've been continuing to run DMD buils in the nightly to try to track down the problem in bug 1330976. Testing on a build with rev 823dc40ab5fe which includes bug 1334129 I am still seeing about 150MB of TraceLoggerThread memory in use. It seems all of this is through HandleGCParallelWorkload, in case that matters. Unreported { 49,424 blocks in heap block record 1 of 6,696 50,610,176 bytes (37,957,632 requested / 12,652,544 slop) Individual block sizes: 1,024 x 49,424 19.25% of the heap (19.25% cumulative) 26.03% of unreported (26.03% cumulative) Allocated at { #01: calloc_impl (c:\devel\mozilla-central\memory\build\replace_malloc.c:182) #02: js::TraceLoggerThread::init (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp:126) #03: js::TraceLoggerThreadState::forThread (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp> #04: js::TraceLoggerForCurrentThread (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp:1000) #05: js::HelperThread::handleGCParallelWorkload (c:\devel\mozilla-central\js\src\vm\helperthrea> #06: js::HelperThread::threadLoop (c:\devel\mozilla-central\js\src\vm\helperthreads.cpp:1935) #07: js::detail::ThreadTrampoline<void (__cdecl&)(void * __ptr64),js::HelperThread * __ptr64>::> #08: o__realloc_base[C:\WINDOWS\System32\ucrtbase.dll +0x1cab0] #09: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x8364] #10: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x670d1] } } Unreported { 49,378 blocks in heap block record 2 of 6,696 50,563,072 bytes (37,922,304 requested / 12,640,768 slop) Individual block sizes: 1,024 x 49,378 19.23% of the heap (38.47% cumulative) 26.00% of unreported (52.03% cumulative) Allocated at { #01: calloc_impl (c:\devel\mozilla-central\memory\build\replace_malloc.c:182) #02: js::TraceLoggerThread::init (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp:128) #03: js::TraceLoggerThreadState::forThread (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp> #04: js::TraceLoggerForCurrentThread (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp:1000) #05: js::HelperThread::handleGCParallelWorkload (c:\devel\mozilla-central\js\src\vm\helperthrea> #06: js::HelperThread::threadLoop (c:\devel\mozilla-central\js\src\vm\helperthreads.cpp:1935) #07: js::detail::ThreadTrampoline<void (__cdecl&)(void * __ptr64),js::HelperThread * __ptr64>::> #08: o__realloc_base[C:\WINDOWS\System32\ucrtbase.dll +0x1cab0] #09: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x8364] #10: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x670d1] } } Unreported { 49,291 blocks in heap block record 3 of 6,696 50,473,984 bytes (50,473,984 requested / 0 slop) Individual block sizes: 1,024 x 49,291 19.19% of the heap (57.67% cumulative) 25.96% of unreported (77.99% cumulative) Allocated at { #01: malloc_impl (c:\devel\mozilla-central\memory\build\replace_malloc.c:152) #02: js::TraceLoggerThread::init (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp:130) #03: js::TraceLoggerThreadState::forThread (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp> #04: js::TraceLoggerForCurrentThread (c:\devel\mozilla-central\js\src\vm\tracelogging.cpp:1000) #05: js::HelperThread::handleGCParallelWorkload (c:\devel\mozilla-central\js\src\vm\helperthrea> #06: js::HelperThread::threadLoop (c:\devel\mozilla-central\js\src\vm\helperthreads.cpp:1935) #07: js::detail::ThreadTrampoline<void (__cdecl&)(void * __ptr64),js::HelperThread * __ptr64>::> #08: o__realloc_base[C:\WINDOWS\System32\ucrtbase.dll +0x1cab0] #09: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x8364] #10: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x670d1] } } Hannes, any thoughts? Is there anything I can look for in about:memory to determine if we have a lot of runtimes or helper threads?
Flags: needinfo?(hv1989)
Updated•7 years ago
|
Whiteboard: [MemShrink]
Assignee | ||
Comment 1•7 years ago
|
||
Bug 1334194 will fix this on nightly. For aurora and beta I think the best way would be to create patches to not compile tracelogging.
Assignee | ||
Comment 2•7 years ago
|
||
What I said was too harsh. People are using tracelogger on release/beta/aurora. That would have been a no-go. This patch is better. This will only disable logging the helperthreads. Which is nice to have, but I've only seen people use it in the shell. As a result this is a good temporary trade-off for those releases. https://hg.mozilla.org/try/pushloghtml?changeset=a4526019942c2184ee8c2021ebbb1d55bcada946
Assignee | ||
Comment 3•7 years ago
|
||
Request tracking for a memory leak.
status-firefox51:
--- → affected
status-firefox52:
--- → affected
status-firefox53:
--- → affected
tracking-firefox51:
--- → ?
tracking-firefox52:
--- → ?
tracking-firefox53:
--- → ?
Comment 4•7 years ago
|
||
Comment on attachment 8833556 [details] [diff] [review] Patch for aurora/beta Review of attachment 8833556 [details] [diff] [review]: ----------------------------------------------------------------- ¯\_(ツ)_/¯
Attachment #8833556 -
Flags: review?(bbouvier) → review+
Assignee | ||
Comment 5•7 years ago
|
||
Comment on attachment 8833556 [details] [diff] [review] Patch for aurora/beta Approval Request Comment [Feature/Bug causing the regression]: Tracelogger [User impact if declined]: Memory leak throughout the usage of the browser. [Is this code covered by automated tests?]: Yes [Has the fix been verified in Nightly?]: This is not going to land on nightly. Nightly has another fix which depends on nightly only code. [Needs manual test from QE? If yes, steps to reproduce]: / [List of other uplifts needed for the feature/fix]: / [Is the change risky?]: [Why is the change risky/not risky?]: No, it returns "nullptr" for a logger, which has always be the default and all function know that they should treat a nullptr as TraceLogger not being enabled. This has been the default for --disable-trace-logging for many years. [String changes made/needed]: /
Attachment #8833556 -
Flags: approval-mozilla-beta?
Attachment #8833556 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 6•7 years ago
|
||
This is a try run of this on aurora: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5cfede4b22ee3f7a984f9b42e76d9a204e8cb10b
Comment 7•7 years ago
|
||
Comment on attachment 8833556 [details] [diff] [review] Patch for aurora/beta neuter tracelogger for helper threads to avoid memory leak, aurora53+, beta52+
Attachment #8833556 -
Flags: approval-mozilla-beta?
Attachment #8833556 -
Flags: approval-mozilla-beta+
Attachment #8833556 -
Flags: approval-mozilla-aurora?
Attachment #8833556 -
Flags: approval-mozilla-aurora+
Comment 8•7 years ago
|
||
This doesn't sound like it's severe enough to track for release; if it does please provide some more explanation :)
Comment 9•7 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-aurora/rev/cb11989283f9
Comment 10•7 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/2f4590c26813
Updated•7 years ago
|
Assignee | ||
Comment 11•7 years ago
|
||
Can you confirm it is fixed on aurora? Bug 1334194 also landed. As a result the next nightly should also contain a fix.
Flags: needinfo?(bkelly)
Reporter | ||
Comment 12•7 years ago
|
||
I'm sorry, but I didn't have an exact STR. If I see it again I'll file a new bug. Thanks.
Flags: needinfo?(bkelly)
You need to log in
before you can comment on or make changes to this bug.
Description
•