Uploaded image for project: 'Jalview'
  1. Jalview
  2. JAL-2665

NPE when selecting sequence ids and scrolling downwards

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.10.2
    • Fix Version/s: 2.10.2b1
    • Component/s: gui
    • Labels:
      None

      Description

      Noticed while working on JAL-2664.

      Open an alignment with a large number of sequences. Put the desktop at full screen. Click and hold down on a sequence id and drag downwards. Keep dragging past the bottom of the panel, and down past the bottom of the desktop, so that the ids scroll upwards. Typically immediately or after a few times, an NPE is thrown.

      (Same problem scrolling sideways).

      Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(SolidTextRenderer.java:42)
      at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:72)
      at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
      at jalview.gui.SequenceRenderer.drawText(SequenceRenderer.java:421)
      at jalview.gui.SequenceRenderer.drawSequence(SequenceRenderer.java:187)
      at jalview.gui.SeqCanvas.draw(SeqCanvas.java:746)
      at jalview.gui.SeqCanvas.drawPanel(SeqCanvas.java:666)
      at jalview.gui.SeqCanvas.paintComponent(SeqCanvas.java:416)
      at javax.swing.JComponent.paint(JComponent.java:1056)
      at javax.swing.JComponent.paintChildren(JComponent.java:889)
      at javax.swing.JComponent.paint(JComponent.java:1065)
      at javax.swing.JComponent.paintChildren(JComponent.java:889)
      at javax.swing.JComponent.paint(JComponent.java:1065)
      at javax.swing.JComponent.paintChildren(JComponent.java:889)
      at javax.swing.JComponent.paint(JComponent.java:1065)
      at javax.swing.JComponent.paintChildren(JComponent.java:889)
      at javax.swing.JComponent.paint(JComponent.java:1065)
      at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
      at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
      at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
      at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
      at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
      at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
      at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
      at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
      at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
      at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
      at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
      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:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      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)

      Also
      Exception in thread "Thread-45" java.lang.NullPointerException
      at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(SolidTextRenderer.java:42)
      at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:72)
      at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
      at jalview.gui.SequenceRenderer.drawText(SequenceRenderer.java:421)
      at jalview.gui.SequenceRenderer.drawSequence(SequenceRenderer.java:187)
      at jalview.gui.SeqCanvas.draw(SeqCanvas.java:746)
      at jalview.gui.SeqCanvas.drawPanel(SeqCanvas.java:666)
      at jalview.gui.SeqCanvas.fastPaint(SeqCanvas.java:334)
      at jalview.gui.SeqCanvas.propertyChange(SeqCanvas.java:1036)
      at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
      at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
      at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
      at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:283)
      at jalview.viewmodel.ViewportRanges.setStartEndSeq(ViewportRanges.java:235)
      at jalview.viewmodel.ViewportRanges.setStartSeq(ViewportRanges.java:191)
      at jalview.viewmodel.ViewportRanges.scrollUp(ViewportRanges.java:421)
      at jalview.gui.IdPanel$ScrollThread.run(IdPanel.java:488)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              kmourao Kira Mourão
              Reporter:
              kmourao Kira Mourão
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: