Closed Bug 922100 Opened 11 years ago Closed 7 years ago

profiler memory is not reported

Categories

(Core :: Gecko Profiler, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 816598

People

(Reporter: froydnj, Unassigned)

References

(Blocks 1 open bug)

Details

Seen on fresh startup:

Unreported: 1 block in stack trace record 1 of 5,590
 16,003,072 bytes (16,000,000 requested / 3,072 slop)
 3.60% of the heap (3.60% cumulative);  11.98% of unreported (11.98% cumulative)
 Allocated at
   replace_malloc (/home/froydnj/src/mozilla-central-official/memory/replace/dmd/DMD.cpp:1227) 0x7fdcb0f20f44
   moz_xmalloc (/home/froydnj/src/mozilla-central-official/memory/mozalloc/mozalloc.cpp:55) 0x7fdcb0f12121
   ThreadProfile::ThreadProfile(char const*, int, PseudoStack*, int, PlatformData*, bool, void*) (/home/froydnj/src/mozilla-central-official/tools/profiler/ProfileEntry.cpp:162) 0x7fdcad743632
   ThreadInfo::SetProfile(ThreadProfile*) (/home/froydnj/src/mozilla-central-official/tools/profiler/platform.h:408) 0x7fdcad73e95a
   mozilla_sampler_start(int, double, char const**, unsigned int, char const**, unsigned int) (/home/froydnj/src/mozilla-central-official/tools/profiler/platform.cpp:568) 0x7fdcad73e06b
   nsProfiler::StartProfiler(unsigned int, double, char const**, unsigned int, char const**, unsigned int) (/home/froydnj/src/mozilla-central-official/tools/profiler/nsProfiler.cpp:86) 0x7fdcad73ee4b
   NS_InvokeByIndex (/home/froydnj/src/mozilla-central-official/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:164) 0x7fdcadb38b23
   CallMethodHelper::Invoke() (/home/froydnj/src/mozilla-central-official/js/xpconnect/src/XPCWrappedNative.cpp:2804) 0x7fdcad5964aa
   XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1307) 0x7fdcad599dc9
   CallJSNative (/home/froydnj/src/mozilla-central-official/js/src/jscntxtinlines.h:218) 0x7fdcae140653
   Interpret (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:2488) 0x7fdcae135e8d
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:419) 0x7fdcae1402c6
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:388) 0x7fdcae140587
   js_fun_call(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/src/jsfun.cpp:875) 0x7fdcae24bd0f
   CallJSNative (/home/froydnj/src/mozilla-central-official/js/src/jscntxtinlines.h:218) 0x7fdcae140653
   Interpret (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:2488) 0x7fdcae135e8d
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:419) 0x7fdcae1402c6
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:388) 0x7fdcae140587
   js_fun_call(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/src/jsfun.cpp:875) 0x7fdcae24bd0f
   CallJSNative (/home/froydnj/src/mozilla-central-official/js/src/jscntxtinlines.h:218) 0x7fdcae140653
   Interpret (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:2488) 0x7fdcae135e8d
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:419) 0x7fdcae1402c6
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:388) 0x7fdcae140587
   js_fun_call(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/src/jsfun.cpp:875) 0x7fdcae24bd0f
I don't think the memory from mozilla_sampler_init is reported also. That memory is always allocated even without the profiler running.
Also, a little further down:

