使用JRI后,一个成功请求后JVM崩溃

时间:2011-07-19 14:15:29

标签: r netbeans7.0 jri

我正在使用JRI api在Java中使用“R”。我创建了一个具有JRI代码的Web服务。当我第一次使用这个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实例被垃圾收集。

请告诉我如何解决此问题。

1 个答案:

答案 0 :(得分:0)

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