首页 > 解决方案 > 2241 非法硬件指令 rails s

问题描述

问题出在:升级到 MacOS 10.15.1 后无法启动现有 Rails 项目。终端在 Rails 之后显示(如下)并转到 localhost:3000。 SEGV received in SEGV handler [1] 1438 illegal hardware instruction rails s

注意:安装了最新版本的 Xcode/命令行。

成功升级操作系统(MacOS 10.15.1)后,我成功地按照 MacPorts 迁移指南进行操作。此外,我成功地用 Ruby 2.6.1、2.6.3 和 2.6.5 重新安装了 RVM。

接下来,安装 gem Rails -v 5.2.3 没有问题。用 进行了测试Rails new TestProj,它成功创建了一个新项目,使用 Rails 捆绑并启动了服务器。没有问题,看到“Yay you're on Rails”页面。到目前为止,一切都很好。

然后我 CD 到一个现有的 Rails 项目中,该项目基于 MacOS 10.14.x (Mojave) 进行了捆绑更新,没有任何问题。紧随其后的是rails s,彪马开始没有问题。这就是它变得奇怪的地方,从字面上看,当我转到 URL“localhost:3000”时,我立即收到此错误。

SEGV received in SEGV handler [1]<- 这重复了 1438 illegal hardware instruction rails s

我认为这可能是一个 gem 问题,尝试将相同的 gem 集安装到 TestProj 中,并且在 Puma 启动并加载“Yay ...”时一切正常。最后,我尝试克隆 repo、捆绑并收到相同的错误消息。我将我认为日志文件中最重要的部分粘贴到这篇文章中。我想知道 Rails 应用程序中是否有某些东西指定了某些需要更新的硬件?我为它的长度道歉,希望有人能比我更好地解释这个并帮助解决问题。我很乐意提供更多信息。只是不确定除了您可能需要的日志文件之外还有什么。让我知道。谢谢!

Exception Codes:       KERN_INVALID_ADDRESS at 0x00000000000000f8
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   ruby [1438]

VM Regions Near 0xf8:
--> 
    __TEXT                 0000000103679000-000000010367a000 [    4K] r-x/r-x SM=COW  /Users/USER/*

Application Specific Information:
abort() called

Thread 11 Crashed:: thread_pool.rb*
0   libsystem_pthread.dylib         0x00007fff681ac65f pthread_kill + 276
1   libsystem_c.dylib               0x00007fff68077a1c abort + 120
2   libruby.2.6.dylib               0x00000001038261d9 ruby_abort + 9
3   libruby.2.6.dylib               0x0000000103826160 check_reserved_signal_ + 160 (signal.c:854)
4   libruby.2.6.dylib               0x0000000103825fa4 sigsegv + 36 (signal.c:997)
5   libsystem_platform.dylib        0x00007fff681a1b1d _sigtramp + 29
6   ???                             000000000000000000 0 + 0
7   libsystem_c.dylib               0x00007fff68077a1c abort + 120

我希望 cd 进入现有的 RoR 应用程序并运行rails s以启动服务器。然后转到http://localhost:3000并查看应用程序而不会崩溃。实际结果如下: ...

SEGV received in SEGV handler
SEGV received in SEGV handler
SEGV received in SEGV handler
SEGV received in SEGV handler
SEGV received in SEGV handler
SEGV received in SEGV handler
SEGV received in SEGV handler
SEGV received in SEGV handler
[1]    16523 illegal hardware instruction  rails s

标签: ruby-on-railsrubymacos

解决方案


推荐阅读