【问题标题】:Carrierwave Rmagick Segmentation Fault on Wrong Photo Extension错误照片扩展上的载波 Rmagick 分割错误
【发布时间】:2011-09-27 10:30:13
【问题描述】:

当我尝试使用带有 Rmagick 的 Carrierwave 将图像上传到我在 Heroku 上的网站时遇到了分割错误。

这是错误日志输出的一部分:

ruby: jpc_dec.c:1072: jpc_dec_tiledecode: Assertion `dec->numcomps == 3' failed.
/app/.bundle/gems/ruby/1.9.1/gems/carrierwave-0.5.4/lib/carrierwave/processing/rmagick.rb:248: [BUG] Segmentation fault
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

经过调查,出现分段错误是因为我尝试上传带有.jpg 扩展名的JPEG2000 文件,而不是正确的.jp2 扩展名。

这是 Rmagick 的错误吗?

更重要的是,是否可以通过发送带有错误扩展名的图像来防止我网站的用户触发此分段错误?

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 rmagick carrierwave


    【解决方案1】:

    我怀疑这将是它唯一的错误。 您可以使用其他工具,例如“文件”来验证文件格式。

    此外,您还应该考虑一种在 ruby​​ 崩溃时可以恢复的方法。 您可以在后台运行一个额外的进程。但是你应该确保 您有额外的检查,以便在有人试图反复使您的软件崩溃时做出响应。否则你很容易成为拒绝服务的目标。

    【讨论】:

      猜你喜欢
      • 2018-09-18
      • 2012-01-04
      • 2012-12-02
      • 2011-10-13
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多