Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 360227

Summary: NullPointerException while reading heapdump file
Product: [Tools] MAT Reporter: miloslavskacel
Component: CoreAssignee: Project Inbox <mat.core-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: krum.tsvetkov
Version: unspecified   
Target Milestone: 1.6.1   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description miloslavskacel CLA 2011-10-07 09:04:00 EDT
!SESSION 2011-10-07 14:56:38.092 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -application org.eclipse.mat.api.parse D:\CRs\I-35457 (#033105) Problem on web with performance\1006customerfiles\bb_heapdump-1317890996763.hprof
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -consoleLog -application org.eclipse.mat.api.parse D:\CRs\I-35457 (#033105) Problem on web with performance\1006customerfiles\bb_heapdump-1317890996763.hprof

!ENTRY org.eclipse.osgi 4 0 2011-10-07 14:57:20.964
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException
	at org.eclipse.mat.hprof.HprofParserHandlerImpl.resolveClassHierarchy(HprofParserHandlerImpl.java:512)
	at org.eclipse.mat.hprof.Pass2Parser.readInstanceDump(Pass2Parser.java:200)
	at org.eclipse.mat.hprof.Pass2Parser.readDumpSegments(Pass2Parser.java:154)
	at org.eclipse.mat.hprof.Pass2Parser.read(Pass2Parser.java:86)
	at org.eclipse.mat.hprof.HprofIndexBuilder.fill(HprofIndexBuilder.java:79)
	at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:203)
	at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:114)
	at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:145)
	at org.eclipse.mat.internal.apps.ParseSnapshotApp.parse(ParseSnapshotApp.java:114)
	at org.eclipse.mat.internal.apps.ParseSnapshotApp.start(ParseSnapshotApp.java:100)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Comment 1 Andrew Johnson CLA 2012-02-21 13:40:16 EST
The class id for an object is not being found:
        while (clazz.hasSuperClass())
We would need to create a dummy class to be able to read this dump.
Comment 2 Andrew Johnson CLA 2016-11-24 08:12:33 EST
This exception is in the same place:
    public List<IClass> resolveClassHierarchy(long classId)
    {
        List<IClass> answer = new ArrayList<IClass>();

        ClassImpl clazz = classesByAddress.get(classId);
        answer.add(clazz);

        while (clazz.hasSuperClass())   <===
        
 as other bugs with an exception at line 587 e.g. bug 471757 comment 2 so I think the fix for that will fix this.

*** This bug has been marked as a duplicate of bug 471757 ***