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

Bug 546876

Summary: Many errors caused by org.eclipse.e4.ui.workbench.renderers.swt
Product: [Eclipse Project] JDT Reporter: Aleksander Nowak <nowak.aleksander78>
Component: UIAssignee: Stephan Herrmann <stephan.herrmann>
Status: CLOSED NOT_ECLIPSE QA Contact:
Severity: normal    
Priority: P3 CC: stephan.herrmann
Version: 4.9   
Target Milestone: 4.12 M3   
Hardware: PC   
OS: Windows 10   
Whiteboard:

Description Aleksander Nowak CLA 2019-04-30 15:08:09 EDT
What steps will reproduce the problem?
1. Click on a project folder in the package explorer
2. 
3. 


-- Error Details --
Date: Tue Apr 30 19:37:46 CEST 2019
Message: Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench.renderers.swt".
Severity: Error
Product: Eclipse IDE 4.11.0.20190314-1200 (org.eclipse.epp.package.jee.product)
Plugin: org.eclipse.e4.ui.workbench.renderers.swt
Session Data:
eclipse.buildId=4.11.0.I20190307-0500
java.fullversion=1.8.0_212-b03
JRE 1.8.0 Windows 8 amd64-64-Bit Compressed References 20190417_339 (JIT enabled, AOT disabled)
OpenJ9   - bad1d4d06
OMR      - 4a4278e6
JCL      - 5590c4f818 based on jdk8u212-b03
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

Exception Stack Trace:
org.eclipse.e4.core.di.InjectionException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException: root cannot be null
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:320)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:254)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:84)
	at org.eclipse.core.commands.Command.setEnabled(Command.java:865)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:179)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.canExecuteItem(HandledContributionItem.java:459)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$1.run(AbstractContributionItem.java:516)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.updateItemEnablement(AbstractContributionItem.java:557)
	at org.eclipse.e4.ui.workbench.renderers.swt.ToolItemUpdater.run(ToolItemUpdater.java:87)
	at org.eclipse.swt.widgets.Display.runTimer(Display.java:4046)
	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3167)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3545)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.ui.internal.Workbench$$Lambda$85.00000000157C34B0.run(Unknown Source)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:566)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException: root cannot be null
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)
	at com.vectrace.MercurialEclipse.menu.FlagPropertyTester.test(FlagPropertyTester.java:144)
	at org.eclipse.core.internal.expressions.Property.test(Property.java:61)
	at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:103)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.AdaptExpression.evaluate(AdaptExpression.java:118)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.IterateExpression.evaluate(IterateExpression.java:165)
	at org.eclipse.core.internal.expressions.ReferenceExpression.evaluate(ReferenceExpression.java:74)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:69)
	at org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:25)
	at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:228)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.setEnabled(E4HandlerProxy.java:134)
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	... 37 more
Caused by: java.lang.NullPointerException: root cannot be null
	at com.vectrace.MercurialEclipse.team.cache.HgRootStatus.<init>(HgRootStatus.java:76)
	at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache$HgRootStatuses.get(MercurialStatusCache.java:414)
	at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache.containsAnyStatus(MercurialStatusCache.java:1819)
	at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache.containsAnyStatus(MercurialStatusCache.java:1815)
	at com.vectrace.MercurialEclipse.menu.FlagPropertyTester$AnyChildStatusQuery.get(FlagPropertyTester.java:228)
	at com.vectrace.MercurialEclipse.menu.FlagPropertyTester$AnyChildStatusQuery.get(FlagPropertyTester.java:1)
	at com.vectrace.MercurialEclipse.menu.FlagPropertyTester$1.load(FlagPropertyTester.java:109)
	at com.vectrace.MercurialEclipse.menu.FlagPropertyTester$1.load(FlagPropertyTester.java:1)
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
	... 57 more
Comment 1 Stephan Herrmann CLA 2019-04-30 16:26:53 EDT
First, this obviously is not a JDT/UI bug :)

Also org.eclipse.e4.ui.workbench.renderers.swt cannot be blamed, it simply invokes a registered extension.

The root cause is this:

Caused by: java.lang.NullPointerException: root cannot be null
	at com.vectrace.MercurialEclipse.team.cache.HgRootStatus.<init>(HgRootStatus.java:76)
	at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache$HgRootStatuses.get(MercurialStatusCache.java:414)

Closing as NOT_ECLIPSE, because com.vectrace.MercurialEclipse is not maintained at eclipse.org. Please report the issue to them.