Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 353734 - NullPointerException in ExecutionSummaryTab.handleHidden(ExecutionSummaryTab.java:183)
Summary: NullPointerException in ExecutionSummaryTab.handleHidden(ExecutionSummaryTab....
Status: ASSIGNED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Klaus Mandola CLA
QA Contact: Torsten Stolpmann CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-03 07:05 EDT by MH CLA
Modified: 2016-05-05 11:09 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description MH CLA 2011-08-03 07:05:43 EDT
Build Identifier: M20110210-1200

This is the first time I want to profile with the new Eclipse 3.6.2. After the profiler perspective starts and "<monitoring> Profiling" appears, nothing is shown in the profiling result vies. The Eclipse .log shows:


!ENTRY org.eclipse.ui.workbench 4 2 2011-08-03 12:57:26.829
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.hyades.trace.views.adapter.internal.ExecutionSummaryTab.handleHidden(ExecutionSummaryTab.java:183)
	at org.eclipse.hyades.trace.views.adapter.internal.ExecutionStatisticTabItem.setHidden(ExecutionStatisticTabItem.java:134)
	at org.eclipse.hyades.trace.views.adapter.internal.ExecutionStatisticPage2.propagateHiddenToItem(ExecutionStatisticPage2.java:407)
	at org.eclipse.hyades.trace.views.adapter.internal.ExecutionStatisticPage2.handleHidden(ExecutionStatisticPage2.java:387)
	at org.eclipse.hyades.trace.ui.TraceViewerPage.setHidden(TraceViewerPage.java:166)
	at org.eclipse.hyades.trace.ui.TraceViewer.propagateHidden(TraceViewer.java:857)
	at org.eclipse.hyades.trace.ui.TraceViewer.handlePartHidden(TraceViewer.java:844)
	at org.eclipse.hyades.trace.ui.TraceViewer$1.partHidden(TraceViewer.java:130)
	at org.eclipse.ui.internal.PartListenerList2$6.run(PartListenerList2.java:151)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
	at org.eclipse.ui.internal.PartListenerList2.firePartHidden(PartListenerList2.java:149)
	at org.eclipse.ui.internal.PartService.firePartHidden(PartService.java:259)
	at org.eclipse.ui.internal.WorkbenchPagePartList.firePartHidden(WorkbenchPagePartList.java:64)
	at org.eclipse.ui.internal.PartList.partHidden(PartList.java:207)
	at org.eclipse.ui.internal.PartList.access$3(PartList.java:198)
	at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:49)
	at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
	at org.eclipse.ui.internal.WorkbenchPartReference.fireVisibilityChange(WorkbenchPartReference.java:536)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:318)
	at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:529)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:274)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1207)
	at org.eclipse.ui.internal.PerspectiveHelper.bringPartToTop(PerspectiveHelper.java:444)
	at org.eclipse.ui.internal.Perspective.bringToTop(Perspective.java:228)
	at org.eclipse.ui.internal.WorkbenchPage.internalBringToTop(WorkbenchPage.java:799)
	at org.eclipse.ui.internal.WorkbenchPage.internalActivate(WorkbenchPage.java:616)
	at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:589)
	at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1096)
	at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1066)
	at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3822)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3819)
	at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3795)
	at org.eclipse.hyades.trace.views.actions.internal.OpenPatternViewAction.run(OpenPatternViewAction.java:77)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	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)


Reproducible: Always

Steps to Reproduce:
1. Install Eclipse (eclipse-java-helios-SR1-win32.zip)
2. Install TPTP (from within Eclipse)
3. Try to profile a Java project
Comment 1 MH CLA 2011-08-03 07:10:37 EDT
Also get this:

java.lang.NullPointerException
at org.eclipse.hyades.loaders.util.LoadersUtils.registerAgentInstance(LoadersUtils.java:938)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper$2.processLaunched(TIDelegateHelper.java:643)
at org.eclipse.tptp.platform.execution.client.core.internal.ProcessImpl.launchAC(ProcessImpl.java:701)
at org.eclipse.tptp.platform.execution.client.core.internal.ProcessImpl.launch(ProcessImpl.java:130)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper.launchProcess(TIDelegateHelper.java:678)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper.launch(TIDelegateHelper.java:403)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIJavaLauncherDelegate.launch(TIJavaLauncherDelegate.java:37)
at org.eclipse.tptp.trace.ui.internal.launcher.core.LauncherUtility.delegateInit(LauncherUtility.java:1164)
at org.eclipse.tptp.trace.ui.provisional.launcher.PrimaryLaunchDelegate.run(PrimaryLaunchDelegate.java:195)
at java.lang.Thread.run(Unknown Source)
Comment 2 Torsten Stolpmann CLA 2011-08-03 12:23:46 EDT
Klaus, can you please try to reproduce this?
Comment 3 Klaus Mandola CLA 2011-08-04 02:03:01 EDT
I cannot reproduce this behaviour.

I downloaded the eclipse-java-helios-SR1-win32.zip and installed TPTP via the "Install new software" menu from within eclipse, then created a small sample java project.

Invoking "Profile As" -> "Java Application" on either the package or the class worked fine with several metrics like Execution Time Analysis, Thread Analysis, or Memory Analysis.

Invoking the Profiling with a saved Profile Configuration also worked.

I also tried to profile with the internal and external agent controller, both settings worked.

Can you please provide more input?

Regards, Klaus
Comment 4 MH CLA 2011-08-04 14:50:59 EDT
Oh, man. I already changed my Eclipse update behaviour and install everything new for any new Eclipse release. As I had major issues with one ofthe last two upgrades, I also completely created a new .workspace (as the old had several gigabytes and the answers for my bug reports pointed to the workspace). I find it very frustrating that even on new installed Eclipse versions/directories such a simple TPTP install/update (from within >Eclipse) doesn't work. I also get almost everytime errors when installing/updating plugins/addons for Eclipse (Webdevelopment, Profiling, etc.) as it says that something is incompatible. I'm used to Linux where it automatically selects and installs dependend packages in the right versions. Eclipse updates are horror to me as it never works flawlessly. And when I get NullPointerExceptions, I consider these as bugs in Eclipse (or the corresponding module). For this reason I post the stack trace:

java.lang.NullPointerException
    at
org.eclipse.hyades.trace.views.adapter.internal.ExecutionSummaryTab.handleHidden(ExecutionSummaryTab.java:183)
...

If you can't reproduce this, can't you just change the code at this line so that NPEs don't occur anymore (but log some meaningful error message)?