This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 62526 - SIOOBE creating library wrapper
Summary: SIOOBE creating library wrapper
Status: VERIFIED FIXED
Alias: None
Product: apisupport
Classification: Unclassified
Component: Project (show other bugs)
Version: 5.x
Hardware: All All
: P2 blocker (vote)
Assignee: Milos Kleint
URL:
Keywords:
: 62629 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-08-17 23:07 UTC by _ tboudreau
Modified: 2005-11-16 15:35 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ tboudreau 2005-08-17 23:07:47 UTC
On pressing Next in the Select Library panel of the New Project wizard, creating
a library wrapper module for jdom (note this is after experiencing the already
reported AssertionError when creating a previous library wrapper module, which I
was able to open manually afterward).

---

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1768)
	at
org.netbeans.modules.apisupport.project.ui.wizard.LibraryStartVisualPanel.populateProjectData(LibraryStartVisualPanel.java:148)
	at
org.netbeans.modules.apisupport.project.ui.wizard.LibraryStartVisualPanel.storeData(LibraryStartVisualPanel.java:118)
	at
org.netbeans.modules.apisupport.project.ui.wizard.LibraryStartWizardPanel.storeSettings(LibraryStartWizardPanel.java:38)
	at org.openide.WizardDescriptor.setValue(WizardDescriptor.java:1030)
	at
org.netbeans.core.windows.services.NbPresenter$ButtonListener.actionPerformed(NbPresenter.java:1058)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
Comment 1 Jesse Glick 2005-08-17 23:59:32 UTC
Tim, which build?
Comment 2 Jesse Glick 2005-08-18 00:04:28 UTC
Looks like populateProjectData does not handle JAR *.class entries that are in
the default package. (Note that such entries won't be loadable at runtime
anyway... beware...) Suggest

int slash = nm.lastIndexOf('/');
if (slash == -1) {
    continue;
}
String path = nm.substring(0, slash);

The unit test should be enhanced to catch this, of course.

Workaround should be to delete any *.class from the JAR's default package before
making a wrapper module. These classes can't be loaded by the NB module class
loader and it is impossible for them to be referred to statically by classes in
named packages.

I will add to the UI spec that the wizard should display a warning if you any
resources in the JAR in the default package.
Comment 3 Jesse Glick 2005-08-19 02:25:51 UTC
*** Issue 62629 has been marked as a duplicate of this issue. ***
Comment 4 _ tboudreau 2005-08-19 05:05:34 UTC
Fresh build from yesterday morning w/ fresh userdir.
Comment 5 _ tboudreau 2005-08-19 05:07:15 UTC
> Workaround should be to delete any *.class from the JAR's default package before
> making a wrapper module.

Will work for demos; often this would violate licenses for real life use.
Comment 6 Milos Kleint 2005-08-19 09:37:33 UTC
>> Workaround should be to delete any *.class from the JAR's default package before
>> making a wrapper module.

>Will work for demos; often this would violate licenses for real life use.

agree with tim here. modifying the library jar in any way is not acceptable IMHO.

anyway, the bug should be fixed and the user is notified that there are classes
in default package. No action is taken however and user is allowed to create
such library project.
Comment 7 Rich Unger 2005-08-19 21:15:39 UTC
Now I can get past the first wizard panel, but the exception just crops up
later, when finishing the wizard:

java.lang.reflect.UndeclaredThrowableException
	at $Proxy11.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
	at java.awt.Dialog$1.run(Dialog.java:515)
	at java.awt.Dialog.show(Dialog.java:536)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:800)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:843)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:831)
	at org.openide.util.Mutex$1.run(Mutex.java:1162)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.reflect.InvocationTargetException
	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:585)
	at
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:410)
	... 36 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1768)
	at
org.netbeans.modules.apisupport.project.NbModuleProjectGenerator.createSuiteLibraryModule(NbModuleProjectGenerator.java:124)
	at
org.netbeans.modules.apisupport.project.ui.wizard.NewNbModuleWizardIterator.instantiate(NewNbModuleWizardIterator.java:105)
	at
org.openide.loaders.TemplateWizard$Brigde2Iterator.instantiate(TemplateWizard.java:969)
	at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:557)
	at
org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:396)
	at
org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:218)
	at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1182)
	at org.openide.WizardDescriptor.access$1300(WizardDescriptor.java:70)
	at org.openide.WizardDescriptor$Listener$2.run(WizardDescriptor.java:1621)
	at org.openide.WizardDescriptor.lazyValidate(WizardDescriptor.java:1147)
	at org.openide.WizardDescriptor.access$900(WizardDescriptor.java:70)
	at
org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:1648)
	... 41 more
==>
java.lang.reflect.InvocationTargetException
	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:585)
	at
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:410)
	at $Proxy11.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
	at java.awt.Dialog$1.run(Dialog.java:515)
	at java.awt.Dialog.show(Dialog.java:536)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:800)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:843)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:831)
	at org.openide.util.Mutex$1.run(Mutex.java:1162)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1768)
	at
org.netbeans.modules.apisupport.project.NbModuleProjectGenerator.createSuiteLibraryModule(NbModuleProjectGenerator.java:124)
	at
org.netbeans.modules.apisupport.project.ui.wizard.NewNbModuleWizardIterator.instantiate(NewNbModuleWizardIterator.java:105)
	at
org.openide.loaders.TemplateWizard$Brigde2Iterator.instantiate(TemplateWizard.java:969)
	at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:557)
	at
org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:396)
	at
org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:218)
	at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1182)
	at org.openide.WizardDescriptor.access$1300(WizardDescriptor.java:70)
	at org.openide.WizardDescriptor$Listener$2.run(WizardDescriptor.java:1621)
	at org.openide.WizardDescriptor.lazyValidate(WizardDescriptor.java:1147)
	at org.openide.WizardDescriptor.access$900(WizardDescriptor.java:70)
	at
org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:1648)
	... 41 more
==>
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1768)
	at
org.netbeans.modules.apisupport.project.NbModuleProjectGenerator.createSuiteLibraryModule(NbModuleProjectGenerator.java:124)
	at
org.netbeans.modules.apisupport.project.ui.wizard.NewNbModuleWizardIterator.instantiate(NewNbModuleWizardIterator.java:105)
	at
org.openide.loaders.TemplateWizard$Brigde2Iterator.instantiate(TemplateWizard.java:969)
	at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:557)
	at
org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:396)
	at
org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:218)
	at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1182)
	at org.openide.WizardDescriptor.access$1300(WizardDescriptor.java:70)
	at org.openide.WizardDescriptor$Listener$2.run(WizardDescriptor.java:1621)
	at org.openide.WizardDescriptor.lazyValidate(WizardDescriptor.java:1147)
	at org.openide.WizardDescriptor.access$900(WizardDescriptor.java:70)
	at
org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:1648)
	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:585)
	at
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:410)
	at $Proxy11.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
	at java.awt.Dialog$1.run(Dialog.java:515)
	at java.awt.Dialog.show(Dialog.java:536)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:800)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:843)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:831)
	at org.openide.util.Mutex$1.run(Mutex.java:1162)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Comment 8 Jesse Glick 2005-08-19 22:43:34 UTC
Yup, same problem there.
Comment 9 Milos Kleint 2005-08-21 09:13:12 UTC
fixed.
Sorry, obviosly I just tested the panel and never bothered to finish the wizard.
Comment 10 pzajac 2005-11-16 15:35:08 UTC
verified