willglynn / ruby-zbar

Ruby bindings for the ZBar barcode recognition library
MIT License
83 stars 24 forks source link

ruby-zbar with EPEL zbar doesn't work correctly on CentOS7. #15

Open hiroyuki-sato opened 6 years ago

hiroyuki-sato commented 6 years ago

Hello developers.

Thank you for creating the great product. I would like to share my knowledge on CentOS7.

Summary

ruby-zbar didn't work with libzbar built by EPEL. I needed to build zbar by myself with the patch.

Environment

Build steps

I succeed to build zbar with the following steps in the CentOS7 environment.

remove EPEL zbar

sudo rpm -e zbar-devel zbar-devel
sudo rpm -e zbar
wget https://astuteinternet.dl.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2
tar xvf ./zbar-0.10.tar.bz2
cd zbar-0.10
wget https://gist.githubusercontent.com/willglynn/5659946/raw/56e07d934acf8cf5bb5f94a793b74ecc68ebd180/zbar-jpeg-fix.patch
patch -p1 < zbar-jpeg-fix.patch
./configure --disable-video --without-gtk --without-qt
make
sudo make install

After that

gem install zbar

test code

#!/usr/bin/env ruby

require 'zbar'

Dir.glob("*.jpg") do |image_path|
  r = ZBar::Image.from_jpeg(File.binread(image_path)).process
  r.each do |d|
    next if d.symbology != 'QR-Code'
    puts d.data
  end
end

zbar(EPEL) Error

I got the following errror When I use EPEL libzbar and ZBar

ruby test.rb
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb:94: [BUG] Segmentation fault at 0x0000000000000000
ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0011 p:---- s:0040 e:000039 CFUNC  :zbar_image_convert
c:0010 p:0019 s:0035 e:000034 METHOD /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb:94
c:0009 p:0041 s:0030 e:000029 BLOCK  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:47 [FINISH]
c:0008 p:---- s:0027 e:000026 CFUNC  :tap
c:0007 p:0020 s:0024 e:000023 METHOD /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:45
c:0006 p:0025 s:0020 e:000019 METHOD /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:15
c:0005 p:0016 s:0017 e:000016 METHOD /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb:20
c:0004 p:0028 s:0012 e:000011 BLOCK  test.rb:6 [FINISH]
c:0003 p:---- s:0008 e:000007 CFUNC  :glob
c:0002 p:0024 s:0004 E:0010d0 EVAL   test.rb:5 [FINISH]
c:0001 p:0000 s:0002 E:000110 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
test.rb:5:in `<main>'
test.rb:5:in `glob'
test.rb:6:in `block in <main>'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb:20:in `from_jpeg'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:15:in `available?'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:45:in `image_works?'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:45:in `tap'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb:47:in `block in image_works?'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb:94:in `convert'
/home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb:94:in `zbar_image_convert'

-- Machine register context ------------------------------------------------
 RIP: 0x0000000000000000 RBP: 0x0000563646446e50 RSP: 0x00007fff14d8d828
 RAX: 0x0000000000000000 RBX: 0x00005636464487b0 RCX: 0x00007fa5e72f533c
 RDX: 0x0000563646446e50 RDI: 0x00005636464487b0 RSI: 0x00007fa5e72f5324
  R8: 0x0000000000000000  R9: 0x0000000000000000 R10: 0x0000000000000000
 R11: 0x00007fa5e72d1170 R12: 0x00007fa5e72f533c R13: 0x0000000000000000
 R14: 0x0000000000000000 R15: 0x00007fff14d8da40 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------
/home/vagrant/.rbenv/versions/2.3.7/bin/ruby(rb_vm_bugreport+0x51f) [0x563644d48e6f] vm_dump.c:724
/home/vagrant/.rbenv/versions/2.3.7/bin/ruby(rb_bug_context+0xd0) [0x563644d23030] error.c:435
/home/vagrant/.rbenv/versions/2.3.7/bin/ruby(sigsegv+0x3e) [0x563644c1c55e] signal.c:890
/lib64/libpthread.so.0 [0x7fa5eef826d0]

