Process Memory Resurrection for Post-Crash Diagnostics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Native runtime diagnostic tools for complex software systems like the Java Virtual Machine (JVM) are inaccessible after a process has crashed, limiting the ability to analyze the behavior of a crashed program, and the existence of multiple versions of diagnostic tools increases maintenance burdens.
Innovation Solution
A recovery system that resurrects process memory by loading memory segments from a memory dump into a new process, allowing diagnostic methods to be called as if the program had not crashed, thereby restoring the functionality of runtime diagnostic tools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a process crashes and terminates, then the program execution stops, but the ability to use runtime diagnostic tools is lost
Solution Approach 1:
The patent creates a copy of the crashed process's memory image and loads it into a new process structure. This allows diagnostic tools to operate on the copied memory data without requiring the original process to be running, effectively extending diagnostic capability beyond the process's actual lifetime.
Solution Approach 2:
The patent introduces a new process as an intermediary between the crashed process's memory dump and the diagnostic tools. This new process acts as a mediator that hosts the memory image and enables diagnostic tool access, bridging the gap between the terminated process and the still-functional diagnostic infrastructure.
2Adaptability or versatility
If multiple versions of diagnostic tools are maintained for runtime and post-mortem analysis, then comprehensive diagnostics are available, but maintenance burden increases
Solution Approach 1:
The patent makes runtime diagnostic tools universal by enabling them to work with both live processes and resurrected process images. The same diagnostic tool infrastructure serves dual purposes: analyzing running processes and analyzing crashed processes, eliminating the need for separate post-mortem diagnostic tool versions.
Solution Approach 2:
The patent merges the functionality of runtime and post-mortem diagnostics by allowing runtime diagnostic tools to operate on resurrected process images. This combines what were previously separate diagnostic capabilities into a unified approach, reducing the number of tool versions needed.
Data Source
AI summary
In one aspect, a method includes identifying a memory dump generated by an operating system, identifying, within the memory dump, a set of memory segments associated with an instance of a program to map to virtual memory of a new process, loading the set of memory segments into virtual memory of the new process, and performing one or more diagnostics using the program in the new process. Performing the one or more diagnostics using the program in the new process may include calling code associated with the instance of the program and new program code, such as a newly built program that is part of a runtime diagnostic tool.


