2

我不确定是什么导致了这个错误——也不确定如何调试这个问题。在运行 Rails 3.1 应用程序时,是否有人对错误“非法硬件指令 rails server”有任何建议?

提前谢谢,丹

更新:

该错误始终是可重现的,并且仅发生在我尝试从 Rails 3.0 升级到 Rails 3.1 (RC1) 的项目中

我没有在日志中看到任何东西——除了一堆警告:

DEPRECATION WARNING: class_inheritable_attribute is deprecated, please use class_attribute method instead. Notice their behavior are slightly different, so refer to class_attribute documentation first. (called from <class:Entity> at .../app/models/entity.rb:3)

警告来自使用名为acts_as_audited 的gem。如果我对此发表评论......它会起作用。我不认为警告会导致 rails 报告硬件错误。

4

2 回答 2

7

遇到同样的错误,但我已经解决了。我的问题是由 HomeBrew 安装的 v8 引擎引起的。只需将其删除即可解决问题。

您的情况可能有所不同,我为您提供了一个检查它的好方法。当您的 Rails 服务器崩溃时,Mac OS X 会将崩溃报告另存为

~/Library/Logs/DiagnosticReports/ruby_*.crash

然后你可以检查这个文件,找到崩溃的线程描述。在我的系统上,它报告:

Thread 4 Crashed: 0 libv8.dylib 0x00000001030a08f8 v8::internal::HandleScope::DeleteExtensions(v8::internal::Isolate*) + 24

于 2011-12-24T14:21:06.497 回答
0

错误是否可重现?如果是,那么您可能会怀疑该软件。也许最近升级了一些库或 ruby​​ 本身?

在任何情况下,检查机器是否存在内存错误和磁盘问题都是一个好主意。也许系统日志中有一些信息?

你没有说你在什么系统上,但无论如何——确保硬件没问题,确保基本系统没问题,检查你的代码是否没有死循环或类似错误,检查不同版本是否仍然存在错误Rails 或红宝石。

那是开始。:)

于 2011-05-24T07:49:28.290 回答