-- Other runtime information -----------------------------------------------

* Loaded script: test.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so
    5 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so
    6 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/unicode_normalize.rb
    7 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/rbconfig.rb
    8 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/compatibility.rb
    9 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/defaults.rb
   10 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/deprecate.rb
   11 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/errors.rb
   12 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/version.rb
   13 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/requirement.rb
   14 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/platform.rb
   15 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/basic_specification.rb
   16 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/stub_specification.rb
   17 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/util/list.rb
   18 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/stringio.so
   19 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/rfc2396_parser.rb
   20 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/rfc3986_parser.rb
   21 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/common.rb
   22 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/generic.rb
   23 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/ftp.rb
   24 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/http.rb
   25 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/https.rb
   26 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/ldap.rb
   27 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/ldaps.rb
   28 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri/mailto.rb
   29 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/uri.rb
   30 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/specification.rb
   31 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/exceptions.rb
   32 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/util.rb
   33 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/bundler_version_finder.rb
   34 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/dependency.rb
   35 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_gem.rb
   36 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/monitor.rb
   37 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb
   38 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems.rb
   39 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/path_support.rb
   40 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/version.rb
   41 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb
   42 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/levenshtein.rb
   43 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/jaro_winkler.rb
   44 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkable.rb
   45 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/delegate.rb
   46 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   47 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   48 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   49 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   50 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/null_checker.rb
   51 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/formatter.rb
   52 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean.rb
   53 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
   54 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/platform.rb
   55 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/types.rb
   56 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/library.rb
   57 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/errno.rb
   58 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/pointer.rb
   59 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/memorypointer.rb
   60 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/struct_layout_builder.rb
   61 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/struct.rb
   62 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/union.rb
   63 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/managedstruct.rb
   64 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/callback.rb
   65 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/io.rb
   66 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/autopointer.rb
   67 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/variadic.rb
   68 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/enum.rb
   69 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi/ffi.rb
   70 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi.rb
   71 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/lib.rb
   72 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/library_version.rb
   73 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/symbol.rb
   74 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/processor.rb
   75 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/image.rb
   76 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar/jpeg.rb
   77 /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/zbar-0.3.0/lib/zbar.rb

* Process memory map:

