netbeans-color-codes-preview icon indicating copy to clipboard operation
netbeans-color-codes-preview copied to clipboard

ArrayIndexOutOfBoundsException while installing

Open Chris2011 opened this issue 5 years ago • 7 comments

Describe the bug When I install your plugin 0.12.4 I got an exception while unpacking the plugin while installing.

java.lang.ArrayIndexOutOfBoundsException: 64
	at java.base/java.util.jar.JarFile.match(JarFile.java:941)
	at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:971)
	at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:366)
	at java.base/java.util.jar.JarFile$JarFileEntry.<init>(JarFile.java:604)
	at java.base/java.util.jar.JarFile.getEntry(JarFile.java:487)
	at org.netbeans.StandardModule.loadLocalizedProps(StandardModule.java:345)
	at org.netbeans.StandardModule.getLocalizedAttribute(StandardModule.java:169)
	at org.openide.modules.ModuleInfo.getDisplayName(ModuleInfo.java:60)
	at org.netbeans.core.startup.NbEvents.logged(NbEvents.java:191)
[catch] at org.netbeans.Events.log(Events.java:141)
	at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:321)
	at org.netbeans.core.startup.ModuleList.access$2400(ModuleList.java:93)
	at org.netbeans.core.startup.ModuleList$Listener.stepEnable(ModuleList.java:1384)
	at org.netbeans.core.startup.ModuleList$Listener.access$1400(ModuleList.java:982)
	at org.netbeans.core.startup.ModuleList$Listener$1.run(ModuleList.java:1206)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:102)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:494)
	at org.netbeans.core.startup.ModuleList$Listener.run(ModuleList.java:1182)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
Warning - could not install some modules:
	com.junichi11.netbeans.modules.color.codes.preview - org.netbeans.InvalidException: StandardModule:com.junichi11.netbeans.modules.color.codes.preview jarFile: C:\Users\Chris\AppData\Roaming\Netbeans\11.3\modules\com-junichi11-netbeans-modules-color-codes-preview.jar: java.lang.ArrayIndexOutOfBoundsException: 64

Steps to Reproduce

  1. Download your plugin (0.12.4 latest release)
  2. Go to the plugin manager
  3. Go to the tab downloaded
  4. Choose the npm file from your system
  5. Go through the installation wizard

Expected behavior It should install successfully without errors

Actual behavior It tries to load the plugin manager again to update the UI and it hangs, I just can click close. And in the notification area I see the error, which I mentioned above.

Environments (please complete the following information):

  • OS: Windows 10 64bit latest update
  • NetBeans Version: 11.3
  • Plugin Version: 0.12.4
  • Java: 9.0.1
Product Version: Apache NetBeans IDE 11.3
Java: 9.0.1; Java HotSpot(TM) 64-Bit Server VM 9.0.1+11
Runtime: Java(TM) SE Runtime Environment 9.0.1+11
System: Windows 10 version 10.0 running on amd64; Cp1252; de_DE (nb)
User directory: C:\Users\Chris\AppData\Roaming\Netbeans\11.3
Cache directory: C:\Users\Chris\AppData\Local\NetBeans\Cache\11.3

Additional context When I restart NetBeans and opens the plugin manager, everything is empty, I can't see any plugins and the exception appears again. After I remove your jar file from the modules folder, everything works again. So I need to remove your plugin manually to see the list of plugins again.

Chris2011 avatar May 25 '20 11:05 Chris2011

Unfortunately, I can't reproduce it. Please try deleting your cache (and user) directory(ies).

Ubuntu 20.04 Product Version: Apache NetBeans IDE 11.3 Java: 1.8.0_202; Java HotSpot(TM) 64-Bit Server VM 25.202-b08 Runtime: Java(TM) SE Runtime Environment 1.8.0_202-b08 System: Linux version 5.4.0-31-generic running on amd64; UTF-8;

junichi11 avatar May 25 '20 13:05 junichi11

This is not possible, I need my dirs, settings, etc. I will try to investigate further.

Chris2011 avatar May 25 '20 13:05 Chris2011

It is easy. You need not delete them actually. You can just rename it to another directory name.(e.g. 11.3_bk) Then, you can rename it to the original name again (11.3).

junichi11 avatar May 25 '20 13:05 junichi11

Thx, I alreday know that :). The problem is what happens if its happen with my config? I mean if it is clean and it works, what's next? There is then smth with my config. But as I said, will check further steps.

Chris2011 avatar May 25 '20 13:05 Chris2011

So it still happens, with a fresh new user dir, no cache like after installation NetBeans.

Chris2011 avatar May 25 '20 13:05 Chris2011

I got 3 exceptions:

java.lang.ArrayIndexOutOfBoundsException: 64
	at java.base/java.util.jar.JarFile.match(JarFile.java:941)
	at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:971)
	at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:366)
	at java.base/java.util.jar.JarFile$JarFileEntry.<init>(JarFile.java:604)
	at java.base/java.util.jar.JarFile.getEntry(JarFile.java:487)
	at org.netbeans.StandardModule.loadLocalizedProps(StandardModule.java:345)
	at org.netbeans.StandardModule.getLocalizedAttribute(StandardModule.java:169)
	at org.openide.modules.ModuleInfo.getDisplayName(ModuleInfo.java:60)
	at org.netbeans.core.startup.NbEvents.logged(NbEvents.java:191)