Unreported: 65 blocks in stack trace record 13 of 5,590
 1,064,960 bytes (1,040,000 requested / 24,960 slop)
 0.24% of the heap (12.43% cumulative);  0.80% of unreported (41.35% cumulative)
 Allocated at
   replace_malloc (/home/froydnj/src/mozilla-central-official/memory/replace/dmd/DMD.cpp:1227) 0x7fdcb0f20f44
   moz_xmalloc (/home/froydnj/src/mozilla-central-official/memory/mozalloc/mozalloc.cpp:55) 0x7fdcb0f12121
   ThreadProfile::ThreadProfile(char const*, int, PseudoStack*, int, PlatformData*, bool, void*) (/home/froydnj/src/mozilla-central-official/tools/profiler/ProfileEntry.cpp:162) 0x7fdcad743632
   SyncProfile::SyncProfile(char const*, int, PseudoStack*, int, bool) (/home/froydnj/src/mozilla-central-official/tools/profiler/SyncProfile.cpp:16) 0x7fdcad7466d7
   NewSyncProfile (/home/froydnj/src/mozilla-central-official/tools/profiler/TableTicker.cpp:627) 0x7fdcad73f308
   TableTicker::GetBacktrace() (/home/froydnj/src/mozilla-central-official/tools/profiler/TableTicker.cpp:641) 0x7fdcad73f4f9
   operator new (/opt/build/froydnj/build-mc/tools/profiler/../../dist/include/mozilla/mozalloc.h:201) 0x7fdcad73ddcd
   profiler_get_backtrace (/home/froydnj/src/mozilla-central-official/tools/profiler/GeckoProfilerImpl.h:86) 0x7fdcad746166
   mozilla::IOInterposer::Report(mozilla::IOInterposeObserver::Observation&) (/home/froydnj/src/mozilla-central-official/tools/profiler/IOInterposer.cpp:169) 0x7fdcad7459d7
   ~IOThreadAutoTimer (/home/froydnj/src/mozilla-central-official/storage/src/TelemetryVFS.cpp:101) 0x7fdcad6664ac
   xRead (/home/froydnj/src/mozilla-central-official/storage/src/TelemetryVFS.cpp:154) 0x7fdcad666579
   readDbPage (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:41224) 0x7fdcaf9837e9
   sqlite3PagerAcquire (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:43697) 0x7fdcaf9b1643
   btreeGetPage (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:51176) 0x7fdcaf9b16cd
   getAndInitPage (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:51231) 0x7fdcaf9b1724
   moveToChild (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:53871) 0x7fdcaf9b177b
   sqlite3BtreeMovetoUnpacked (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:54349) 0x7fdcaf9b5dd5
   sqlite3VdbeExec (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:69322) 0x7fdcaf9bd9d7
   sqlite3Step (/home/froydnj/src/mozilla-central-official/db/sqlite3/src/sqlite3.c:63735) 0x7fdcaf9c23c4
   mozilla::storage::Connection::stepStatement(sqlite3_stmt*) (/home/froydnj/src/mozilla-central-official/storage/src/mozStorageConnection.cpp:916) 0x7fdcad66cefe
   mozilla::storage::Statement::ExecuteStep(bool*) (/home/froydnj/src/mozilla-central-official/storage/src/mozStorageStatement.cpp:653) 0x7fdcad6719b1
   nsNavBookmarks::QueryFolderChildren(long, nsNavHistoryQueryOptions*, nsCOMArray<nsNavHistoryResultNode>*) (/home/froydnj/src/mozilla-central-official/toolkit/components/places/nsNavBookmarks.cpp:1790) 0x7fdcad6e46f6
   nsNavHistoryFolderResultNode::FillChildren() (/home/froydnj/src/mozilla-central-official/toolkit/components/places/nsNavHistoryResult.cpp:3236) 0x7fdcad6da25c
   nsNavHistoryFolderResultNode::OpenContainer() (/home/froydnj/src/mozilla-central-official/toolkit/components/places/nsNavHistoryResult.cpp:3057) 0x7fdcad6da29f

Unreported: 1 block in stack trace record 15 of 5,590
 786,432 bytes (786,432 requested / 0 slop)
 0.18% of the heap (12.79% cumulative);  0.59% of unreported (42.54% cumulative)
 Allocated at
   replace_calloc (/home/froydnj/src/mozilla-central-official/memory/replace/dmd/DMD.cpp:1246) 0x7fdcb0f20edb
   js::detail::HashTable<js::HashMapEntry<JSScript*, char const*>, js::HashMap<JSScript*, char const*, js::DefaultHasher<JSScript*>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::changeTableSize(int) (/opt/build/froydnj/build-mc/js/src/./../../dist/include/js/HashTable.h:1170) 0x7fdcae17815d
   js::SPSProfiler::enter(JSContext*, JSScript*, JSFunction*) (/home/froydnj/src/mozilla-central-official/js/src/vm/SPSProfiler.cpp:114) 0x7fdcae1782f3
   js::StackFrame::setPushedSPSFrame() (/home/froydnj/src/mozilla-central-official/js/src/vm/Stack.h:751) 0x7fdcae18f884
   Interpret (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:2551) 0x7fdcae13a083
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:419) 0x7fdcae1402c6
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:388) 0x7fdcae140587
   js_fun_call(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/src/jsfun.cpp:875) 0x7fdcae24bd0f
   CallJSNative (/home/froydnj/src/mozilla-central-official/js/src/jscntxtinlines.h:218) 0x7fdcae140653
   Interpret (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:2488) 0x7fdcae135e8d
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:419) 0x7fdcae1402c6
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:388) 0x7fdcae140587
   js_fun_apply(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/src/jsfun.cpp:1027) 0x7fdcae24c0dd
   CallJSNative (/home/froydnj/src/mozilla-central-official/js/src/jscntxtinlines.h:218) 0x7fdcae140653
   Interpret (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:2488) 0x7fdcae135e8d
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:419) 0x7fdcae1402c6
   RunScript (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:388) 0x7fdcae140587
   js_fun_apply(JSContext*, unsigned int, JS::Value*) (/home/froydnj/src/mozilla-central-official/js/src/jsfun.cpp:1027) 0x7fdcae24c0dd
   CallJSNative (/home/froydnj/src/mozilla-central-official/js/src/jscntxtinlines.h:218) 0x7fdcae140653
   js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) (/home/froydnj/src/mozilla-central-official/js/src/vm/Interpreter.cpp:512) 0x7fdcae1425cd
   DoCallFallback (/home/froydnj/src/mozilla-central-official/js/src/jit/BaselineIC.cpp:7575) 0x7fdcae31e5db
   ??? 0x7fdc9f650270
NewSyncProfile/SyncProfile::SyncProfile is a temporary object.
(In reply to Benoit Girard (:BenWa) from comment #3)
> NewSyncProfile/SyncProfile::SyncProfile is a temporary object.

Temporary from the perspective of C++ or temporary from the perspective of JS?  Because DMD clearly doesn't think it's temporary here.
Ohh wait, it's stored with the marker. Nevermind it will stick around for some time.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.