V8中的致命错误

时间:2012-08-18 09:46:45

标签: javascript ruby-on-rails debian v8

我正在尝试将我的Rails应用程序部署到与Debian一起运行的新VPS。我正在使用Nginx和Phusion Passenger作为我的服务器。

我已经将Node.js安装为JavaScript运行时。可悲的是,我看到以下错误消息:

Fatal error in v8::V8::AddGCPrologueCallback()
V8 is no longer usable

编辑:

现在修好了。显然gr安全性导致错误。

1 个答案:

答案 0 :(得分:0)

问题发生在具有grsecurity和某些限制性规则的内核上 node.js需要在内存的某些区域执行代码,服务器不喜欢它
您似乎需要为“节点”二进制文件切换两个标志 你也可能需要为你的ruby二进制文件切换它们

上切换SEGMEXEC
 paxctl -S `which node` && paxctl -S `which ruby`

关闭MPROTECT

 paxctl -m `which node` && paxctl -m `which ruby`

测试节点现在是否正常工作

 node -e "console.log(1+1);"


有趣的是,我现在可以关闭SEGMEXEC并且节点仍然有效:S ...但是打开它似乎最初为我修复它。 如果它不起作用,请使用标志并尝试节点-e

祝你好运!
gizmore