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

Reply via email to