1

我正在使用 JRI api 在 Java 中使用“R”。我创建了一个具有 JRI 代码的网络服务。当我第一次使用这个 Web 服务时,它可以正常工作,但是在随后的请求中,JVM 崩溃并说:“崩溃发生在 Java 虚拟机之外的本地代码中。”

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (0xc0000029), pid=9148, tid=9716
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x8e1b9]
#
# An error report file with more information is saved as:
# C:\Users\ambarish\.netbeans\dev\config\GF3\domain1\hs_err_pid9148.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.

这是否与 R 没有线程支持这一事实有关,您只能在多线程应用程序中运行 R 的一个实例?

我正在使用 Rengine 在 Java 中运行 R 脚本,我试图停止/销毁 Rengine 对象但它不起作用。如何确保在第二个请求之前对 Rengine 实例进行垃圾收集。

请让我知道如何解决这个问题。

4

1 回答 1

0

使用 JRI 只能创建一个 Rengine 实例。因此,请改用支持线程的 Rserve 。

于 2011-07-21T00:04:08.290 回答