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

Bug 354564

Summary: DialogSettings fails to load with NPE
Product: [Eclipse Project] Platform Reporter: Pascal Rapicault <pascal>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: RESOLVED NOT_ECLIPSE QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, onetimehere1, remy.suen
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
what occurs in eclipse when the Java Extension folder has .jar files in it, and when trying to "install new software" such as SDKs none

Description Pascal Rapicault CLA 2011-08-11 19:33:50 EDT
This is a follow up of bug #353166c11

BUT, there is an issue with the Extensions folder that affects how it runs
(should I open a new bug report for this new find?? I feel it's highly related,
considering the way in which we found this solution, so I'll continue here...)
-

One should be able to have Extensions - I added .jar extensions to use for
projects that require them (such as jfreechart or junit)

After renaming the folder, if I revert to the old name "Extensions" (so it can
be used properly) then eclipse still now runs, but opens with this error in the
sidebar:

Could not create the view: Plug-in "org.eclipse.jdt.ui" was unable to
instantiate class
"org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart".

java.lang.NullPointerException
    at org.eclipse.jface.dialogs.DialogSettings.load(DialogSettings.java:300)
    at org.eclipse.jface.dialogs.DialogSettings.load(DialogSettings.java:328)
    at org.eclipse.jface.dialogs.DialogSettings.load(DialogSettings.java:269)
    at org.eclipse.jface.dialogs.DialogSettings.load(DialogSettings.java:286)
    at
org.eclipse.ui.plugin.AbstractUIPlugin.loadDialogSettings(AbstractUIPlugin.java:411)
    at
org.eclipse.ui.plugin.AbstractUIPlugin.getDialogSettings(AbstractUIPlugin.java:232)
    at
org.eclipse.jdt.internal.ui.JavaPlugin.getDialogSettingsSection(JavaPlugin.java:1046)
    at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.<init>(PackageExplorerPart.java:354)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
    at
org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at
org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:268)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at
org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:264)
    at
org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:63)
    at
org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:327)
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
    at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
    at
org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(WorkbenchPage.java:4317)
    at
org.eclipse.ui.internal.WorkbenchPage$18.runWithException(WorkbenchPage.java:3359)
    at
org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    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:3935)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3612)
    at
org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
    at
org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
    at
org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    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:3935)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3612)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
    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:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    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)

As well, one cannot "Install New Software" as it says the install has not been
configured properly.

(And of course - Thanks for all the help with the initial issue!)
Comment 1 Dani Megert CLA 2011-08-12 04:39:37 EDT
This looks like a JIT bug to me. The code looks like this:

line 299:   String key =   ((Element) l.item(i)).getAttribute(TAG_KEY);
line 300:   String value = ((Element) l.item(i)).getAttribute(TAG_VALUE);

Under normal conditions it can't give an NPE on line 300 when it passed line 299 and the NodeList isn't modified either.

If this is reproducible then I suggest to try with -Xint VM argument or with a different JRE.
Comment 2 Remy Suen CLA 2011-08-12 07:02:54 EDT
Please see comment 1.
Comment 3 onetimehere1 CLA 2011-08-16 00:30:51 EDT
(In reply to comment #2)
> Please see comment 1.

sorry, in regards to what?

and @Dani Megert - so you're suggesting running eclipse via the terminal, with the command -Xint preceding it? as i understand it (via some research, i am a new user after all) this runs while "Compilation to native code is disabled"
how does that have anything to do with the error that appears when i try to "install new software" (see should be attached image)
Comment 4 onetimehere1 CLA 2011-08-16 00:32:06 EDT
Created attachment 201544 [details]
what occurs in eclipse when the Java Extension folder has .jar files in it, and when trying to "install new software" such as SDKs
Comment 5 Remy Suen CLA 2011-08-16 06:12:57 EDT
(In reply to comment #3)
> and @Dani Megert - so you're suggesting running eclipse via the terminal, with
> the command -Xint preceding it? as i understand it (via some research, i am a
> new user after all) this runs while "Compilation to native code is disabled"
> how does that have anything to do with the error that appears when i try to
> "install new software" (see should be attached image)

We are interested in how it affects your problem of Eclipse not being able to open the 'Package Explorer' view.

(In reply to comment #4)
> Created attachment 201544 [details]
> what occurs in eclipse when the Java Extension folder has .jar files in it, and
> when trying to "install new software" such as SDKs

This is a different problem.
Comment 6 Dani Megert CLA 2011-08-16 09:06:49 EDT
> and @Dani Megert - so you're suggesting running eclipse via the terminal, with
> the command -Xint preceding it?
I never said something like that. I said you should pass the -Xint VM argument. When running the eclipse.exe this means: "eclipse.exe -vmargs -Xint"

> as i understand it (via some research, i am a
> new user after all) this runs while "Compilation to native code is disabled"
> how does that have anything to do with the error that appears when i try to
> "install new software" (see should be attached image)
I was only referring to the reported NPE. If the NPE no longer happens with -Xint then it proofs my theory that it is a JIT bug as suspected.
Comment 7 onetimehere1 CLA 2011-08-16 21:38:56 EDT
(In reply to comment #6)
> > and @Dani Megert - so you're suggesting running eclipse via the terminal, with
> > the command -Xint preceding it?
> I never said something like that. I said you should pass the -Xint VM argument.
> When running the eclipse.exe this means: "eclipse.exe -vmargs -Xint"
> 
> > as i understand it (via some research, i am a
> > new user after all) this runs while "Compilation to native code is disabled"
> > how does that have anything to do with the error that appears when i try to
> > "install new software" (see should be attached image)
> I was only referring to the reported NPE. If the NPE no longer happens with
> -Xint then it proofs my theory that it is a JIT bug as suspected.

ok i misunderstood that, should have noticed it my bad
so, tried running eclipse -vmargs -Xint (on a mac, no .exe)
the text fonts grew noticeably larger, but it didn't change the error code i see in the Package Explorer window
back at square one

and @Remy sorry i didn't know if they were related issues - since only when the extensions folder is named normally do i encounter the errors
Comment 8 Dani Megert CLA 2011-08-17 03:44:45 EDT
> ok i misunderstood that, should have noticed it my bad
> so, tried running eclipse -vmargs -Xint (on a mac, no .exe)
> the text fonts grew noticeably larger,
That sounds strange. I suspect you also changed other aspects with the different launch. -Xint does not affect the LAF.

Please download the latest release and try whether it works:
http://download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/index.php
Comment 9 Remy Suen CLA 2011-11-18 16:24:46 EST
Please feel free to reopen this bug if this is still happening for you in a more recent build of Eclipse.
http://download.eclipse.org/eclipse/downloads/eclipse3x.php