| Summary: | StringIndexOutOfBoundsException in "Initializing Java Tooling" while opening RTC work item editor | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Eric Jodet <eric_jodet> |
| Component: | p2 | Assignee: | P2 Inbox <equinox.p2-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | tjwatson |
| Version: | 3.5.2 | ||
| Target Milestone: | 3.7 M3 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Eric Jodet
See also - https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/118563 for full details / stack traces From the rtc workitem:
java.lang.StringIndexOutOfBoundsException
at java.lang.String.charAt(String.java:418)
at org.eclipse.equinox.internal.frameworkadmin.equinox.ParserUtils.getValueForArgument(ParserUtils.java:124)
at org.eclipse.equinox.internal.frameworkadmin.equinox.EclipseLauncherParser.getVM(EclipseLauncherParser.java:94)
at org.eclipse.equinox.internal.frameworkadmin.equinox.EclipseLauncherParser.read(EclipseLauncherParser.java:72)
at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl.loadWithoutFwPersistentData(EquinoxManipulatorImpl.java:358)
at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl.load(EquinoxManipulatorImpl.java:331)
at org.eclipse.pde.internal.core.target.AbstractBundleContainer.getVMArguments(AbstractBundleContainer.java:722)
at org.eclipse.pde.internal.core.target.TargetPlatformService.newDefaultTargetDefinition(TargetPlatformService.java:493)
at org.eclipse.pde.internal.core.PluginModelManager.initDefaultTargetPlatformDefinition(PluginModelManager.java:458)
at org.eclipse.pde.internal.core.PluginModelManager.initializeTable(PluginModelManager.java:428)
at org.eclipse.pde.internal.core.PluginModelManager.findModel(PluginModelManager.java:753)
at org.eclipse.pde.core.plugin.PluginRegistry.findModel(PluginRegistry.java:77)
at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize(RequiredPluginsInitializer.java:31)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2642)
at org.eclipse.jdt.internal.core.JavaModelManager$11.run(JavaModelManager.java:2548)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2588)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1808)
at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:3410)
at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:35)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
It looks like org.eclipse.equinox.internal.frameworkadmin.equinox.ParserUtils.getValueForArgument(String, List) has a call to String#charAt(0) without checking to make sure the String is not the empty string.
Fixed in HEAD. |