563644b2c000-563644e1a000 r-xp 00000000 fd:00 834610                     /home/vagrant/.rbenv/versions/2.3.7/bin/ruby
56364501a000-56364501f000 r--p 002ee000 fd:00 834610                     /home/vagrant/.rbenv/versions/2.3.7/bin/ruby
56364501f000-563645020000 rw-p 002f3000 fd:00 834610                     /home/vagrant/.rbenv/versions/2.3.7/bin/ruby
563645020000-563645032000 rw-p 00000000 00:00 0
563645d6d000-56364645e000 rw-p 00000000 00:00 0                          [heap]
7fa5e453c000-7fa5e53f8000 r--s 00000000 fd:00 834610                     /home/vagrant/.rbenv/versions/2.3.7/bin/ruby
7fa5e53f8000-7fa5e540d000 r-xp 00000000 fd:00 34078365                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fa5e540d000-7fa5e560c000 ---p 00015000 fd:00 34078365                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fa5e560c000-7fa5e560d000 r--p 00014000 fd:00 34078365                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fa5e560d000-7fa5e560e000 rw-p 00015000 fd:00 34078365                   /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fa5e560e000-7fa5e5638000 r-xp 00000000 fd:00 34031654                   /usr/local/lib/libzbar.so.0.2.0
7fa5e5638000-7fa5e5837000 ---p 0002a000 fd:00 34031654                   /usr/local/lib/libzbar.so.0.2.0
7fa5e5837000-7fa5e5838000 r--p 00029000 fd:00 34031654                   /usr/local/lib/libzbar.so.0.2.0
7fa5e5838000-7fa5e5839000 rw-p 0002a000 fd:00 34031654                   /usr/local/lib/libzbar.so.0.2.0
7fa5e5839000-7fa5e587c000 r-xp 00000000 fd:00 34488590                   /usr/lib64/libjpeg.so.62.1.0
7fa5e587c000-7fa5e5a7c000 ---p 00043000 fd:00 34488590                   /usr/lib64/libjpeg.so.62.1.0
7fa5e5a7c000-7fa5e5a7d000 r--p 00043000 fd:00 34488590                   /usr/lib64/libjpeg.so.62.1.0
7fa5e5a7d000-7fa5e5a7e000 rw-p 00044000 fd:00 34488590                   /usr/lib64/libjpeg.so.62.1.0
7fa5e5a7e000-7fa5e5a8e000 rw-p 00000000 00:00 0
7fa5e5a8e000-7fa5e5a95000 r-xp 00000000 fd:00 33562608                   /usr/lib64/librt-2.17.so
7fa5e5a95000-7fa5e5c94000 ---p 00007000 fd:00 33562608                   /usr/lib64/librt-2.17.so
7fa5e5c94000-7fa5e5c95000 r--p 00006000 fd:00 33562608                   /usr/lib64/librt-2.17.so
7fa5e5c95000-7fa5e5c96000 rw-p 00007000 fd:00 33562608                   /usr/lib64/librt-2.17.so
7fa5e5c96000-7fa5e5c98000 r-xp 00000000 fd:00 34488507                   /usr/lib64/libXau.so.6.0.0
7fa5e5c98000-7fa5e5e98000 ---p 00002000 fd:00 34488507                   /usr/lib64/libXau.so.6.0.0
7fa5e5e98000-7fa5e5e99000 r--p 00002000 fd:00 34488507                   /usr/lib64/libXau.so.6.0.0
7fa5e5e99000-7fa5e5e9a000 rw-p 00003000 fd:00 34488507                   /usr/lib64/libXau.so.6.0.0
7fa5e5e9a000-7fa5e5ebe000 r-xp 00000000 fd:00 34488505                   /usr/lib64/libv4lconvert.so.0.0.0
7fa5e5ebe000-7fa5e60be000 ---p 00024000 fd:00 34488505                   /usr/lib64/libv4lconvert.so.0.0.0
7fa5e60be000-7fa5e60c0000 r--p 00024000 fd:00 34488505                   /usr/lib64/libv4lconvert.so.0.0.0
7fa5e60c0000-7fa5e60c1000 rw-p 00026000 fd:00 34488505                   /usr/lib64/libv4lconvert.so.0.0.0
7fa5e60c1000-7fa5e6113000 rw-p 00000000 00:00 0
7fa5e6113000-7fa5e6124000 r-xp 00000000 fd:00 34488381                   /usr/lib64/libXext.so.6.4.0
7fa5e6124000-7fa5e6323000 ---p 00011000 fd:00 34488381                   /usr/lib64/libXext.so.6.4.0
7fa5e6323000-7fa5e6324000 r--p 00010000 fd:00 34488381                   /usr/lib64/libXext.so.6.4.0
7fa5e6324000-7fa5e6325000 rw-p 00011000 fd:00 34488381                   /usr/lib64/libXext.so.6.4.0
7fa5e6325000-7fa5e634c000 r-xp 00000000 fd:00 34488434                   /usr/lib64/libxcb.so.1.1.0
7fa5e634c000-7fa5e654b000 ---p 00027000 fd:00 34488434                   /usr/lib64/libxcb.so.1.1.0
7fa5e654b000-7fa5e654c000 r--p 00026000 fd:00 34488434                   /usr/lib64/libxcb.so.1.1.0
7fa5e654c000-7fa5e654d000 rw-p 00027000 fd:00 34488434                   /usr/lib64/libxcb.so.1.1.0
7fa5e654d000-7fa5e6551000 r-xp 00000000 fd:00 34808873                   /usr/lib64/libuuid.so.1.3.0
7fa5e6551000-7fa5e6750000 ---p 00004000 fd:00 34808873                   /usr/lib64/libuuid.so.1.3.0
7fa5e6750000-7fa5e6751000 r--p 00003000 fd:00 34808873                   /usr/lib64/libuuid.so.1.3.0
7fa5e6751000-7fa5e6752000 rw-p 00004000 fd:00 34808873                   /usr/lib64/libuuid.so.1.3.0
7fa5e6752000-7fa5e675b000 r-xp 00000000 fd:00 34488501                   /usr/lib64/libv4l2.so.0.0.0
7fa5e675b000-7fa5e695a000 ---p 00009000 fd:00 34488501                   /usr/lib64/libv4l2.so.0.0.0
7fa5e695a000-7fa5e695b000 r--p 00008000 fd:00 34488501                   /usr/lib64/libv4l2.so.0.0.0
7fa5e695b000-7fa5e6960000 rw-p 00009000 fd:00 34488501                   /usr/lib64/libv4l2.so.0.0.0
7fa5e6960000-7fa5e6964000 r-xp 00000000 fd:00 34488383                   /usr/lib64/libXv.so.1.0.0
7fa5e6964000-7fa5e6b63000 ---p 00004000 fd:00 34488383                   /usr/lib64/libXv.so.1.0.0
7fa5e6b63000-7fa5e6b64000 r--p 00003000 fd:00 34488383                   /usr/lib64/libXv.so.1.0.0
7fa5e6b64000-7fa5e6b65000 rw-p 00004000 fd:00 34488383                   /usr/lib64/libXv.so.1.0.0
7fa5e6b65000-7fa5e6c9d000 r-xp 00000000 fd:00 34488377                   /usr/lib64/libX11.so.6.3.0
7fa5e6c9d000-7fa5e6e9d000 ---p 00138000 fd:00 34488377                   /usr/lib64/libX11.so.6.3.0
7fa5e6e9d000-7fa5e6e9e000 r--p 00138000 fd:00 34488377                   /usr/lib64/libX11.so.6.3.0
7fa5e6e9e000-7fa5e6ea3000 rw-p 00139000 fd:00 34488377                   /usr/lib64/libX11.so.6.3.0
7fa5e6ea3000-7fa5e6eba000 r-xp 00000000 fd:00 34488594                   /usr/lib64/libICE.so.6.3.0
7fa5e6eba000-7fa5e70b9000 ---p 00017000 fd:00 34488594                   /usr/lib64/libICE.so.6.3.0
7fa5e70b9000-7fa5e70ba000 r--p 00016000 fd:00 34488594                   /usr/lib64/libICE.so.6.3.0
7fa5e70ba000-7fa5e70bb000 rw-p 00017000 fd:00 34488594                   /usr/lib64/libICE.so.6.3.0
7fa5e70bb000-7fa5e70bf000 rw-p 00000000 00:00 0
7fa5e70bf000-7fa5e70c6000 r-xp 00000000 fd:00 34488600                   /usr/lib64/libSM.so.6.0.1
7fa5e70c6000-7fa5e72c5000 ---p 00007000 fd:00 34488600                   /usr/lib64/libSM.so.6.0.1
7fa5e72c5000-7fa5e72c6000 r--p 00006000 fd:00 34488600                   /usr/lib64/libSM.so.6.0.1
7fa5e72c6000-7fa5e72c7000 rw-p 00007000 fd:00 34488600                   /usr/lib64/libSM.so.6.0.1
7fa5e72c7000-7fa5e72fe000 r-xp 00000000 fd:00 34068797                   /usr/lib64/libzbar.so.0.2.0
7fa5e72fe000-7fa5e74fd000 ---p 00037000 fd:00 34068797                   /usr/lib64/libzbar.so.0.2.0
7fa5e74fd000-7fa5e74fe000 r--p 00036000 fd:00 34068797                   /usr/lib64/libzbar.so.0.2.0
7fa5e74fe000-7fa5e74ff000 rw-p 00037000 fd:00 34068797                   /usr/lib64/libzbar.so.0.2.0
7fa5e74ff000-7fa5e752b000 r-xp 00000000 fd:00 817793                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
7fa5e752b000-7fa5e772a000 ---p 0002c000 fd:00 817793                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
7fa5e772a000-7fa5e772b000 r--p 0002b000 fd:00 817793                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
7fa5e772b000-7fa5e772c000 rw-p 0002c000 fd:00 817793                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
7fa5e772c000-7fa5e772d000 rw-p 00000000 00:00 0
7fa5e772d000-7fa5e7734000 r-xp 00000000 fd:00 101116287                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/stringio.so
7fa5e7734000-7fa5e7934000 ---p 00007000 fd:00 101116287                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/stringio.so
7fa5e7934000-7fa5e7935000 r--p 00007000 fd:00 101116287                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/stringio.so
7fa5e7935000-7fa5e7936000 rw-p 00008000 fd:00 101116287                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/stringio.so
7fa5e7936000-7fa5e7939000 r-xp 00000000 fd:00 994989                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so
7fa5e7939000-7fa5e7b38000 ---p 00003000 fd:00 994989                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so
7fa5e7b38000-7fa5e7b39000 r--p 00002000 fd:00 994989                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so
7fa5e7b39000-7fa5e7b3a000 rw-p 00003000 fd:00 994989                     /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/trans/transdb.so
7fa5e7b3a000-7fa5e7b3c000 r-xp 00000000 fd:00 101116325                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so
7fa5e7b3c000-7fa5e7d3b000 ---p 00002000 fd:00 101116325                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so
7fa5e7d3b000-7fa5e7d3c000 r--p 00001000 fd:00 101116325                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so
7fa5e7d3c000-7fa5e7d3d000 rw-p 00002000 fd:00 101116325                  /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/2.3.0/x86_64-linux/enc/encdb.so
7fa5e7d3d000-7fa5ee266000 r--p 00000000 fd:00 34078385                   /usr/lib/locale/locale-archive
7fa5ee266000-7fa5ee268000 r-xp 00000000 fd:00 33562573                   /usr/lib64/libfreebl3.so
7fa5ee268000-7fa5ee467000 ---p 00002000 fd:00 33562573                   /usr/lib64/libfreebl3.so
7fa5ee467000-7fa5ee468000 r--p 00001000 fd:00 33562573                   /usr/lib64/libfreebl3.so
7fa5ee468000-7fa5ee469000 rw-p 00002000 fd:00 33562573                   /usr/lib64/libfreebl3.so
7fa5ee469000-7fa5ee62c000 r-xp 00000000 fd:00 33562586                   /usr/lib64/libc-2.17.so
7fa5ee62c000-7fa5ee82b000 ---p 001c3000 fd:00 33562586                   /usr/lib64/libc-2.17.so
7fa5ee82b000-7fa5ee82f000 r--p 001c2000 fd:00 33562586                   /usr/lib64/libc-2.17.so
7fa5ee82f000-7fa5ee831000 rw-p 001c6000 fd:00 33562586                   /usr/lib64/libc-2.17.so
7fa5ee831000-7fa5ee836000 rw-p 00000000 00:00 0
7fa5ee836000-7fa5ee937000 r-xp 00000000 fd:00 34078394                   /usr/lib64/libm-2.17.so
7fa5ee937000-7fa5eeb36000 ---p 00101000 fd:00 34078394                   /usr/lib64/libm-2.17.so
7fa5eeb36000-7fa5eeb37000 r--p 00100000 fd:00 34078394                   /usr/lib64/libm-2.17.so
7fa5eeb37000-7fa5eeb38000 rw-p 00101000 fd:00 34078394                   /usr/lib64/libm-2.17.so
7fa5eeb38000-7fa5eeb40000 r-xp 00000000 fd:00 34078390                   /usr/lib64/libcrypt-2.17.so
7fa5eeb40000-7fa5eed3f000 ---p 00008000 fd:00 34078390                   /usr/lib64/libcrypt-2.17.so
7fa5eed3f000-7fa5eed40000 r--p 00007000 fd:00 34078390                   /usr/lib64/libcrypt-2.17.so
7fa5eed40000-7fa5eed41000 rw-p 00008000 fd:00 34078390                   /usr/lib64/libcrypt-2.17.so
7fa5eed41000-7fa5eed6f000 rw-p 00000000 00:00 0
7fa5eed6f000-7fa5eed71000 r-xp 00000000 fd:00 34078392                   /usr/lib64/libdl-2.17.so
7fa5eed71000-7fa5eef71000 ---p 00002000 fd:00 34078392                   /usr/lib64/libdl-2.17.so
7fa5eef71000-7fa5eef72000 r--p 00002000 fd:00 34078392                   /usr/lib64/libdl-2.17.so
7fa5eef72000-7fa5eef73000 rw-p 00003000 fd:00 34078392                   /usr/lib64/libdl-2.17.so
7fa5eef73000-7fa5eef8a000 r-xp 00000000 fd:00 33562602                   /usr/lib64/libpthread-2.17.so
7fa5eef8a000-7fa5ef189000 ---p 00017000 fd:00 33562602                   /usr/lib64/libpthread-2.17.so
7fa5ef189000-7fa5ef18a000 r--p 00016000 fd:00 33562602                   /usr/lib64/libpthread-2.17.so
7fa5ef18a000-7fa5ef18b000 rw-p 00017000 fd:00 33562602                   /usr/lib64/libpthread-2.17.so
7fa5ef18b000-7fa5ef18f000 rw-p 00000000 00:00 0
7fa5ef18f000-7fa5ef1b1000 r-xp 00000000 fd:00 34078386                   /usr/lib64/ld-2.17.so
7fa5ef1fe000-7fa5ef24c000 rw-p 00000000 00:00 0
7fa5ef274000-7fa5ef298000 r--s 00000000 fd:00 33562602                   /usr/lib64/libpthread-2.17.so
7fa5ef298000-7fa5ef29f000 r--s 00000000 fd:00 100665441                  /usr/lib64/gconv/gconv-modules.cache
7fa5ef29f000-7fa5ef3a5000 rw-p 00000000 00:00 0
7fa5ef3a8000-7fa5ef3a9000 rw-p 00000000 00:00 0
7fa5ef3a9000-7fa5ef3aa000 rwxp 00000000 00:00 0
7fa5ef3aa000-7fa5ef3ab000 ---p 00000000 00:00 0
7fa5ef3ab000-7fa5ef3b0000 rw-p 00000000 00:00 0
7fa5ef3b0000-7fa5ef3b1000 r--p 00021000 fd:00 34078386                   /usr/lib64/ld-2.17.so
7fa5ef3b1000-7fa5ef3b2000 rw-p 00022000 fd:00 34078386                   /usr/lib64/ld-2.17.so
7fa5ef3b2000-7fa5ef3b3000 rw-p 00000000 00:00 0
7fff14593000-7fff14d92000 rw-p 00000000 00:00 0                          [stack]
7fff14df2000-7fff14df4000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

