Ошибка сегментации Ruby с FastImage и Taglib

Я использую FastImage и TagLib для манипулирования mp3-файлами и, в этом примере, для извлечения возможного изображения из тегов. Это работало как шарм, но для одного файла это ошибка, с которой я не знаю, как справиться.

TagLib::MPEG::File.open(input_file_path) do |file|
  tag = file.id3v2_tag
  if tag
    size = tag.frame_list.size
    if size > 0
      cover = tag.frame_list('APIC').first
      if cover
        File.open(original_image, 'w+') do |f|
          f.write(cover.picture)
        end
        FastImage.resize(original_image, 250, 250, :outfile => resized_image)
      end
    end
  end
end

На FastImage.resize Методом происходит следующая ошибка:

Ошибка GD: gd-jpeg: библиотека JPEG сообщает о неисправимой ошибке: Неверная структура файла JPEG: два маркера SOI /<путь пользователя>/. Rvm/gems/ruby-2.3.1/gems/fastimage_resize-2.0.3/lib/fastimage_resize.rb:90: [BUG] Ошибка сегментации в 0x00000000000008 ruby ​​2.3.1p112 (ревизия 2016-04-26, 54768) [x86_64-darwin14]

Нет проблем с ошибкой в ​​изображении, потому что оно было загружено пользователем, но мне нужно спасти эту ошибку, чтобы обеспечить надлежащее лечение, и я не нахожу способ сделать это. Я хочу знать, есть ли способ спасти эту ошибку.

0 ответов

Другие вопросы по тегам