If models are scaled up to the extent that more than 1024MB of JVM heap are requried, the netlogo_headless.sh distribtued with netlogo is insufficient.
If this occurs, the script does not return, hanging indefinately.
The postprocessing of stdout from this consumes this error message, so from a runall.sh it just looks like it's waiting for netlogo to run.
The explicit setting of -Xmx1024m in /opt/netlogo/netlogo-headless.sh prevents use of JAVA_TOOLS_OPTIONS=-Xmx8192m (or the implicit default of 1/4 system memory) to override this, allowing larger netlogo models.
This could be resolved, when using a container, by mutating this file during netlogo installation, removing the limit, then setting JAVA_TOOLS_OPTIONS to a sane value for the container if required (plus documenting for users)
If models are scaled up to the extent that more than 1024MB of JVM heap are requried, the
netlogo_headless.shdistribtued with netlogo is insufficient.If this occurs, the script does not return, hanging indefinately.
The postprocessing of stdout from this consumes this error message, so from a
runall.shit just looks like it's waiting for netlogo to run.The explicit setting of
-Xmx1024min/opt/netlogo/netlogo-headless.shprevents use ofJAVA_TOOLS_OPTIONS=-Xmx8192m(or the implicit default of 1/4 system memory) to override this, allowing larger netlogo models.This could be resolved, when using a container, by mutating this file during netlogo installation, removing the limit, then setting
JAVA_TOOLS_OPTIONSto a sane value for the container if required (plus documenting for users)