Status: New
Owner: ----
New issue 2189 by [email protected]: Heap Snapshot: ObjectIds don't
seem to be absolutely stable
http://code.google.com/p/v8/issues/detail?id=2189
Hi,
I compared a series of heap snapshots (same profiling session) in order to
find out which object was created in which snapshot using the objectId. For
the comparison I wrote an external client in Java.
I expected the objectIds generated by the heap profiler to be stable, but
found out that the type/label of a few objects with the same objectId seem
to change between snapshots. (see the attached output) I think this
shouldn't happen.
Although I don’t have deeper knowledge of C++ or the V8 I have a suspicion:
The HeapProfiler listens to ObjectMoveEvent, so the HeapObjectsMap can
update its entries_map_ on address change of an object. As far as I
understand objects are only removed from the entries_map_ if there is no
object with the respective address during snapshot generation. But what
happens if an object gets removed from the heap by GC and a new object gets
the same address? Is that possible? Would it get the objectId from the dead
object? Could this be an explanation for what I’m experiencing?
Chrome rev: 136839, v8 rev: 11844 (I guess)
Joachim
Attachments:
tool-output.txt 18.9 KB
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev