[kepler-dev] error dragging a relation from a port

Edward A. Lee eal at eecs.berkeley.edu
Fri Aug 24 08:52:32 PDT 2012


I have checked in a fix that may solve this problem.
However, I'm unable to reproduce the scenario that originally
triggered my previous, imperfect, fix.  So please, if you see
any anomalies, and most especially if you can reproduce them,
please let me know.

I suspect there is still a threading bug somewhere, where
either something is getting done outside the Swing event thread
that should be done in that thread, or there is some other
thread interaction...

I hate threads :-(

Edward


On 8/20/12 3:28 PM, Derik Barseghian wrote:
> Hey Christopher,
> Dan and I are getting an error[1] when trying to drag a relation from a
> port today in Kepler.
> I'm also seeing a few other issues that seem to happen after the above.
> I got an NPE[2] from a click, have strange actor-drag behavior (actor
> drags wildly / shoots off in one direction), and sometimes dots are left
> over on canvas at the point where I clicked on the port. Also when I'm
> dragging out a relation I also notice in the upper left corner of canvas
> a blue 'port endpoint' square (generally only noticeable in the overview
> section in the lower left).
> See attached screenshot to see dots and blue square.
> Derik
>
> [1]
> java.lang.NullPointerException
> at diva.canvas.TransformContext.getTransform(TransformContext.java:161)
> at diva.canvas.AbstractSite.getPoint(AbstractSite.java:82)
> at
> diva.canvas.connector.BasicManhattanRouter.routeManhattan(BasicManhattanRouter.java:87)
> at
> diva.canvas.connector.BasicManhattanRouter.route(BasicManhattanRouter.java:68)
> at
> diva.canvas.connector.ManhattanConnector.route(ManhattanConnector.java:121)
> at
> ptolemy.vergil.actor.KielerLayoutConnector.route(KielerLayoutConnector.java:214)
> at
> diva.canvas.connector.AbstractConnector.reroute(AbstractConnector.java:285)
> at
> diva.canvas.connector.AbstractConnector.tailMoved(AbstractConnector.java:406)
> at
> diva.canvas.connector.AbstractConnector.setTailSite(AbstractConnector.java:398)
> at
> ptolemy.vergil.actor.ActorEditorGraphController$LinkCreator.mousePressed(ActorEditorGraphController.java:676)
> at
> diva.canvas.interactor.CompositeInteractor.mousePressed(CompositeInteractor.java:199)
> at diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)
> at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)
> at diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)
> at diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)
> at diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)
> at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)
> at diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:520)
> at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:474)
> at java.awt.Component.processEvent(Component.java:6140)
> at java.awt.Container.processEvent(Container.java:2083)
> at java.awt.Component.dispatchEventImpl(Component.java:4737)
> at java.awt.Container.dispatchEventImpl(Container.java:2141)
> at java.awt.Component.dispatchEvent(Component.java:4565)
> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)
> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
> at java.awt.Container.dispatchEventImpl(Container.java:2127)
> at java.awt.Window.dispatchEventImpl(Window.java:2482)
> at java.awt.Component.dispatchEvent(Component.java:4565)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)
> at java.awt.EventQueue.access$000(EventQueue.java:85)
> at java.awt.EventQueue$1.run(EventQueue.java:643)
> at java.awt.EventQueue$1.run(EventQueue.java:641)
> 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:657)
> at java.awt.EventQueue$2.run(EventQueue.java:655)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)
> 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)
>
>
> [2]
> [run] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
> [run] at
> diva.canvas.TransformContext.getTransform(TransformContext.java:161)
> [run] at diva.canvas.AbstractSite.getPoint(AbstractSite.java:82)
> [run] at
> diva.canvas.interactor.BasicGrabHandle.relocate(BasicGrabHandle.java:94)
> [run] at
> diva.canvas.interactor.Manipulator.relocateGrabHandles(Manipulator.java:191)
> [run] at diva.canvas.interactor.Manipulator.repaint(Manipulator.java:211)
> [run] at diva.canvas.interactor.Manipulator.repaint(Manipulator.java:175)
> [run] at diva.canvas.AbstractFigure.repaint(AbstractFigure.java:236)
> [run] at diva.canvas.AbstractFigure.repaint(AbstractFigure.java:224)
> [run] at diva.canvas.FigureDecorator.setChild(FigureDecorator.java:190)
> [run] at
> diva.canvas.connector.ConnectorManipulator.setChild(ConnectorManipulator.java:215)
> [run] at diva.canvas.FigureLayer.decorate(FigureLayer.java:180)
> [run] at
> diva.canvas.interactor.BasicSelectionRenderer.renderSelected(BasicSelectionRenderer.java:119)
> [run] at
> diva.canvas.interactor.BasicSelectionModel.renderSelected(BasicSelectionModel.java:271)
> [run] at
> diva.canvas.interactor.BasicSelectionModel.addSelection(BasicSelectionModel.java:101)
> [run] at
> diva.canvas.interactor.SelectionInteractor.mousePressed(SelectionInteractor.java:172)
> [run] at diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)
> [run] at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)
> [run] at diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)
> [run] at diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)
> [run] at diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)
> [run] at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)
> [run] at diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:520)
> [run] at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:474)
> [run] at java.awt.Component.processEvent(Component.java:6140)
> [run] at java.awt.Container.processEvent(Container.java:2083)
> [run] at java.awt.Component.dispatchEventImpl(Component.java:4737)
> [run] at java.awt.Container.dispatchEventImpl(Container.java:2141)
> [run] at java.awt.Component.dispatchEvent(Component.java:4565)
> [run] at
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
> [run] at
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)
> [run] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
> [run] at java.awt.Container.dispatchEventImpl(Container.java:2127)
> [run] at java.awt.Window.dispatchEventImpl(Window.java:2482)
> [run] at java.awt.Component.dispatchEvent(Component.java:4565)
> [run] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)
> [run] at java.awt.EventQueue.access$000(EventQueue.java:85)
> [run] at java.awt.EventQueue$1.run(EventQueue.java:643)
> [run] at java.awt.EventQueue$1.run(EventQueue.java:641)
> [run] at java.security.AccessController.doPrivileged(Native Method)
> [run] at
> java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> [run] at
> java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
> [run] at java.awt.EventQueue$2.run(EventQueue.java:657)
> [run] at java.awt.EventQueue$2.run(EventQueue.java:655)
> [run] at java.security.AccessController.doPrivileged(Native Method)
> [run] at
> java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> [run] at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)
> [run] at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
> [run] at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
> [run] at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
> [run] at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
> [run] at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
> [run] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
>
>
>
>
>
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at kepler-project.org
> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eal.vcf
Type: text/x-vcard
Size: 330 bytes
Desc: not available
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20120824/6bb1eabb/attachment.vcf>


More information about the Kepler-dev mailing list