Clustering Call Stacks for Out-of-Memory Error Root Cause Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Out-of-memory (OOM) errors in Enterprise Software Systems cause disruptions as they prevent additional memory allocation, leading to malfunctioning applications and a lack of diagnostic clarity, making it difficult to identify the root cause of the error.

Innovation Solution

A method of clustering call stacks from memory dumps resulting from OOM errors, involving the analysis of memory dumps using a memory analysis tool to identify key call stacks, comparing them with previous OOM errors, and using clustering algorithms like DBSCAN to form clusters based on similarity scores, thereby highlighting common patterns and root causes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory dumps are analyzed individually without clustering, then each error can be examined in isolation, but diagnostic efficiency is reduced and root cause identification becomes difficult due to lack of pattern recognition

Engineering Contradiction:
Improvediagnostic efficiencyVSAvoidpattern information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent combines multiple individual memory dump analyses into a unified clustering process. Call stacks from multiple OOM errors are merged and grouped into clusters based on similarity, enabling pattern recognition across errors. This resolving the contradiction by combining individual analyses (maintaining their diagnostic value) while adding cluster-level pattern information to improve overall diagnostic efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary clustering of call stacks from multiple memory dumps before detailed analysis. By pre-grouping similar call stacks into clusters and identifying representative call stacks, the system prepares the data structure in advance, making subsequent root cause analysis more efficient. This preliminary organization prevents information loss by preserving individual error details while establishing pattern relationships upfront.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple memory dumps are analyzed together without clustering, then more error data is available, but the complexity of analysis increases and root cause identification becomes more difficult

Engineering Contradiction:
Improveroot cause identification accuracyVSAvoidanalysis complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the complex task of analyzing multiple memory dumps into distinct phases: (1) individual memory dump processing to extract call stacks, (2) clustering call stacks based on similarity, (3) selecting representative call stacks from each cluster, and (4) analyzing representatives to identify root causes. This segmentation reduces analysis complexity by breaking down the overwhelming task into manageable steps while maintaining reliable root cause identification through systematic progression.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates simplified copies of the original error data by generating representative call stacks that embody the essential characteristics of each cluster. Instead of analyzing all individual call stacks from multiple memory dumps, the system creates condensed representative versions that capture the pattern information. This copying approach maintains reliability by preserving key diagnostic features while reducing analysis complexity through data condensation.

Inventive Principle:
Principle #26Copying

3Loss of information

If detailed analysis of each memory dump is performed, then comprehensive error information is obtained, but time consumption increases and diagnostic efficiency decreases

Engineering Contradiction:
Improveerror detail informationVSAvoidanalysis time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts the essential diagnostic information from multiple detailed memory dumps by clustering call stacks and selecting representatives. Instead of performing detailed analysis on every single call stack from each memory dump, the system extracts key representative call stacks that capture the essential error patterns. This extraction process preserves error detail information at the cluster level while dramatically reducing the time required for comprehensive analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11080125B1Identifying and clustering call stacks across multiple memory dumps with out-of-memory errors
Publication Date: 2021.08.03 ORACLE INT CORP
  • US11080125B1 patent drawing
  • US11080125B1 patent drawing
  • US11080125B1 patent drawing

AI summary

A method of clustering call stacks from a memory dumps resulting from out-of-memory errors includes accessing a memory dump resulting from an out-of-memory error; identifying call stacks in the memory dump that are associated with the out-of-memory error; accessing call stacks from one or more other memory dumps that were determined to be associated with other out-of-memory errors; generating clusters of call stacks based on a similarity score; and providing a cluster for an analysis of the out-of-memory error.