MantisBT - Scoring Application Prototype
View Issue Details
0000021Scoring Application Prototype[All Projects] Generalpublic2014-05-27 10:152014-05-27 18:25
ptrue 
ptrue 
highmajoralways
resolvedfixed 
Sprint #5 
Sprint #5Sprint #5 
0000021: Loading a file crashes
Loading a file throws an exception.
1. Open a piano sample file.
2. Add one staff above caret.
3. Save under a new name,
4. Close document.
5. Open saved file.
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
    at java.util.ArrayList.rangeCheck(ArrayList.java:635)
    at java.util.ArrayList.get(ArrayList.java:411)
    at com.pt.tnp.notation.layout.StaffSystemFragment.getEvent(StaffSystemFragment.java:637)
    at com.pt.tnp.notation.layout.StaffFragmentGroup.afterLoad(StaffFragmentGroup.java:176)
    at com.pt.tnp.notation.layout.StaffSystemFragment.afterLoad(StaffSystemFragment.java:223)
    at com.pt.tnp.notation.layout.StaffSystemParagraph.afterLoad(StaffSystemParagraph.java:61)
    at com.pt.tnp.notation.layout.Section.afterLoad(Section.java:160)
    at com.pt.tnp.notation.layout.Document.afterLoad(Document.java:343)
    at com.pt.tnp.notation.layout.Document.loadJson(Document.java:117)
    at com.pt.tnp.notation.layout.Document.loadDocument(Document.java:86)
    at com.pt.tnp.Application.menuFileOpen(Application.java:61)
    at com.pt.tnp.ui.actions.file.FileOpenAction.actionPerformed(FileOpenAction.java:36)
    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.AbstractButton.doClick(AbstractButton.java:356)
    at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:802)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1662)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2878)
    at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:689)
    at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:697)
    at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:697)
    at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:668)
    at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
    at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:293)
    at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2970)
    at javax.swing.SwingUtilities.processKeyBindings(SwingUtilities.java:1586)
    at javax.swing.UIManager$2.postProcessKeyEvent(UIManager.java:1476)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:772)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
    at java.awt.Component.dispatchEventImpl(Component.java:4731)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    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:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
    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)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.pt.tnp.ui.DocumentWindow.<init>(DocumentWindow.java:46)
    at com.pt.tnp.ui.ApplicationWindow.createDocumentWindow(ApplicationWindow.java:199)
    at com.pt.tnp.Application.openDocument(Application.java:253)
    at com.pt.tnp.Application.menuFileOpen(Application.java:61)
    at com.pt.tnp.ui.actions.file.FileOpenAction.actionPerformed(FileOpenAction.java:36)
    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.AbstractButton.doClick(AbstractButton.java:356)
    at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:802)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1662)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2878)
    at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:689)
    at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:697)
    at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:697)
    at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:668)
    at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
    at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:293)
    at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2970)
    at javax.swing.SwingUtilities.processKeyBindings(SwingUtilities.java:1586)
    at javax.swing.UIManager$2.postProcessKeyEvent(UIManager.java:1476)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:772)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
    at java.awt.Component.dispatchEventImpl(Component.java:4731)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    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:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
    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)
No tags attached.
Issue History
2014-05-27 10:15ptrueNew Issue
2014-05-27 10:15ptrueStatusnew => assigned
2014-05-27 10:15ptrueAssigned To => ptrue
2014-05-27 17:33ptrueNote Added: 0000019
2014-05-27 18:25ptrueNote Added: 0000020
2014-05-27 18:25ptrueStatusassigned => resolved
2014-05-27 18:25ptrueFixed in Version => Sprint 0000005
2014-05-27 18:25ptrueResolutionopen => fixed

Notes
(0000019)
ptrue   
2014-05-27 17:33   
Small fix: Now application at least doesn't hang on but displays a notification that file is corrupted.
(0000020)
ptrue   
2014-05-27 18:25   
Fixed in the build #170.