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

Bug 352821

Summary: Invalid Registry Object
Product: [Eclipse Project] JDT Reporter: Francis Upton IV <francisu>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert
Version: 3.7   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
log none

Description Francis Upton IV CLA 2011-07-22 03:03:04 EDT
I get this from time to time, I have no idea how to reproduce though

Caused by: org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
	at org.eclipse.core.internal.registry.RegistryObjectManager.basicGetObject(RegistryObjectManager.java:272)
	at org.eclipse.core.internal.registry.RegistryObjectManager.getObject(RegistryObjectManager.java:262)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.getConfigurationElement(ConfigurationElementHandle.java:26)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.getParent(ConfigurationElementHandle.java:103)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.getDeclaringExtension(ConfigurationElementHandle.java:93)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.createBlameMessage(CompletionProposalComputerDescriptor.java:527)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.createExceptionStatus(CompletionProposalComputerDescriptor.java:500)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.sessionStarted(CompletionProposalComputerDescriptor.java:415)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.sessionStarted(CompletionProposalCategory.java:316)
	at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor$CompletionListener.assistSessionStarted(ContentAssistProcessor.java:113)
	at org.eclipse.jface.text.contentassist.ContentAssistant.fireSessionBeginEvent(ContentAssistant.java:2212)
	at org.eclipse.jface.text.contentassist.ContentAssistant.prepareToShowCompletions(ContentAssistant.java:1687)
	at org.eclipse.jface.text.contentassist.ContentAssistant.access$6(ContentAssistant.java:1678)
	at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:375)
	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:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:616)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
francis@berlioz:/mnt/sda1/home/francis$
Comment 1 Francis Upton IV CLA 2011-07-22 03:05:30 EDT
Here is something that happened before (both of these are on sysout, which duplicates some stuff from the log. I will attach the log as well)

Exception in thread "AutoAssist Delay" org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object)
	at org.eclipse.swt.SWT.error(SWT.java:4282)
	at org.eclipse.swt.SWT.error(SWT.java:4197)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:196)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4330)
	at org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.showAssist(ContentAssistant.java:366)
	at org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.run(ContentAssistant.java:278)
	at java.lang.Thread.run(Thread.java:679)
Comment 2 Francis Upton IV CLA 2011-07-22 03:06:11 EDT
Created attachment 200148 [details]
log
Comment 3 Dani Megert CLA 2011-07-22 03:51:42 EDT
You have tons of such invalid registry exceptions in the .log. This indicates to me that your install is somehow corrupted or maybe you used p2 to update and didn't restart?

There's not much I can do unless you can provide steps.
Comment 4 Francis Upton IV CLA 2011-07-22 04:02:21 EDT
You know, I think I installed the SWT spy tool with p2 and did not restart after that, selecting "apply changes now". I imagine that's what caused it (I did not actually use the tool), but the problem seemed to start shortly after that if I now remember correct.
Comment 5 Dani Megert CLA 2011-07-22 04:10:03 EDT
(In reply to comment #4)
> You know, I think I installed the SWT spy tool with p2 and did not restart
> after that, selecting "apply changes now".

That would explain it. Installing things without restart is risky as many plug-ins keep registry state (e.g. extension point extension objects) which they don't flush when something is installed.

I would expect the errors to go away after restart.