Uploaded image for project: 'Bug Repository'
  1. Bug Repository
  2. BUG-243

Using the 'tab' button while in a tabbed panel does not follow expected behavior AND will sometimes generate a variety of NPE

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Labels:
      None

      Description

      I have no idea at all if any of this is important but I just want to enter it...

      In all of the following cases, the expectation is that using the 'tab' button will keep a highlight within the relevant panel/tab, and when the highlight gets to the liast option within the tab/panel/main view, it will "wrap around" and highlight the first item again. In most instances, the highlight does NOT stay within the particular panel. Additionally, it often throws exceptions as follows:

      If you use 'tab' button in Data access, starting at 'species' highlighted, it jumps the highlight to genome, then 'configure' then it gets caught in the load mode list. Each time it moves to the next file in the list, it throws the following:
      Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at com.affymetrix.igb.view.load.TableWithVisibleComboBox$ColumnRenderer.getTableCellRendererComponent(TableWithVisibleComboBox.java:111)
      at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7023)
      at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7410)
      at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6925)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
      at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
      at javax.swing.JTable.changeSelectionModel(JTable.java:2352)
      at javax.swing.JTable.changeSelection(JTable.java:2419)
      at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:555)
      at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1639)
      at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
      at javax.swing.JTable.processKeyBinding(JTable.java:5247)
      at javax.swing.JComponent.processKeyBindings(JComponent.java:2897)
      at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
      at java.awt.Component.processEvent(Component.java:6129)
      at java.awt.Container.processEvent(Container.java:2085)
      at java.awt.Component.dispatchEventImpl(Component.java:4714)
      at java.awt.Container.dispatchEventImpl(Container.java:2143)
      at java.awt.Component.dispatchEvent(Component.java:4544)
      at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
      at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
      at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
      at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
      at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
      at java.awt.Component.dispatchEventImpl(Component.java:4586)
      at java.awt.Container.dispatchEventImpl(Container.java:2143)
      at java.awt.Window.dispatchEventImpl(Window.java:2478)
      at java.awt.Component.dispatchEvent(Component.java:4544)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

      Using tab butting in search panel rotates through options in a weird order: drop box 1, drop box 2, (skip entry box here) search button, trash button, tickybox, THEN back to the entry box, then into the list box, and it gets 'stuck' there and never cycles back to the first 'search' drop box. If there are items in the list box, this error occurs (but NOT all of the time):
      java.util.concurrent.ExecutionException: java.lang.NullPointerException
      at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
      at java.util.concurrent.FutureTask.get(FutureTask.java:83)
      at javax.swing.SwingWorker.get(SwingWorker.java:582)
      at com.affymetrix.igb.search.SearchView$3.finished(SearchView.java:321)
      at com.affymetrix.genometryImpl.thread.CThreadWorker.done(CThreadWorker.java:31)
      at javax.swing.SwingWorker$5.run(SwingWorker.java:717)
      at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:814)
      at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:95)
      at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:824)
      at javax.swing.Timer.fireActionPerformed(Timer.java:271)
      at javax.swing.Timer$DoPostEvent.run(Timer.java:201)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
      Caused by: java.lang.NullPointerException
      at com.affymetrix.igb.view.SeqGroupView$ColumnRenderer.getTableCellRendererComponent(SeqGroupView.java:277)
      at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7023)
      at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7410)
      at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6923)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
      at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
      at javax.swing.JTable.setRowSelectionInterval(JTable.java:2129)
      at com.affymetrix.igb.view.SeqGroupView.seqSelectionChanged(SeqGroupView.java:207)
      at com.affymetrix.genometryImpl.GenometryModel.fireSeqSelectionEvent(GenometryModel.java:201)
      at com.affymetrix.genometryImpl.GenometryModel.setSelectedSeq(GenometryModel.java:181)
      at com.affymetrix.genometryImpl.GenometryModel.setSelectedSymmetriesAndSeq(GenometryModel.java:251)
      at com.affymetrix.igb.search.mode.SearchModeIDOrProps.run(SearchModeIDOrProps.java:246)
      at com.affymetrix.igb.search.mode.SearchModeID.run(SearchModeID.java:18)
      at com.affymetrix.igb.search.SearchView$3.runInBackground(SearchView.java:314)
      at com.affymetrix.genometryImpl.thread.CThreadWorker.doInBackground(CThreadWorker.java:38)
      at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at javax.swing.SwingWorker.run(SwingWorker.java:316)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:680)

      Using the tab button in 'Current Sequences panel ALWAYS generates an NPE:
      Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at com.affymetrix.igb.view.SeqGroupView$ColumnRenderer.getTableCellRendererComponent(SeqGroupView.java:277)
      at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7023)
      at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7410)
      at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6923)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
      at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
      at javax.swing.JTable.changeSelectionModel(JTable.java:2352)
      at javax.swing.JTable.changeSelection(JTable.java:2419)
      at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:555)
      at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1639)
      at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
      at javax.swing.JTable.processKeyBinding(JTable.java:5247)
      at javax.swing.JComponent.processKeyBindings(JComponent.java:2897)
      at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
      at java.awt.Component.processEvent(Component.java:6129)
      at java.awt.Container.processEvent(Container.java:2085)
      at java.awt.Component.dispatchEventImpl(Component.java:4714)
      at java.awt.Container.dispatchEventImpl(Container.java:2143)
      at java.awt.Component.dispatchEvent(Component.java:4544)
      at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
      at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
      at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
      at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
      at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
      at java.awt.Component.dispatchEventImpl(Component.java:4586)
      at java.awt.Container.dispatchEventImpl(Container.java:2143)
      at java.awt.Window.dispatchEventImpl(Window.java:2478)
      at java.awt.Component.dispatchEvent(Component.java:4544)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

      Using 'tab' button in Restriction enzymes goes through 'map' button, 'clear' button, then 2 taps don't seem to do anything, but the third causes the highlight to appear in the range box of the main view, and tab through the main view until it finds the selected lower panel, and then 'enters that panel'. No exceptions appear.

      Slice View, Graph Adjuster External View and Plug-ins panels allow the 'tab' button to select through fine, but at the last option in that panel, it jumps to the selected PORTRAIT panel (current sequences, or restriction enzymes) and then creates the described errors for each of those panels.

      Tabbing in main view, cycles through until it enters the selected bottom tab. If the highlight enters the Plug-ins Tab, the highlight gets 'stuck' in the list box (like it does in search) and nevers cycles to anything else.

        Attachments

          Issue Links

            Activity

            Hide
            hiralv Hiral Vora (Inactive) added a comment -

            Cannot reproduce on r8755.

            Show
            hiralv Hiral Vora (Inactive) added a comment - Cannot reproduce on r8755.
            Hide
            alyssa Alyssa Gulledge (Inactive) added a comment -

            v. 9752

            for Current genome tab. Select Chr1. Use the tab button (which presumably then selects the 'Length column') you get the following npe:
            Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at com.affymetrix.igb.view.SeqGroupView$ColumnRenderer.getTableCellRendererComponent(SeqGroupView.java:245)
            at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7023)
            at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7410)
            at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6925)
            at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
            at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
            at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
            at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
            at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
            at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
            at javax.swing.JTable.changeSelectionModel(JTable.java:2352)
            at javax.swing.JTable.changeSelection(JTable.java:2419)
            at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:555)
            at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1645)
            at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
            at javax.swing.JTable.processKeyBinding(JTable.java:5247)
            at javax.swing.JComponent.processKeyBindings(JComponent.java:2897)
            at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
            at java.awt.Component.processEvent(Component.java:6150)
            at java.awt.Container.processEvent(Container.java:2085)
            at java.awt.Component.dispatchEventImpl(Component.java:4735)
            at java.awt.Container.dispatchEventImpl(Container.java:2143)
            at java.awt.Component.dispatchEvent(Component.java:4565)
            at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
            at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
            at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
            at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
            at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
            at java.awt.Component.dispatchEventImpl(Component.java:4607)
            at java.awt.Container.dispatchEventImpl(Container.java:2143)
            at java.awt.Window.dispatchEventImpl(Window.java:2478)
            at java.awt.Component.dispatchEvent(Component.java:4565)
            at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
            at java.awt.EventQueue.access$000(EventQueue.java:85)
            at java.awt.EventQueue$1.run(EventQueue.java:638)
            at java.awt.EventQueue$1.run(EventQueue.java:636)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
            at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
            at java.awt.EventQueue$2.run(EventQueue.java:652)
            at java.awt.EventQueue$2.run(EventQueue.java:650)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

            A second use of the tab button successfully selects to the Chr2, but another tab results in the same NPE.

            Show
            alyssa Alyssa Gulledge (Inactive) added a comment - v. 9752 for Current genome tab. Select Chr1. Use the tab button (which presumably then selects the 'Length column') you get the following npe: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.affymetrix.igb.view.SeqGroupView$ColumnRenderer.getTableCellRendererComponent(SeqGroupView.java:245) at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7023) at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7410) at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6925) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398) at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442) at javax.swing.JTable.changeSelectionModel(JTable.java:2352) at javax.swing.JTable.changeSelection(JTable.java:2419) at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:555) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1645) at javax.swing.JComponent.processKeyBinding(JComponent.java:2851) at javax.swing.JTable.processKeyBinding(JTable.java:5247) at javax.swing.JComponent.processKeyBindings(JComponent.java:2897) at javax.swing.JComponent.processKeyEvent(JComponent.java:2814) at java.awt.Component.processEvent(Component.java:6150) at java.awt.Container.processEvent(Container.java:2085) at java.awt.Component.dispatchEventImpl(Component.java:4735) at java.awt.Container.dispatchEventImpl(Container.java:2143) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676) at java.awt.Component.dispatchEventImpl(Component.java:4607) at java.awt.Container.dispatchEventImpl(Container.java:2143) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:652) at java.awt.EventQueue$2.run(EventQueue.java:650) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:649) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) A second use of the tab button successfully selects to the Chr2, but another tab results in the same NPE.
            Hide
            david David Norris (Inactive) added a comment -

            Fixed in r9828

            Show
            david David Norris (Inactive) added a comment - Fixed in r9828
            Hide
            fwang4 Fuquan Wang (Inactive) added a comment -

            Passed on 7.0.0 (11884) Mac.

            Show
            fwang4 Fuquan Wang (Inactive) added a comment - Passed on 7.0.0 (11884) Mac.
            Hide
            darius darius added a comment -

            Passed on Windows XP (7.0)

            Show
            darius darius added a comment - Passed on Windows XP (7.0)

              People

              • Assignee:
                Unassigned
                Reporter:
                alyssa Alyssa Gulledge (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: