-
Notifications
You must be signed in to change notification settings - Fork 60
Description
Describe the bug
Seg fault when running Vips::Image.new_from_array() against an array generated with Vips::Image::to_a
To Reproduce
I have tried this with a few image inputs and they are all the same. This is the simplest program to cause the seg fault:
$ ruby -e "require 'vips'; Vips::Image.new_from_array(Vips::Image.new_from_file('image.png').to_a)"
System
Windows 10 running Ubuntu 2004.2020.424.0
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
$ gem list | grep vips
ruby-vips (2.0.17)
$ gem list | grep ffi
ffi (1.15.0)
Output
$ ruby -e "require 'vips'; Vips::Image.new_from_array(Vips::Image.new_from_file('image.png').to_a)"
/var/lib/gems/2.5.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:675: [BUG] Segmentation fault at 0x0000000000000128
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
-- Control frame information -----------------------------------------------
c:0005 p:---- s:0031 e:000030 CFUNC :vips_image_set
c:0004 p:0045 s:0024 e:000023 METHOD /var/lib/gems/2.5.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:675
c:0003 p:0226 s:0016 e:000015 METHOD /var/lib/gems/2.5.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:410
c:0002 p:0036 s:0006 e:000005 EVAL -e:1 [FINISH]
c:0001 p:0000 s:0003 E:0000b0 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
-e:1:in <main>' /var/lib/gems/2.5.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:410:in
new_from_array'
/var/lib/gems/2.5.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:675:in set_type' /var/lib/gems/2.5.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:675:in
vips_image_set'
-- Machine register context ------------------------------------------------
RIP: 0x00007f551a6b6b07 RBP: 0x00007fffe1208e80 RSP: 0x00007fffe1208e60
RAX: 0x0000000000000000 RBX: 0x00007fffd8eb71e0 RCX: 0x00007fffd8db9248
RDX: 0x00007fffd9904820 RDI: 0x0000000000000000 RSI: 0x00007fffd99b7af0
R8: 0x00007fffd8f288e0 R9: 0x00007fffe1208f20 R10: 0x0000000000000000
R11: 0x00007f551a6b6b00 R12: 0x00007fffd9904820 R13: 0x00007fffe1209010
R14: 0x00007fffe1208fe0 R15: 0x00007fffe1209040 EFL: 0x0000000000010246
-- C level backtrace information -------------------------------------------
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d0fdaa5) [0x7f551d0fdaa5]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d0fdcdc) [0x7f551d0fdcdc]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551cfc7884) [0x7f551cfc7884]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d08dab2) [0x7f551d08dab2]
/lib/x86_64-linux-gnu/libc.so.6(0x7f551cb7f040) [0x7f551cb7f040]
/usr/lib/x86_64-linux-gnu/libvips.so.42(vips_image_set+0x7) [0x7f551a6b6b07]
/var/lib/gems/2.5.0/gems/ffi-1.15.0/lib/ffi_c.so(ffi_call_unix64+0x52) [0x7f551b548eea]
/var/lib/gems/2.5.0/gems/ffi-1.15.0/lib/ffi_c.so(0x1881d) [0x7f551b54881d]
/var/lib/gems/2.5.0/gems/ffi-1.15.0/lib/ffi_c.so(0x1889a) [0x7f551b54889a]
/var/lib/gems/2.5.0/gems/ffi-1.15.0/lib/ffi_c.so(rbffi_CallFunction+0xe4) [0x7f551b53d3b4]
/var/lib/gems/2.5.0/gems/ffi-1.15.0/lib/ffi_c.so(0x10c54) [0x7f551b540c54]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d0e63c9) [0x7f551d0e63c9]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d0f48f3) [0x7f551d0f48f3]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d0eb790) [0x7f551d0eb790]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551d0f0b64) [0x7f551d0f0b64]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(0x7f551cfcb0c4) [0x7f551cfcb0c4]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(ruby_exec_node+0x1d) [0x7f551cfccf4d]
/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5(ruby_run_node+0x1e) [0x7f551cfcf42e]
ruby(0x7f551d8008cb) [0x7f551d8008cb]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f551cb61bf7]
ruby(_start+0x2a) [0x7f551d8008fa]