Page 1 of 1

java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Thu May 17, 2018 7:05 pm
by gt0830c
Greetings,
I get the following error message when trying to view (Preview experimental data) my trc file:

A java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Based on a prior post regarding the same out of bounds error, I did shorten my file name to 14 characters (down from 21 characters), but still get the same error. I attached the .trc file for reference. I am running OpenSim v3.3.

Thanks,
Wayne


Full error msg:
A java.lang.ArrayIndexOutOfBoundsException exception has occurred.

java.lang.ArrayIndexOutOfBoundsException: 21
at org.opensim.view.experimentaldata.AnnotatedMotion.<init>(AnnotatedMotion.java:98)
at org.opensim.view.motions.FileLoadDataAction.performAction(FileLoadDataAction.java:57)
at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:129)
at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:95)
at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:116)
at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:99)
at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:126)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Re: java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Thu May 17, 2018 7:59 pm
by tkuchida
There are two errors in the file:
1. A blank row must be inserted before the data for the first frame; and
2. The "Frame #" label cannot contain a space.
See the example on the "Marker (.trc) Files" page in the Confluence documentation (https://simtk-confluence.stanford.edu/d ... c%29+Files).

Re: java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Fri May 18, 2018 9:35 am
by gt0830c
Thank you!!

Re: java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Fri May 18, 2018 5:29 pm
by tkuchida
Ah, sorry- the only issue is that there cannot be a space between "Frame" and "#" (the blank row is not essential).

Re: java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Tue Jul 19, 2022 10:27 pm
by rcatena
Is there a way for the user to read the error to know the problem or should it just get posted on here?

I am getting a slightly different error read out when I try to open a trc file using "preview experimental data". See below. Can you tell me what the problem is just by seeing the error? I would attach my zipped trc file, but it says it is too large to be attached, so below the error readout is the first (5x9) few cells of my trc file.

java.lang.ArrayIndexOutOfBoundsException: 162
at org.opensim.view.experimentaldata.AnnotatedMotion.<init>(AnnotatedMotion.java:107)
at org.opensim.view.motions.FileLoadDataAction.performAction(FileLoadDataAction.java:60)
at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:105)
at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:70)
at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:91)
at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:74)
at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:102)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


PathFileType 4 (X/Y/Z) Trimmed_S35-3-t1.trc
DataRate CameraRate NumFrames NumMarkers Units OrigDataRate OrigDataStartFrame OrigNumFrames
100 100 1000 54 mm 100 1 1000
Frame# Time Fhead Rtemp Ltemp
X1 Y1 Z1 X2 Y2 Z2 X3

Re: java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Wed Jul 20, 2022 10:28 am
by tkuchida
PathFileType 4 (X/Y/Z) Trimmed_S35-3-t1.trc
DataRate CameraRate NumFrames NumMarkers Units OrigDataRate OrigDataStartFrame OrigNumFrames
100 100 1000 54 mm 100 1 1000
Frame# Time Fhead Rtemp Ltemp
X1 Y1 Z1 X2 Y2 Z2 X3
I don't think this would work as the columns for Y3 and Z3 would be missing headers. The issue may be due to whitespace (e.g., it looks like tabs are missing at the beginning of row 5). Please see the "Marker (.trc) Files" page in the documentation for a description of the formatting requirements (https://simtk-confluence.stanford.edu:8 ... c%29+Files). There are also example TRC files in the Resources directory that you could use for comparison.

Re: java.lang.ArrayIndexOutOfBoundsException exception has occurred.

Posted: Fri Jul 22, 2022 1:38 pm
by rcatena
The whitespace for headers was not the issue. Jake Banks found the issue for me. My TRC file (created from MotionAnalysis Cortex software) had virtual markers, but Cortex does not update the marker number amounts in the TRC when virtual markers are added. Instead, it was only listing (n=54) real markers we had, which conflicted with how many columns of data we had (54 real markers and 34 virtual markers). I changed the cell to 88 instead of 54 and it opened.