【问题标题】:Mysterious Mongrel Rails crash神秘的 Mongrel Rails 崩溃
【发布时间】:2010-09-21 13:16:11
【问题描述】:

在 OS X 10.4 服务器上通过 ruby​​-pg 0.7.9 使用 PostgreSQL 8.3 在 Rails 2.1.2 上运行 Mongrel 1.1.5...

添加了 restful_authentication 和 exception_notification,当我每次选择 /RESOURCE_NAME/new 时 Mongrel 都会因“非法指令”而死时,后者似乎对我没有好处。

不管什么资源。

在 development.log 中,我看到它声明了渲染 /layouts/RESOURCE_NAME.html.erb 的意图,然后......什么也没有。没有堆栈跟踪,什么都没有。 server.log 为空。

这简直是一场大戏,我不知道该怎么办。我尝试运行 webbrick,一个 la:

脚本/服务器 webbrick --force

但它无视我的意愿并加载杂种。

任何指针将不胜感激。

【问题讨论】:

  • 顺便说一句:你应该真正使用'pg'库而不是'ruby-pg'。后者四年没碰,不再支持。

标签: ruby-on-rails macos postgresql mongrel


【解决方案1】:

我的猜测是,当它从 Ruby 下降到 Postgress C 库与数据库对话时,它会死掉。可能的原因可能是

  • 不知何故,您已经获得了适用于不同操作系统或版本的 ruby​​-pg gem。
  • 您的 ruby​​-pg 与系统上的 Postgres 库不匹配。
  • 别的东西...

【讨论】:

    【解决方案2】:

    当您尝试从其他操作系统/ABI/架构运行二进制文件时,通常会发生非法指令。 也许32位与64位?检查你的库!

    【讨论】: