0

I am trying to automate a java application using Marathon Java drivers (5.2.6.0 and 5.4 also), and I am able to successfully execute without issue. However, frequently, I get the below exception from Marathon Java Driver, and execution is stopped immediately. Any pointers on how this can be resolved is highly appreciated.

net.sourceforge.marathon.javafxagent.JavaAgentException
    at net.sourceforge.marathon.javafxagent.server.JavaServer.invoke(JavaServer.java:514)
    at net.sourceforge.marathon.javafxagent.server.JavaServer.handleRoute(JavaServer.java:408)
    at net.sourceforge.marathon.javafxagent.server.JavaServer.serve_internal(JavaServer.java:371)
    at net.sourceforge.marathon.javafxagent.server.JavaServer.serve(JavaServer.java:326)
    at fi.iki.elonen.NanoHTTPD.serve(NanoHTTPD.java:2244)
    at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:945)
    at fi.iki.elonen.NanoHTTPD$ClientHandler.run(NanoHTTPD.java:192)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.ConcurrentModificationException
    at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:386)
    at java.util.AbstractList$Itr.next(AbstractList.java:355)
    at com.sun.javafx.scene.shape.PathUtils.configShape(PathUtils.java:45)
    at javafx.scene.shape.Path.impl_configShape(Path.java:251)
    at javafx.scene.shape.Path.impl_configShape(Path.java:89)
    at javafx.scene.shape.Shape.impl_computeGeomBounds(Shape.java:864)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.updateCachedBounds(Parent.java:1596)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1535)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.computeLocalBounds(Node.java:3593)
    at javafx.scene.Node.updateLocalBounds(Node.java:3623)
    at javafx.scene.Node.getLocalBounds(Node.java:3484)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.updateCachedBounds(Parent.java:1596)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1535)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.updateCachedBounds(Parent.java:1596)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1535)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.computeLocalBounds(Node.java:3593)
    at javafx.scene.Node.updateLocalBounds(Node.java:3623)
    at javafx.scene.Node.getLocalBounds(Node.java:3484)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.updateCachedBounds(Parent.java:1596)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1535)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.computeLocalBounds(Node.java:3593)
    at javafx.scene.Node.updateLocalBounds(Node.java:3623)
    at javafx.scene.Node.getLocalBounds(Node.java:3484)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1732)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1524)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node$MiscProperties$2.computeBounds(Node.java:6472)
    at javafx.scene.Node$LazyBoundsProperty.get(Node.java:9306)
    at javafx.scene.Node$LazyBoundsProperty.get(Node.java:9276)
    at javafx.scene.Node.getBoundsInLocal(Node.java:3156)
    at net.sourceforge.marathon.javafxagent.FXEventQueueDevice.ensureVisible(FXEventQueueDevice.java:496)
    at net.sourceforge.marathon.javafxagent.FXEventQueueDevice.dispatchKeyEvent(FXEventQueueDevice.java:258)
    at net.sourceforge.marathon.javafxagent.FXEventQueueDevice.sendKey(FXEventQueueDevice.java:237)
    at net.sourceforge.marathon.javafxagent.FXEventQueueDevice.sendKeys(FXEventQueueDevice.java:228)
    at net.sourceforge.marathon.javafxagent.JavaFXElement.sendKeys(JavaFXElement.java:78)
    at net.sourceforge.marathon.javafxagent.server.JavaServer.sendKeysElement(JavaServer.java:911)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.sourceforge.marathon.javafxagent.server.JavaServer.invoke(JavaServer.java:479)
    ... 7 more ```
  • 1
    It appears that you have not posted the entire stack trace. Please [edit] your question and post all of the stack trace. Note that the part after `Caused by:` is important because it helps to locate the line of code that is causing the exception to be thrown. – Abra Jun 04 '21 at 06:15
  • @Abra, thanks for your suggestion. Edited the question to include the available stack trace.. – karthik110885 Jun 04 '21 at 09:18
  • @karthik110885 Can you please drop a mail to support or forms in marathonv5 GitHub. – Aditya Karra Jun 07 '21 at 05:30
  • @AdityaKarra I checked the GitHub page but I couldn't find any mail ID's. Sorry, if I am missing the obvious. Thanks for your support. – karthik110885 Jun 07 '21 at 08:18
  • @karthik110885 check this link https://marathontesting.com/contact-us/ – Aditya Karra Jun 07 '21 at 09:26
  • @AdityaKarra - Thanks for the information. I have filled the form regarding the issue. Thanks again. – karthik110885 Jun 07 '21 at 09:59

1 Answers1

0

The component it is trying to find might not be enabled by that time. So try using Selenium wait call and wait till the component is enabled.

Aditya Karra
  • 151
  • 1
  • 7