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

Bug 395386

Summary: NPE in org.eclipse.ui.internal.views.properties.tabbed.view.OverridableTabListContentProvider.init()
Product: [Eclipse Project] Platform Reporter: Leopoldo (Polo) Miranda <polomm>
Component: UIAssignee: Platform UI Triaged <platform-ui-triaged>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: piotr.aniola, pwebster, sptaszkiewicz, zhoujunj
Version: 4.2.1Keywords: helpwanted
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard: candidate43

Description Leopoldo (Polo) Miranda CLA 2012-11-29 12:54:59 EST
A NPE occurs in  org.eclipse.ui.internal.views.properties.tabbed.view.OverridableTabListContentProvider.init() when a web page is opened in my editor,if and only if, editor view is closed with no changes.

This is the stack trace

java.lang.NullPointerException
    at org.eclipse.ui.internal.views.properties.tabbed.view.OverridableTabListContentProvider.init(Unknown Source)
    at org.eclipse.ui.internal.views.properties.tabbed.view.OverridableTabListContentProvider.inputChanged(Unknown Source)
    at org.eclipse.jface.viewers.ContentViewer.handleDispose(Unknown Source)
    at org.eclipse.jface.viewers.StructuredViewer.handleDispose(Unknown Source)
    at org.eclipse.jface.viewers.ContentViewer$2.widgetDisposed(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Widget.dispose(Unknown Source)
    at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyComposite.dispose(Unknown Source)
    at org.eclipse.ui.part.PageBookView.removePage(Unknown Source)
    at org.eclipse.ui.part.PageBookView.partClosed(Unknown Source)
    at org.eclipse.ui.views.properties.PropertySheet.partClosed(Unknown Source)
    at org.eclipse.ui.part.PageBookView$4.partClosed(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchPage$18.run(Unknown Source)
    at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchPage.firePartClosed(Unknown Source)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart$1.handleEvent(Unknown Source)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(Unknown Source)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(Unknown Source)
    at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(Unknown Source)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(Unknown Source)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(Unknown Source)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(Unknown Source)
    at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventComponent.sendEvent(Unknown Source)
    at org.eclipse.e4.ui.services.internal.events.EventBroker.send(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(Unknown Source)
    at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(Unknown Source)
    at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setWidget(Unknown Source)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.unbindWidget(Unknown Source)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(Unknown Source)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.disposeWidget(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$3(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$8.run(Unknown Source)
    at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.handleEvent(Unknown Source)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(Unknown Source)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(Unknown Source)
    at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(Unknown Source)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(Unknown Source)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(Unknown Source)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(Unknown Source)
    at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(Unknown Source)
    at org.eclipse.equinox.internal.event.EventComponent.sendEvent(Unknown Source)
    at org.eclipse.e4.ui.services.internal.events.EventBroker.send(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(Unknown Source)
    at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(Unknown Source)
    at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(Unknown Source)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(Unknown Source)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$9(Unknown Source)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$10.close(Unknown Source)
    at org.eclipse.swt.custom.CTabFolder.onMouse(Unknown Source)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(Unknown Source)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Unknown Source)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(Unknown Source)
    at org.eclipse.ui.internal.Workbench$5.run(Unknown Source)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    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(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

Also, this problem is already reported in this forum http://www.eclipse.org/forums/index.php/m/946612/

Finally, I'm not seeing this problem on Linux platform (just windows 7).
Comment 1 Leopoldo (Polo) Miranda CLA 2012-12-05 10:12:28 EST
Hello,

Is there a chance I get this problem fixed in Eclipse 4.2.2 ?

Thanks in advanced, Polo.
Comment 2 Paul Webster CLA 2012-12-05 10:32:42 EST
If someone provides a solution that's not risky, then it could be considered for 4.2.2

PW
Comment 3 Leopoldo (Polo) Miranda CLA 2012-12-19 12:05:53 EST
Hello eclipse folks,

anyone that can help on this problem ?

I'd very much appreciate your help,
Polo.
Comment 4 Paul Webster CLA 2012-12-20 10:20:50 EST
(In reply to comment #3)
> Hello eclipse folks,
> 
> anyone that can help on this problem ?

See comment #2

PW
Comment 5 Piotr Aniola CLA 2013-05-16 11:15:26 EDT
Hello, Leopoldo,

can you please provide me with a sample project that reproduces this issue?
This should be an easy fix.
Comment 6 Leopoldo (Polo) Miranda CLA 2013-10-03 17:52:58 EDT
Hi Piotr,

During 2nd round or test, we're not seeing this problem any more.  Closing as invalid.
Comment 7 Leopoldo (Polo) Miranda CLA 2013-10-03 17:53:36 EDT
See my previous comment.
Comment 8 Leopoldo (Polo) Miranda CLA 2013-10-03 17:54:55 EDT
.
Comment 9 zhou jun CLA 2014-12-01 21:28:46 EST
I have report this bug in the IBM EclipseCriticalBugList https://bugs.ottawa.ibm.com/show_bug.cgi?id=130633 

some other people also find the problem https://www.eclipse.org/forums/index.php/m/946612/
Comment 10 Wojciech Sudol CLA 2014-12-05 05:54:42 EST
Steps to reproduce the issue:
1. Import org.eclipse.ui.examples.views.properties.tabbed.article project (http://git.eclipse.org/c/platform/eclipse.platform.ui.git/tree/examples/org.eclipse.ui.examples.views.properties.tabbed.article).
2. Open its configuration file (plugin.xml).
3. In the "Extensions" tab modify the org.eclipse.ui.views.properties.tabbed.propertyContributor extension point by setting "overridableTabListContentProvider" to "true".
4. Run Eclipse with the plugin.
5. If the "Tabbed Properties Example View" is open, close it.
6. Open "Properties" view.
7. Open any other view, and move it somewhere, so the "Properties" view is visible. This is necessary to ensure that a next view will open in a stack different than the one where "Properties" view is open.
8. Open "Tabbed Properties Example View".
9. Close the view.

This bug is most likely a symptom of bug 411704. Initial fix for bug 411704 fixes this issue as well.
Comment 11 Wojciech Sudol CLA 2015-01-27 09:14:57 EST
After fixing bug 411704 I cannot reproduce this issue. Thus I mark this bug as a duplicate.

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