- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 jRuby/Rails 项目中的命令“import nltk”有问题。有趣的是,如果我在重新启动 webrick 后第一次在 webrick 服务器上使用“import nltk”运行代码,一切都会正常运行。任何其他运行代码的尝试都会以如下所示的错误结束。知道为什么会这样吗?我的 Python 是 2.7,jRuby 1.6.7。
在 jruby 代码中,我简单地调用:
RubyPython.start # start the Python interpreter
nltk = RubyPython.import("nltk")
RubyPython.stop # stop the Python interpreter
第二次调用上述代码后出现错误:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x89c9cc7a, pid=9774, tid=2319420224
#
# JRE version: 7.0_06-b24
# Java VM: Java HotSpot(TM) Server VM (23.2-b09 mixed mode linux-x86 )
# Problematic frame:
# C [multiarray.so+0x78c7a] _strided_zero_pad_data_copy+0x3106a
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x0a646400): JavaThread "RubyThread-13: /usr/lib/jruby/lib/ruby/1.8/webrick/server.rb:162" daemon [_thread_in_native, id=9817, stack(0x8a1f8000,0x8a3f9000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000001
Registers:
EAX=0x00000001, EBX=0x89d28ff4, ECX=0x00000001, EDX=0x8b879ad8
ESP=0x8a3c7d94, EBP=0x00000000, ESI=0x89d2c860, EDI=0x89d2c860
EIP=0x89c9cc7a, EFLAGS=0x00210202, CR2=0x00000001
Top of Stack: (sp=0x8a3c7d94)
0x8a3c7d94: 8b28f16c 8b2c78b8 89c303bd 89d28ff4
0x8a3c7da4: 89ddd21b 89d28ff4 89fb2680 89c7fa64
0x8a3c7db4: 89fb2680 89d2ba80 8b72aacc 89e536a4
0x8a3c7dc4: 89d28ff4 8bb85d54 8b879ad0 89cb601c
0x8a3c7dd4: 00000011 89d2bb60 8b829780 89e97d99
0x8a3c7de4: 00000007 8bb42840 8c54d71c 89d28ff4
0x8a3c7df4: 8b4f8c88 89d2c860 00000000 89cb80dc
0x8a3c7e04: 8b879ad8 89d2c860 00000004 00000000
Instructions: (pc=0x89c9cc7a)
0x89c9cc5a: 89 04 24 e8 ae 25 f9 ff 85 c0 75 8a 83 c4 5c 5b
0x89c9cc6a: 5e 5f 5d c3 66 90 8b 54 24 70 8b 02 85 c0 74 ec
0x89c9cc7a: 83 00 01 83 c4 5c 5b 5e 5f 5d c3 8d 74 26 00 8d
0x89c9cc8a: bc 27 00 00 00 00 53 83 ec 18 8b 54 24 20 e8 fa
Register to memory mapping:
EAX=0x00000001 is an unknown value
EBX=0x89d28ff4: <offset 0x104ff4> in /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so at 0x89c24000
ECX=0x00000001 is an unknown value
EDX=0x8b879ad8 is an unknown value
ESP=0x8a3c7d94 is pointing into the stack for thread: 0x0a646400
EBP=0x00000000 is an unknown value
ESI=0x89d2c860: <offset 0x108860> in /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so at 0x89c24000
EDI=0x89d2c860: <offset 0x108860> in /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so at 0x89c24000
Stack: [0x8a1f8000,0x8a3f9000], sp=0x8a3c7d94, free space=1855k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [multiarray.so+0x78c7a] _strided_zero_pad_data_copy+0x3106a
[error occurred during error reporting (printing native stack), id 0xb]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.kenai.jffi.Foreign.invokeArrayO1Int32(J[BLjava/lang/Object;III)I+0
.......
最佳答案
看起来 rubypython 用 FFI 发挥了它的魔力。如果 FFI 二进制文件(JRuby 附带)和/或您使用的 JVM 有问题,当 JVM 出现段错误时您无能为力。
尝试更新的 JRuby 版本和/或 JVM,但除此之外,恐怕您不会在这里获得太多帮助。
也就是说,它适用于我的 Mac。
$ cat test.rb
require "rubypython"
RubyPython.start # start the Python interpreter
cPickle = RubyPython.import("cPickle")
p cPickle.dumps("Testing RubyPython.").rubify
RubyPython.stop # stop the Python interpreter
$ jruby -v; jruby -rubygems test.rb
jruby 1.7.0.preview2 (1.9.3p203) 2012-08-22 ff42564 on Java HotSpot(TM) 64-Bit Server VM 1.7.0_04-b21 [darwin-x86_64]
"S'Testing RubyPython.'\np1\n."
关于python - 导入 NLTK 时出现 Rubypython 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12122163/
我尝试在 Debian 8 上使用 RubyPython 但无法。 RubyPython.start 始终引发 InvalidInterpreter 异常。我尝试指定 python 解释器可执行文件,
我对 python 和 ruby 都很陌生。 我创建了一个 python 脚本,它像这样导入它的依赖项: import sys sys.path.append("/usr/share/anki")
我刚刚开始使用 RubyPython,虽然文档说您可以加载模块,但它没有任何示例或说明来执行此操作。 我已经在我的机器上安装了 Python NLTK(如果重要的话是 Ubuntu),并且可以在从命令
我的 jRuby/Rails 项目中的命令“import nltk”有问题。有趣的是,如果我在重新启动 webrick 后第一次在 webrick 服务器上使用“import nltk”运行代码,一切
我正在尝试使用 RubyPython 模块 ( https://github.com/halostatue/rubypython ) 从 Ruby 脚本中执行 Python 代码。我已经正确设置了所有
我正尝试在 Ubuntu 服务器上使用 Gollum 来提供 Markdown 页面,但每当我尝试突出显示任何语法时都会收到以下错误。 undefined method `Py_IsInitializ
我在使用第一个方 block 中的 RubyPython gem 时遇到了一些问题: [1] pry(main)> require 'rubypython' => true [2] pry(main)
我有一份安装了所有开发工具的 Lion 副本。 Python (2.7) 和 Ruby (1.8) 都运行得很好。我已经安装了 Python 自然语言工具包,并在 Python 解释器中进行了尝试,它
我是一名优秀的程序员,十分优秀!