AnsweredAssumed Answered

Network Analyst Script Control Error

Question asked by DavidGreene on Jun 22, 2017
Latest reply on Jan 18, 2018 by ThompsonMS

I have a complex multi-modal network dataset with some scripted evaluators defined for edges and default turns.  The route generation and evaluators work perfectly on our development ArcGIS Server 10.3.1.  However, when deployed to a hardened production server, the default turn evaluators fail miserably with the following error in the MapServer log:

System.Runtime.InteropServices.COMException (0x80042270): The evaluator failed to return a value. [Attribute: NoBargeToTruck, Default Turns, OID = -1, EID = -1].  Network element evaluator error. [Script Control Error -2147352319].

In the Server/framework/etc/service/logs/service.log, I am seeing this Java stack trace:

:ExecGroup-1488:err:Exception in thread "SOThread" java.lang.RuntimeException: java.lang.NoSuchFieldError: a
:ExecGroup-1488:err: at com.esri.arcgis.discovery.servicelib.impl.SOThread.run(SOThread.java:476)
:ExecGroup-1488:err:Caused by: java.lang.NoSuchFieldError: a
:ExecGroup-1488:err: at com.esri.arcgis.interop.StdObjRef.b(Unknown Source)
:ExecGroup-1488:err: at com.esri.arcgis.interop.Cleaner.releaseAllInCurrentThread(Unknown Source)
:ExecGroup-1488:err: at com.esri.arcgis.discovery.servicelib.impl.SOThread.b(SOThread.java:1178)
:ExecGroup-1488:err: at com.esri.arcgis.discovery.servicelib.impl.SOThread.run(SOThread.java:414)

I've turned off all restrictions except for one and through various trials, I have found that this works:

Body:
Dim prohibit
prohibit = false
Value:
prohibit

But this fails:

Body:
Dim prohibit
prohibit = false
dim test
test = Turn.EID
Value:
prohibit

Accessing ANY of the network elements (Turn, fromEdge, toEdge) fails with the COMException but only for default turns.  Scripts on Edges work just fine.  The Server is Windows 2008 R2 64-bit.  The network dataset is served from a file-geodatabase.

 

Any thoughts?

Outcomes