Community
Participate
Working Groups
These methods can return null: getClassesByName(String name, boolean includeSubClasses) getHistogram(int[] objectIds, IProgressListener progressMonitor) getInboundRefererIds(int[] objectIds, IProgressListener progressMonitor) Should they be able to return null? If so, do all uses check for null?
Problem with CollectionFillRatio and and unknown -collection object collections_grouped_by_size .* -collection notfound -size_attribute notfound java.lang.NullPointerException at org.eclipse.mat.inspections.collections.CollectionsBySizeQuery.execute(CollectionsBySizeQuery.java:80) at org.eclipse.mat.query.registry.ArgumentSet.execute(ArgumentSet.java:129) at org.eclipse.mat.ui.QueryExecution$ExecutionJob.run(QueryExecution.java:174) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
All uses do not check for null. Here's an example: java.lang.NullPointerException at org.eclipse.mat.inspections.component.ComponentReportQuery.addOverviewNumbers(ComponentReportQuery.java:276) at org.eclipse.mat.inspections.component.ComponentReportQuery.addOverview(ComponentReportQuery.java:262) at org.eclipse.mat.inspections.component.ComponentReportQuery.execute(ComponentReportQuery.java:94) at org.eclipse.mat.query.registry.ArgumentSet.execute(ArgumentSet.java:129) at org.eclipse.mat.snapshot.query.SnapshotQuery.execute(SnapshotQuery.java:192) at org.eclipse.mat.inspections.component.TopComponentsReportQuery.execute(TopComponentsReportQuery.java:67) at org.eclipse.mat.query.registry.ArgumentSet.execute(ArgumentSet.java:129) at org.eclipse.mat.query.registry.CommandLine.execute(CommandLine.java:93) at org.eclipse.mat.report.internal.QueryPart.execute(QueryPart.java:96) at org.eclipse.mat.report.TestSuite.execute(TestSuite.java:138) at org.eclipse.mat.report.internal.RunRegisterdReport.execute(RunRegisterdReport.java:60) at org.eclipse.mat.query.registry.ArgumentSet.execute(ArgumentSet.java:129) at org.eclipse.mat.ui.QueryExecution$ExecutionJob.run(QueryExecution.java:176) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) The above could have been caused by the user cancelling the progress monitor during an earlier getHistogram(int[] objectIds, IProgressListener progressMonitor) call.
I've checked that calls to those methods now check the return for null.
New Gerrit change created: https://git.eclipse.org/r/157849
Gerrit change https://git.eclipse.org/r/157849 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=3d45e31e4485c49225601e1a40bb6520fd74e6fe
New Gerrit change created: https://git.eclipse.org/r/165041
Gerrit change https://git.eclipse.org/r/165041 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=793ac4a027ad8e9815e71b2cad515665badd0b08
Let's close this one now as we have fixed all the problems we can see.