[catch] at org.netbeans.Events.log(Events.java:141)
	at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:321)
	at org.netbeans.core.startup.ModuleList.access$2400(ModuleList.java:93)
	at org.netbeans.core.startup.ModuleList$Listener.stepEnable(ModuleList.java:1384)
	at org.netbeans.core.startup.ModuleList$Listener.access$1400(ModuleList.java:982)
	at org.netbeans.core.startup.ModuleList$Listener$1.run(ModuleList.java:1206)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:102)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:494)
	at org.netbeans.core.startup.ModuleList$Listener.run(ModuleList.java:1182)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
java.lang.ArrayIndexOutOfBoundsException: 64
	at java.base/java.util.jar.JarFile.match(JarFile.java:941)
	at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:971)
	at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:366)
	at java.base/java.util.jar.JarFile$JarFileEntry.<init>(JarFile.java:604)
	at java.base/java.util.jar.JarFile.getEntry(JarFile.java:487)
	at org.netbeans.StandardModule.loadLocalizedProps(StandardModule.java:345)
	at org.netbeans.StandardModule.getLocalizedAttribute(StandardModule.java:169)
	at org.openide.modules.ModuleInfo.getDisplayName(ModuleInfo.java:60)
	at org.netbeans.core.startup.NbProblemDisplayer.label(NbProblemDisplayer.java:174)
	at org.netbeans.core.startup.NbProblemDisplayer.access$000(NbProblemDisplayer.java:48)
	at org.netbeans.core.startup.NbProblemDisplayer$1Report.write(NbProblemDisplayer.java:195)
	at org.netbeans.core.startup.NbProblemDisplayer.problemMessagesForModules(NbProblemDisplayer.java:222)
	at org.netbeans.core.startup.NbEvents.logged(NbEvents.java:179)
[catch] at org.netbeans.Events.log(Events.java:141)
	at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:311)
	at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:325)
	at org.netbeans.core.startup.ModuleList.access$2400(ModuleList.java:93)
	at org.netbeans.core.startup.ModuleList$Listener.stepEnable(ModuleList.java:1384)
	at org.netbeans.core.startup.ModuleList$Listener.access$1400(ModuleList.java:982)
	at org.netbeans.core.startup.ModuleList$Listener$1.run(ModuleList.java:1206)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:102)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:494)
	at org.netbeans.core.startup.ModuleList$Listener.run(ModuleList.java:1182)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

and

java.lang.ArrayIndexOutOfBoundsException: 64
	at java.base/java.util.jar.JarFile.match(JarFile.java:941)
	at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:971)
	at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:366)
	at java.base/java.util.jar.JarFile$JarFileEntry.<init>(JarFile.java:604)
	at java.base/java.util.jar.JarFile.getEntry(JarFile.java:487)
	at org.netbeans.StandardModule.loadLocalizedProps(StandardModule.java:345)
	at org.netbeans.StandardModule.getLocalizedAttribute(StandardModule.java:169)
	at org.netbeans.modules.ide.ergonomics.fod.FoDUpdateUnitProvider.registerFeature(FoDUpdateUnitProvider.java:175)
	at org.netbeans.modules.ide.ergonomics.fod.FoDUpdateUnitProvider.getUpdateItems(FoDUpdateUnitProvider.java:142)
	at org.netbeans.modules.autoupdate.services.UpdateUnitFactory.appendUpdateItems(UpdateUnitFactory.java:150)
	at org.netbeans.modules.autoupdate.services.UpdateUnitFactory.getUpdateUnits(UpdateUnitFactory.java:118)
	at org.netbeans.modules.autoupdate.services.UpdateManagerImpl$Cache.<init>(UpdateManagerImpl.java:267)
	at org.netbeans.modules.autoupdate.services.UpdateManagerImpl.getCache(UpdateManagerImpl.java:227)
	at org.netbeans.modules.autoupdate.services.UpdateManagerImpl.getUpdateUnits(UpdateManagerImpl.java:96)
	at org.netbeans.api.autoupdate.UpdateManager.getUpdateUnits(UpdateManager.java:78)
	at org.netbeans.modules.autoupdate.ui.PluginManagerUI.updateUnitsChanged(PluginManagerUI.java:656)
	at org.netbeans.modules.autoupdate.ui.UnitTab$3.updateUnitsChanged(UnitTab.java:168)
	at org.netbeans.modules.autoupdate.ui.UnitCategoryTableModel.fireUpdataUnitChange(UnitCategoryTableModel.java:261)
	at org.netbeans.modules.autoupdate.ui.UnitTab.fireUpdataUnitChange(UnitTab.java:619)
	at org.netbeans.modules.autoupdate.ui.UnitTab$14$1.run(UnitTab.java:790)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
	at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
[catch] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Chris2011 avatar May 25 '20 13:05 Chris2011

I can't do anything from their logs. There is no information related to my plugin.

Another idea: Please try using another JDK.

junichi11 avatar May 25 '20 14:05 junichi11