问题描述
|
我不确定导致此错误的原因-也不确定如何调试问题。运行Rails 3.1应用程序时,是否有人对错误“非法硬件指令Rails服务器”有任何建议?
提前致谢,
担
更新:
该错误始终是可重现的,并且仅在我尝试从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)
这些警告来自使用名为act_as_audited的gem的使用。如果我将其注释掉,它将起作用。我认为警告不会引起rails报告硬件错误。
解决方法
错误可以重现吗?如果是,则您可能怀疑该软件。也许某些图书馆或红宝石本身最近已升级?
无论如何,最好检查计算机是否存在内存错误和磁盘问题。也许系统日志中有一些信息?
您没有说过您所使用的系统,但是在任何情况下-确保硬件正常,确保基本系统正常,检查您的代码是否没有无限循环或类似错误,并检查错误是否仍然存在。 Rails或ruby版本。
那是开始。 :)
,遇到相同的错误,但我已经解决了。我的问题是由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