【问题标题】:Mongrel with Ruby 1.9Mongrel 与 Ruby 1.9
【发布时间】:2011-02-15 11:04:57
【问题描述】:

启动服务器时,更新到 Ruby 1.9 后出现这个奇怪的错误:

" [BUG] rb_gc() 上的跨线程冲突 红宝石 1.8.6 (2008-08-11) [i386-mswin32]

此应用程序已请求运行时以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。 "

我的 mongrel 版本是 1.1.6,应该兼容 Ruby 1.9。我还安装了 Ruby 1.8.6,所以我假设由于某种原因 mongrel 试图访问它并杀死 ruby​​?我的 rails 版本是 2.3.4,以防万一。

【问题讨论】:

    标签: ruby-on-rails ruby mongrel ruby-1.9


    【解决方案1】:

    我会怀疑你primary source 的 cmets —— 最近的大多数是垃圾邮件 cmets 指向卖鞋或手袋的链接。

    在那些确实让它工作并且不是垃圾邮件发送者的人中,请注意,他们建议将您的 gem 源更改为 http://gems.rubyinstaller.org 或使用 1.2.0 预发行版。

    就个人而言,我想不出任何令人信服的理由来使用 Mongrel 后 2008。有很多更好的选择。 Thin、Unicorn 和Passenger 都在积极维护,长期兼容1.9,在典型基准测试中速度更快,并且在特性和易于部署方面各有优势。 Mongrel 发生的时候是一个巨大的进步,但现在它有点像古董,没有明显的优势。

    只是……除了 Webrick 之外的任何东西。真的。

    【讨论】:

    • 同意 2008 年后的评论,但仍然应该补充一点,此时 gems.rubyinstaller.org 表示 Heroku | No such app. There is no app configured at that hostname. Perhaps the app owner has renamed it, or you mistyped the URL.
    【解决方案2】:

    应该与 Ruby 兼容 1.9

    有什么具体的事情让你这么想吗?几周前,我已经确定 Mongrel 确实在 Windows 上与 Ruby 1.9 一起工作。我不相信 Mongrel 已经用 Ruby 1.9 需要的 gcc/mingw32 成功编译。

    最简单的选择是切换回 WEBRick。

    使用Thin 也相当简单,它与Mongrel 相当——而且可能比Mongrel 更快。我发现我需要构建它,这将涉及安装 mingw。请参阅this SO answer - 在gem install thin 之前准备好构建,这一切都应该发生。然后只需使用thin start 而不是ruby script/server

    【讨论】:

    • 根据本网站 (isitruby19.com/mongrel),有些人已经使用 1.1.6... 使用 Webrick 我收到以下消息:[2010-05-04 16:40:41]信息 WEBrick 1.3.1 [2010-05-04 16:40:41] 信息 ruby​​ 1.9.1 (2010-01-10) [i386-mingw32] [2010-05-04 16:40:41] 信息 WEBrick:: HTTPServer#start: pid=2696 port=3000 在 radrails 中它显示为红色,因此不确定它是正常信息还是错误消息。无论如何,服务器正在运行,但是当我尝试在浏览器上加载页面时停止。
    • 哎呀,太糟糕了,这不能正确地换行。嗯,我想我应该试试瘦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2011-02-19
    • 2011-03-17
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多