[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

Aborted (core dumped)
gdb ~/.rbenv/versions/2.3.7/bin/ruby ./core.29062
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/vagrant/.rbenv/versions/2.3.7/bin/ruby...done.
[New LWP 29062]
[New LWP 29075]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `ruby test.rb'.
Program terminated with signal 6, Aborted.
#0  0x00007fa5ee49f277 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.17-222.el7.x86_64 libICE-1.0.9-9.el7.x86_64 libSM-1.2.2-2.el7.x86_64 libX11-1.6.5-1.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXv-1.0.11-1.el7.x86_64 libgcc-4.8.5-28.el7_5.1.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libuuid-2.23.2-52.el7.x86_64 libv4l-0.9.5-4.el7.x86_64 libxcb-1.12-1.el7.x86_64 nss-softokn-freebl-3.36.0-5.el7_5.x86_64 zbar-0.10-27.el7.x86_64
(gdb) bt
#0  0x00007fa5ee49f277 in raise () from /lib64/libc.so.6
#1  0x00007fa5ee4a0968 in abort () from /lib64/libc.so.6
#2  0x0000563644d2303d in die () at error.c:407
#3  rb_bug_context (ctx=ctx@entry=0x563645ddca80, fmt=fmt@entry=0x563644d5da2a "Segmentation fault at %p") at error.c:437
#4  0x0000563644c1c55e in sigsegv (sig=<optimized out>, info=0x563645ddcbb0, ctx=0x563645ddca80) at signal.c:890
#5  <signal handler called>
#6  0x0000000000000000 in ?? ()
#7  0x00007fa5e72d3358 in zbar_image_convert_resize () from /usr/lib64/libzbar.so.0
#8  0x00007fa5e752155d in ffi_call_unix64 () from /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
#9  0x00007fa5e7520edc in ffi_call_int () from /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
#10 0x00007fa5e7520f3d in ffi_call () from /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
#11 0x00007fa5e750e68d in rbffi_CallFunction (argc=<optimized out>, argv=<optimized out>, function=0x7fa5e72d33d0 <zbar_image_convert>, fnInfo=0x56364606e470) at Call.c:409
#12 0x00007fa5e7511870 in attached_method_invoke (cif=<optimized out>, mretval=0x7fff14d8dc50, parameters=<optimized out>, user_data=<optimized out>) at MethodHandle.c:65
#13 0x00007fa5e752146d in ffi_closure_unix64_inner () from /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
#14 0x00007fa5e75216f0 in ffi_closure_unix64 () from /home/vagrant/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/ffi-1.9.23/lib/ffi_c.so
#15 0x0000563644c9f736 in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7fa5ef39ed90, th=0x563645d6e5e0) at vm_insnhelper.c:1642
#16 vm_call_cfunc (th=0x563645d6e5e0, reg_cfp=0x7fa5ef39ed90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at vm_insnhelper.c:1737
#17 0x0000563644cad953 in vm_call_method (th=0x563645d6e5e0, cfp=0x7fa5ef39ed90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at vm_insnhelper.c:2177
#18 0x0000563644ca8189 in vm_exec_core (th=th@entry=0x563645d6e5e0, initial=initial@entry=0) at insns.def:994
#19 0x0000563644cabf11 in vm_exec (th=0x563645d6e5e0) at vm.c:1693
#20 0x0000563644cac6c3 in invoke_block (th=th@entry=0x563645d6e5e0, iseq=iseq@entry=0x563645fb58c0, self=self@entry=94791102322400, cref=cref@entry=0x0, type=<optimized out>, opt_pc=0, block=<optimized out>) at vm.c:921
#21 0x0000563644cae411 in invoke_block_from_c_0 (argc=<optimized out>, blockptr=<optimized out>, cref=<optimized out>, splattable=<optimized out>, argv=<optimized out>, self=<optimized out>, block=<optimized out>, th=<optimized out>)
    at vm.c:973
#22 invoke_block_from_c_splattable (cref=<optimized out>, blockptr=<optimized out>, argv=<optimized out>, argc=<optimized out>, self=<optimized out>, block=<optimized out>, th=<optimized out>) at vm.c:990
#23 vm_yield (argc=<optimized out>, argv=<optimized out>, th=<optimized out>) at vm.c:1025
#24 rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm_eval.c:1013
#25 rb_yield_1 (val=<optimized out>) at vm_eval.c:1019
#26 rb_yield (val=val@entry=94791102318600) at vm_eval.c:1029
#27 0x0000563644bba9f9 in rb_obj_tap (obj=94791102318600) at object.c:692
#28 0x0000563644c9f736 in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7fa5ef39ee50, th=0x563645d6e5e0) at vm_insnhelper.c:1642
#29 vm_call_cfunc (th=0x563645d6e5e0, reg_cfp=0x7fa5ef39ee50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at vm_insnhelper.c:1737
#30 0x0000563644cad953 in vm_call_method (th=0x563645d6e5e0, cfp=0x7fa5ef39ee50, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at vm_insnhelper.c:2177
#31 0x0000563644ca80be in vm_exec_core (th=th@entry=0x563645d6e5e0, initial=initial@entry=0) at insns.def:963
#32 0x0000563644cabf11 in vm_exec (th=0x563645d6e5e0) at vm.c:1693
#33 0x0000563644cac6c3 in invoke_block (th=th@entry=0x563645d6e5e0, iseq=iseq@entry=0x5636462295c0, self=self@entry=94791100343800, cref=cref@entry=0x0, type=<optimized out>, opt_pc=0, block=<optimized out>) at vm.c:921
#34 0x0000563644cae411 in invoke_block_from_c_0 (argc=<optimized out>, blockptr=<optimized out>, cref=<optimized out>, splattable=<optimized out>, argv=<optimized out>, self=<optimized out>, block=<optimized out>, th=<optimized out>)
    at vm.c:973
#35 invoke_block_from_c_splattable (cref=<optimized out>, blockptr=<optimized out>, argv=<optimized out>, argc=<optimized out>, self=<optimized out>, block=<optimized out>, th=<optimized out>) at vm.c:990
#36 vm_yield (argc=<optimized out>, argv=<optimized out>, th=<optimized out>) at vm.c:1025
#37 rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm_eval.c:1013
#38 rb_yield_1 (val=<optimized out>) at vm_eval.c:1019
#39 rb_yield (val=<optimized out>) at vm_eval.c:1029
#40 0x0000563644cd33dd in rb_ary_each (ary=ary@entry=94791102319040) at array.c:1815
---Type <return> to continue, or q <return> to quit---
#41 0x0000563644d0bdbc in dir_s_glob (argc=<optimized out>, argv=<optimized out>, obj=<optimized out>) at dir.c:2338
#42 0x0000563644c9f736 in vm_call_cfunc_with_frame (ci=<optimized out>, cc=<optimized out>, calling=<optimized out>, reg_cfp=0x7fa5ef39ef90, th=0x563645d6e5e0) at vm_insnhelper.c:1642
#43 vm_call_cfunc (th=0x563645d6e5e0, reg_cfp=0x7fa5ef39ef90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at vm_insnhelper.c:1737
#44 0x0000563644cad953 in vm_call_method (th=0x563645d6e5e0, cfp=0x7fa5ef39ef90, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at vm_insnhelper.c:2177
#45 0x0000563644ca80be in vm_exec_core (th=th@entry=0x563645d6e5e0, initial=initial@entry=0) at insns.def:963
#46 0x0000563644cabf11 in vm_exec (th=0x563645d6e5e0) at vm.c:1693
#47 0x0000563644cb5f4e in rb_iseq_eval_main (iseq=iseq@entry=0x563646229750) at vm.c:1936
#48 0x0000563644b50cc4 in ruby_exec_internal (n=0x563646229750) at eval.c:245
#49 0x0000563644b5483d in ruby_exec_node (n=0x563646229750) at eval.c:310
#50 ruby_run_node (n=<optimized out>) at eval.c:302
#51 0x0000563644b5092b in main (argc=2, argv=0x7fff14d8f388) at main.c:36
(gdb) quit
kyoshidajp commented 6 years ago

I met the same error on Amazon Linux AMI release 2018.03.

My zbar was installed by yum. FYI, zbarimg command was successful.

> zbarimg sample.jpg
QR-Code:http://www.wikilovesmonuments.ph
scanned 1 barcode symbols from 1 images in 0 seconds
> echo $?
0