我使用的是Carrierwave和Rails 3.0.4。当我在本地服务器上存储文件时,在我的大项目中一切正常,但当我切换到使用亚马逊s3时,事情就崩溃了。也就是说,我得到了这个错误(只是一个非常大的跟踪的结尾):
/Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/excon-0.6.1/lib/excon/connection.rb:252: [BUG] Segmentation fault
ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]
-- control frame ----------
c:0099 p:---- s:0529 b:0529 l:000528 d:000528 CFUNC :connect
c:0098 p:0192 s:0526 b:0526 l:000525 d:000525 METHOD /Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/excon-0.6.1/lib/excon/connection.rb:252
c:0097 p:0333 s:0519 b:0519 l:000518 d:000518 METHOD /Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/excon-0.6.1/lib/excon/connection.rb:231
c:0096 p:0030 s:0513 b:0510 l:000509 d:000509 METHOD /Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/excon-0.6.1/lib/excon/connection.rb:268
c:0095 p:0618 s:0507 b:0507 l:000506 d:000506 METHOD /Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/excon-0.6.1/lib/excon/connection.rb:148
c:0094 p:0100 s:0491 b:0491 l:000490 d:000490 METHOD /Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/fog-0.7.1/lib/fog/core/connection.rb:20
c:0093 p:0106 s:0483 b:0483 l:000482 d:000482 METHOD /Users/nic/.rvm/gems/ruby-1.9.2-p136@hci/gems/fog-0.7.1/lib/fog/storage/aws.rb:323更奇怪的是,我已经成功地完成了另外两个项目,它们使用相同的代码、相同的gem和相同版本的Ruby (1.9.2-p136),在亚马逊s3上运行得很好。这两个项目之间唯一的区别是SQLite和MySQL以及不同的内部代码,看似无关的代码。
Here是我写给谷歌Carrierwave组的一篇文章。
谢谢你的帮助。
发布于 2011-04-13 03:36:19
解决了。问题出在mysql gem上。改用ruby-mysql或mysql2。这会导致Linux系统上的管道破裂,很容易被误诊为openssl、carrierwave或fog问题。
https://stackoverflow.com/questions/5571627
复制相似问题