Accessing damaged heaps using combined linear heap slot based and object graph walking

US10365963B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10365963-B2
Application numberUS-201715407040-A
CountryUS
Kind codeB2
Filing dateJan 16, 2017
Priority dateJan 16, 2017
Publication dateJul 30, 2019
Grant dateJul 30, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments described herein provide a method, system, and computer readable medium configured to analyze a heap following a core dump is disclosed herein. The method begins by generating the core dump responsive to an occurrence of an event in a run-time environment. The core dump contains the contents of a heap at a moment in time that the event occurred. The processor analyzes the heap in the run-time environment using a first heap analysis method at a first starting point in the heap. The heap includes one or more slots. Each slot contains one or more objects. The processor analyzes the contents of the heap specified by the core dump using a second heap analysis method at a second starting point in the heap, responsive to determining that a first slot is not reachable.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: generating a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects; selectively processing the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising: analyzing the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap, wherein the first heap analysis method comprises analyzing a linear representation of the heap; and responsive to determining that a first slot is not reachable using the first heap analysis method: determining a second starting point in the heap; and analyzing the contents of the heap specified by the core dump using a second heap analysis method, the second starting point in the heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap. 2. The method of claim 1 , wherein analyzing the heap in the run-time environment using a first heap analysis, comprises: locating the first starting point in a linear representation of the heap; determining whether the first starting point in the heap is reachable; responsive to determining that the first starting point is reachable, incrementally walking to heap to slot n +1, where n represents a last analyzed slot. 3. The method of claim 2 , further comprising: determining whether the n+1 slot is reachable; responsive to determining that the n+1 slot is reachable, analyzing the n+1 slot to determine whether the n+1 slot contains one or more objects; and responsive to determining that the n+1 slot contains one or more objects, recording that the n+1 slot contains one or more objects. 4. The method of claim 1 , wherein responsive to determining that a first slot is not reachable, analyzing the contents of the heap specified by the core dump using a second heap analysis method at a second starting point in the heap, comprises: locating the first starting point in a graph-based depiction of the heap; identifying one or more roots stemming from the first starting point; incrementally walking along the one or more roots until a second slot is reached; determining whether the second slot is reachable; and responsive to determining that the second slot is reachable, incrementally walking along the one or more roots until another slot is reached. 5. The method of claim 4 , further comprising: incrementally walking along the one or more roots until a third slot is reached; determining whether the third slot is reachable; and responsive to determining that the third slot is reachable, identifying the second slot as a furthest slot reached. 6. A system, comprising a computer processor; and a memory containing a program that, when executed on the computer processor, performs an operation, comprising: generating a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects; selectively processing the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising: analyzing the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap; and responsive to determining that a first slot is not reachable using the first heap analysis method: determining a second starting point in the heap; and analyzing the contents of the heap specified by the core dump using a second heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap analysis method, at the second starting point in the heap. 7. The system of claim 6 , wherein analyzing the heap in the run-time environment using a first heap analysis, comprises: locating the first starting point in a linear representation of the heap; determining whether the first starting point in the heap is reachable; responsive to determining that the first starting point is reachable, incrementally walking to heap to slot n +1, where n represents a last analyzed slot. 8. The system of claim 7 , wherein the operation further comprises: determining whether the n+1 slot is reachable; responsive to determining that the n+1 slot is reachable, analyzing the n+1 slot to determine whether the n+1 slot contains one or more objects; and responsive to determining that the n+1 slot contains one or more objects, recording that the n+1 slot contains one or more objects. 9. The system of claim 6 , wherein responsive to determining that a first slot is not reachable, analyzing the contents of the heap specified by the core dump using a second heap analysis method at a second starting point in the heap, comprises: locating the first starting point in a graph-based depiction of the heap; identifying one or more roots stemming from the first starting point; incrementally walking along the one or more roots until a second slot is reached; determining whether the second slot is reachable; and responsive to determining that the second slot is reachable, incrementally walking along the one or more roots until another slot is reached. 10. The system of claim 9 , wherein the operation further comprises: incrementally walking along the one or more roots until a third slot is reached; determining whether the third slot is reachable; and responsive to determining that the third slot is reachable, identifying the second slot as a furthest slot reached. 11. A computer program product for analyzing a heap following a core dump, the computer program product comprising: a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to: generate a core dump responsive to an occurrence of an event in a run-time environment, wherein the core dump specifies contents of a heap at a moment in time that the event occurred, wherein the heap includes one or more slots, and wherein each slot of the one or more slots contains a respective one or more objects; selectively process the contents of the heap of the core dump, using an analysis application and by operation of one or more computer processors, using one of a plurality of heap analysis methods, comprising: analyze the contents of the heap specified by the core dump using a first heap analysis method of the plurality of heap analysis methods, at a first starting point in the heap; and responsive to determining that a first slot is not reachable using the first heap analysis method: determine a second starting point in the heap; and analyze the contents of the heap specified by the core dump using a second heap analysis method at the second starting point in the heap, wherein the second heap analysis method comprises analyzing a graph-based representation of the heap. 12. The computer program product of claim 11 , wherein analyzing the heap in the run-time environment using a first heap analysis, comprises: locating the fi

Assignees

Inventors

Classifications

  • Event-based monitoring · CPC title

  • Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title

  • in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title

  • G06F11/079Primary

    Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10365963B2 cover?
Embodiments described herein provide a method, system, and computer readable medium configured to analyze a heap following a core dump is disclosed herein. The method begins by generating the core dump responsive to an occurrence of an event in a run-time environment. The core dump contains the contents of a heap at a moment in time that the event occurred. The processor analyzes the heap in th…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/079. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 30 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).