在FreeBSD上编译资产时出现堆栈一致性错误

时间:2014-04-28 00:33:30

标签: ruby-on-rails ruby freebsd

我试图在FreeBSD服务器上部署Rails应用程序。但是,当我尝试编译资产时,我得到了这个奇怪的错误:

bundle exec rake assets:precompile
/home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:16: [BUG] Stack consistency error (sp: 231, bp: 232)
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-freebsd9.1]

-- Control frame information -----------------------------------------------
c:0062 p:0033 s:0231 e:000231 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:16
c:0061 p:0007 s:0228 e:000227 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:22
c:0060 p:0009 s:0225 e:000224 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/function.rb:25
c:0059 p:0013 s:0221 e:000220 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/environment.rb:28
c:0058 p:0022 s:0218 e:000217 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/module.rb:10 [FINISH]
c:0057 p:---- s:0213 e:000212 CFUNC  :new
c:0056 p:0100 s:0208 e:000205 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/environment.rb:17
c:0055 p:0045 s:0199 e:000198 LAMBDA /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/module.rb:18 [FINISH]
c:0054 p:---- s:0194 e:000193 CFUNC  :call
c:0053 p:0034 s:0189 e:000188 BLOCK  /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal/caller.rb:32
c:0052 p:0006 s:0187 e:000186 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal/caller.rb:11
c:0051 p:0014 s:0182 e:000180 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal/caller.rb:26
...

堆栈跟踪很有用。如果它有帮助,我可以粘贴所有这些。之后,它说:

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

我真的找到了一个Ruby bug吗?我几乎不这么认为。资产在Ubuntu上成功编译。我搜索了很多(很多)并没有找到任何东西。

我认为它可能与therubyracer宝石有关。我使用的是therubyracer-freebsd宝石,但我已经尝试了两种宝石,错误并没有消失。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

在therubyracer中看起来像一个问题。您可以安装node.js并从Gemfile中删除此gem。

请遵循:https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#freebsd-and-openbsd

答案 1 :(得分:0)

主要是therubyracer宝石问题。如果您使用的是bundler,请尝试bundle update therubyracer,这将更新任何依赖性问题。为我工作。