java - 在 Linux 集群错误上使用 Rscript 无头加载 NetLogo
问题描述
我在 Linux 系统集群(大型计算机)上运行 Netlogo,我使用的是旧版本的 Netlogo-5.2.0,带有 R 版本 3.5 及其 RPackages(RNetLogo-1.0-1 和 rJava,它们与 Netlogo-5.2 兼容。 0)。当我使用命令时
NLStart(nl.path, gui=F, nl.obj=my.netlogo1) #Creates an instance of NetLogo
然后它给了我这个错误:
Warning message: In `[<-`(`*tmp*`, nl.obj, value = nlo)
当我开始加载模型时
NLLoadModel(model.path, nl.obj=my.netlogo1)
它给了我这个错误:
Exception in thread "JobThread" java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: "scala/Function0$mcV$sp"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.nlogo.job.JobThread.run(JobThread.scala:76)
Exception in thread "JobThread" java.lang.LinkageError: org/nlogo
/job/JobThread$$anonfun$run$1
at org.nlogo.job.JobThread.run(JobThread.scala:76)
[1] "Java-Object{java.lang.OutOfMemoryError: PermGen space}"
Error in NLLoadModel(model.path, nl.obj = my.netlogo1) :
Execution halted
任何人都有任何想法这个问题是什么以及如何解决?谢谢
解决方案
推荐阅读
- javascript - 如何使用 javascript 更改复杂的 CSS 节点属性?
- r - 在 R 中大写邮政编码
- python - 使用 Pandas groupby 如何使用加法聚合一列列表?
- java - 递归 - 如何获得没有小数的整数
- mongodb - 组数 2 项对象数组 mongodb
- python - 嵌套字典和字符串索引错误
- ubuntu - 如何将由重复“n”次的 ASCII 字符组成的字符串作为命令行参数传递给简单的 c 程序?
- timezone - 无法更改 GitLab 时区
- firebase - Firestore 通过 Firebase Functions 与 Firestore SDK 的性能差异
- cmake - CMake 不支持工具集规范