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 242883 - ArrayIndexOutOfBoundsException: 3
Summary: ArrayIndexOutOfBoundsException: 3
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Remote (show other bugs)
Version: 8.0
Hardware: All All
: P3 normal (vote)
Assignee: Vladimir Kvashin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-13 21:58 UTC by tbrunhoff
Modified: 2014-04-24 02:04 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter: 208374


Attachments
stacktrace (10.12 KB, text/plain)
2014-03-13 21:58 UTC, tbrunhoff
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tbrunhoff 2014-03-13 21:58:31 UTC
Build: NetBeans IDE Dev (Build 201403100001)
VM: Java HotSpot(TM) Client VM, 24.45-b08, Java(TM) SE Runtime Environment, 1.7.0_45-b18
OS: Linux

User Comments:
tbrunhoff: opening a project.




Stacktrace: 
java.lang.ArrayIndexOutOfBoundsException: 3
   at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1368)
   at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311)
   at javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:578)
   at javax.swing.JComponent.getPreferredSize(JComponent.java:1660)
   at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:790)
   at java.awt.Container.layout(Container.java:1503)
Comment 1 tbrunhoff 2014-03-13 21:58:33 UTC
Created attachment 146012 [details]
stacktrace
Comment 2 Vladimir Kvashin 2014-04-14 18:17:41 UTC
I wasn't able to reproduce this.

The investigation shows that a list model was changed from thread other than EDT, that's the only way of getting ArrayIndexOutOfBoundsException at BasicListUI.updateLayoutState(BasicListUI.java:1368)

I investigated our custom remote UI (o.n.m.remote.api.ui.FileChooserUIImpl) and found no such calls. But I found asynchronous list model setting in MakeArtifactChooser, which is also in stack.

Debugging shows that the following 2 threads are concurrent and lead to ArrayIndexOutOfBoundsException:

1) "MakeArtifactChooser"
org.netbeans.modules.cnd.makeproject.configurations.ui.MakeArtifactChooser$1.run(MakeArtifactChooser.java:189)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1423)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

2) "AWT-EventQueue-0"
javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1342)
javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311)
javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:578)
javax.swing.JComponent.getPreferredSize(JComponent.java:1660)
javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:790)
java.awt.Container.layout(Container.java:1503)
java.awt.Container.doLayout(Container.java:1492)
java.awt.Container.validateTree(Container.java:1688)
java.awt.Container.validate(Container.java:1623)
javax.swing.RepaintManager$2.run(RepaintManager.java:691)
javax.swing.RepaintManager$2.run(RepaintManager.java:689)
java.security.AccessController.doPrivileged(AccessController.java)
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:688)
javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1676)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
java.awt.EventQueue.access$200(EventQueue.java:103)
java.awt.EventQueue$3.run(EventQueue.java:694)
java.awt.EventQueue$3.run(EventQueue.java:692)
java.security.AccessController.doPrivileged(AccessController.java)
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
java.security.AccessController.doPrivileged(AccessController.java)
java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
java.awt.Dialog.show(Dialog.java:1082)
javax.swing.JFileChooser.showDialog(JFileChooser.java:741)
javax.swing.JFileChooser.showOpenDialog(JFileChooser.java:639)
org.netbeans.modules.remote.api.ui.FileChooserBuilder$RemoteFileChooserImpl.showOpenDialog(FileChooserBuilder.java:484)
org.netbeans.modules.cnd.makeproject.configurations.ui.MakeArtifactChooser.showDialog(MakeArtifactChooser.java:223)
Comment 3 Vladimir Kvashin 2014-04-15 17:02:09 UTC
fixed in cnd-main
http://hg.netbeans.org/cnd-main/rev/6cf3a09a486c
Comment 4 Quality Engineering 2014-04-18 02:42:09 UTC
Integrated into 'main-silver', will be available in build *201404180001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/6cf3a09a486c
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: fixed #242883 - ArrayIndexOutOfBoundsException
Comment 5 Quality Engineering 2014-04-24 02:04:28 UTC
Integrated into 'releases/release80', will be available in build *201404240045* or newer. Wait for official and publicly available build.

Changeset: http://hg.netbeans.org/releases/rev/d305ac1fc3ed
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: fixed #242883 - ArrayIndexOutOfBoundsException
(transplanted from 6cf3a09a486c83a8f7971aa328917ff0ce55776b)