DomainController experiences OOME due to many PatchArtifact$State objects

Solution Verified - Updated

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 6.2.x
    • 6.3.x
    • 6.4.x

Issue

  • Our domain controller is experiencing heap space OutOfMemoryErrors upon start up. Increasing heap does not help and a heap dump shows the heap is consumed by thousands of org.jboss.as.patching.validation.PatchArtifact$State objects.

Resolution

  • Restore a previous working EAP installation. Identify and correct problematic rollback.xmls in the $EAP_HOME/.installation directory

Root Cause

  • Something has corrupted JBoss patch metadata, causing an older patch to improperly point to a newer patch as its rollback. This causes looping between the patch artifacts and endless heap consumption.

Diagnostic Steps

  • Capture a heap dump from the OOME, and use the following OQL in Eclipse MAT to check for any problem repeating patch ids:
SELECT patchId.value.toString() FROM org.jboss.as.patching.validation.PatchArtifact$State 
  • Provide your $EAP_HOME/.installation directory to Red Hat support for review.
Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.