javascript - V8 中的 fatal error

标签 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 安全性导致了错误。

最佳答案

该问题发生在具有 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

祝你好运!
小发明更多

关于javascript - V8 中的 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017570/

相关文章:

php - 无法在 Debian 9 上安装 php7.4-soap

javax.comm.CommPortIdentifier.getPortIdentifiers() 在运行 Debian 6 的设备上为空

linux - 在 Linux 中列出组可写的文件和目录

javascript - js - appendChild 方法破坏整个页面

javascript - 如何从中心(平移)Google Maps API 获取地址?

ruby-on-rails - 要求 'rubygems'不起作用

ruby-on-rails - 那里有 Ruby AMF 客户吗?

JavaScript 函数由 3 个函数组成

javascript - 限制 react-dropzone 中的图像尺寸

ruby-on-rails - 基础导航栏阻止表单字段