Community
Participate
Working Groups
Using Eclipse 4.4.0-I20130807-2000, CDT 8.2.0.201308121741 1. Start debugging a Java program (a runtime Eclipse works) 2. In the Debug view, click on different items in the tree. Exception occurs: org.eclipse.core.runtime.CoreException: No property tester contributes a property org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled to type class org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:123) at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:96) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53) at org.eclipse.core.internal.expressions.IterateExpression.evaluate(IterateExpression.java:189) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53) at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:72) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53) at org.eclipse.core.internal.expressions.AndExpression.evaluate(AndExpression.java:29) at org.eclipse.core.internal.expressions.ReferenceExpression.evaluate(ReferenceExpression.java:70) at org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer$1.run(ContributionsAnalyzer.java:252) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer.isVisible(ContributionsAnalyzer.java:250) at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.computeVisibility(ContributionRecord.java:167) at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.updateVisibility(ContributionRecord.java:97) at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:185) at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:196) at org.eclipse.ui.internal.WorkbenchWindow$8.run(WorkbenchWindow.java:643) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3715) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3364) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:613) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:109) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:80) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:372) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:226) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426) Since the Error log view takes focus every time the exception gets logged, I can't click on any other view while in the Debug perspective so I have to constantly switch perspective.
Redirecting to platform as these exception are now visible to due a change in o.e.e4.ui.internal.workbench.ContributionsAnalyzer. It turns out that this exception was happening before 4.4 but was not being logged. It is not clear to me if the exception is acceptable, but my impression is that it is. The exception shows up all the time now because the code in ContributionsAnalyzer.isVisible(McoreExprssion, ExpressionContext) has changed from try { [...] return ref.evaluate(eContext) != EvaluationResult.FALSE; } catch (CoreException e) { trace("isVisible exception", e); //$NON-NLS-1$ } to SafeRunner.run(new ISafeRunnable() { public void run() throws Exception { ret[0] = ref.evaluate(eContext) != EvaluationResult.FALSE; } public void handleException(Throwable exception) { trace("isVisible exception", exception); //$NON-NLS-1$ } }); and the SafeRunner code logs CoreException. Note also that I've seen this exception for a couple of other properties of CDT, not just isReverseDebuggingEnabled. Such as: org.eclipse.cdt.dsf.debug.ui.areNumberFormatsSupported
(In reply to comment #1) > Redirecting to platform as these exception are now visible to due a change > in o.e.e4.ui.internal.workbench.ContributionsAnalyzer. The change in platform was done as part of Bug 412927
I agree that we probably don't want that much logging of the CoreExceptions in this case. We'll fix that. But the try was catching CoreException, and the trace statement is the same. Shouldn't it have logged the exceptions in Kepler as well? PW
I get this non-CDT one too: org.eclipse.core.runtime.CoreException: No property tester contributes a property org.eclipse.core.resources.name to type class org.eclipse.jdt.internal.core.CompilationUnit at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:123)
And you're right, while not optimal, the CoreExceptions are expected in a lot of common cases (they're not really exceptions, just failures) PW
(In reply to comment #3) > But the try was catching CoreException, and the trace statement is the same. > Shouldn't it have logged the exceptions in Kepler as well? It is actually not the trace statement in isVisiable() that logs the exception. It is SaferRunner.handleException() that calls RuntimeLog.log().
Wojtek, could you look at replacing our SafeRunner call in ContributionsAnalyzer.isVisible(*) with something equivalent that doesn't log? If you push the change to master in gerrit, we can see about backporting it to 4.3.1 PW
(In reply to comment #7) > Wojtek, could you look at replacing our SafeRunner call in > ContributionsAnalyzer.isVisible(*) with something equivalent that doesn't > log? > > If you push the change to master in gerrit, we can see about backporting it > to 4.3.1 > > PW OK, I will start working on it on 08/21.
*** Bug 415435 has been marked as a duplicate of this bug. ***
Review URL: https://git.eclipse.org/r/15774
Released as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=ef975490b97706f6cb3b4749eda5160c9292c572 Thanks Wojtek. PW
Thanks! Would it be possible to get an integration build that includes this fix?
(In reply to comment #12) > Thanks! Would it be possible to get an integration build that includes this > fix? It should be in the integration build on Tuesday, I20130827-0800 at http://download.eclipse.org/eclipse/downloads/ PW
(In reply to comment #13) > (In reply to comment #12) > > Thanks! Would it be possible to get an integration build that includes this > > fix? > > It should be in the integration build on Tuesday, I20130827-0800 at > http://download.eclipse.org/eclipse/downloads/ > > PW Ok thanks. I thought they could be started manually.
Not sure this fix is complete. See e.g. bug 410647 which I can reproduce with 'master'.
(In reply to Dani Megert from comment #15) > Not sure this fix is complete. See e.g. bug 410647 which I can reproduce > with 'master'. The change I provided, fixed this bug (I verified it) by changing ContributionsAnalyzer class, which does not appear in the bug 410647, so I think this is different defect.
Verified in the build: I20130916-2330