2012-05-20 34 views
3

自从转换到基于Mac的RoR开发以来,偶尔会看到Webrick在简单地打印“Illegal Instruction 4”后就死亡了。Webrick死于非法指令4

OSX 10.7.2,10.7.3和10.7.4现在

红宝石1.9.2p290

导轨3.2.2,以及其他各种版本开始与3.1

到目前为止,它已经相当无害,我只是按向上箭头键,按回车,并重新启动服务器,一切都很好。

我注意到,在开发环境中添加一个新文件后,会立即导致这种情况。但是当我最近没有添加新文件时就发生了。但是它几乎总是在文件更改后立即发生。换一种说法,当我仅仅测试一些东西时,我不认为它曾经发生过,似乎需要某种文件系统更改来触发它。

刚才它发生了,但是这一次它似乎以某种方式楔住了Webrick,并且在重新启动Webrick之后,它不会响应,我不得不重新启动以清除状况。所以这开始看起来不那么无害,更像是一个即将到来的开发生产力问题。

任何其他Mac开发人员看到这个?

+0

感谢您的信息,从未真正理解'接受'的含义,现在我知道了! – RadBrad

+0

该死的,我知道回答我自己的问题是一个糟糕的主意,现在Stackoverflow.com上的诸神正在遮挡太阳!严重的是,在So Cal海岸,它是间歇性的云层,云层转移了明显的月蚀,它从75%变为25%,显然是25%,这是一个非常奇怪的效果! – RadBrad

+0

你有没有得到过这个解决方案?在Ruby和1.9.3p286下的rails 3.2.8应用上,我看到Thin和webrick存在同样的问题。 – zippy

回答

-3

您是否使用非webrick应用程序服务器也遇到类似问题?我鼓励使用与您部署的相同应用程序服务器进行开发,在这种情况下,该服务器看起来是Passenger。

+3

这是如何回答这个问题的?公平起见,这不是一个真正的问题,但其他遇到此问题的人(如我)会在其搜索结果中找到此页面,而不知道如何处理此解决方案。 –

+0

它很迂回,所以这里有一个更明确的答案:不要使用webrick EVER。如果您没有在部署的同一台应用程序服务器上开发,那么您就错了。 – x1a4

+0

对我来说,非法指令问题是随机的,但总是通过更改导轨代码来触发。对我而言,我想在本地进行测试,所以我只是继续使用Webrick。我从来没有遇到过由于在Webrick上发展而出现漏洞的情况。唯一真正的问题是每隔一段时间,webrick崩溃,它只是去控制台,点击箭头,输入并重新启动服务器,然后继续。这对我来说并不重要。 – RadBrad

1

我在我的模型

scope :list_only, lambda { show_on_list } 

(其中show_on_list是一个实例方法)的一个实施范围后,遇到了这个问题。重写方法后

scope :list_only, where("SomeSQLHere") 

(其中我在SomeSQLHere SQL使用)它工作正常。我意识到这并没有解决“非法指令4”的含义,但也许问题源于一些不好的范围?