IndexOutOfBoundsException in ColumnSelectionModel

Issue #206 resolved
Adam Winer created an issue

User report: As requested. It was only program open at time. I was moving between records, editing them and saving the edits ...

bitIndex < 0: -1 java.lang.IndexOutOfBoundsException: bitIndex < 0: -1 at java.util.BitSet.get(Unknown Source) at .ui.components.browser.JBrowser$ColumnSelectionModel.clear(JBrowser.java:2867) at .ui.components.browser.JBrowser$ColumnSelectionModel.setState(JBrowser.java:3074) at .ui.components.browser.JBrowser$ColumnSelectionModel.removeIndexInterval(JBrowser.java:3141) at javax.swing.plaf.basic.BasicListUI$Handler.intervalRemoved(Unknown Source) at javax.swing.AbstractListModel.fireIntervalRemoved(Unknown Source) at .ui.components.browser.JBrowser$ColumnListModel.treeNodesRemoved(JBrowser.java:2220) at .ui.util.BaseTreeModel.fireTreeNodesRemoved(BaseTreeModel.java:58) at .ui.panels.reports.ReportsTreeModel.sightingsReplaced(ReportsTreeModel.java:262) at .ui.panels.reports.ReportsBrowserPanel.sightingsReplaced(ReportsBrowserPanel.java:527) at .ui.components.BaseTaxonBrowserPanel$TaxonPreviewRenderer$2.sightingsSwapped(BaseTaxonBrowserPanel.java:651) at .ui.components.BaseTaxonBrowserPanel$TaxonPreviewRenderer$2.sightingsUpdated(BaseTaxonBrowserPanel.java:644) at .ui.components.SightingBrowsePanel.save(SightingBrowsePanel.java:212) at .ui.components.SightingBrowsePanel$3.ancestorRemoved(SightingBrowsePanel.java:146) at javax.swing.AncestorNotifier.fireAncestorRemoved(Unknown Source) at javax.swing.AncestorNotifier.propertyChange(Unknown Source) at java.beans.PropertyChangeSupport.fire(Unknown Source) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.awt.Component.firePropertyChange(Unknown Source) at javax.swing.JComponent.removeNotify(Unknown Source) at java.awt.Container.removeNotify(Unknown Source) at javax.swing.JComponent.removeNotify(Unknown Source) at java.awt.Container.removeNotify(Unknown Source) at javax.swing.JComponent.removeNotify(Unknown Source) at java.awt.Container.removeNotify(Unknown Source) at javax.swing.JComponent.removeNotify(Unknown Source) at java.awt.Container.remove(Unknown Source) at java.awt.Container.remove(Unknown Source) at .ui.components.browser.JBrowser$1.run(JBrowser.java:1252) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$300(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

Comments (3)

  1. Adam Winer reporter

    Found one way to reproduce this.

    Find a sighting assigned to a polytypic Clements group.

    Switch to IOC.

    Drag that sighting from one of the IOC subspecies (where it will show as "(sp)") onto a different subspecies. Boom!

  2. Log in to comment