From: nobu@... Date: 2017-05-22T06:04:04+00:00 Subject: [ruby-core:81327] [Ruby trunk Bug#12670] Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2 Issue #12670 has been updated by nobu (Nobuyoshi Nakada). It reproduced "incorrect checksum for freed object", with a fix. ```diff - Data_Wrap_Struct(rb_cData, NULL, dummy_free, destroy_pixel); + Data_Wrap_Struct(rb_cData, NULL, destroy_pixel, pixel); ``` ---------------------------------------- Bug #12670: Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2 https://bugs.ruby-lang.org/issues/12670#change-65016 * Author: ShockwaveNN (Pavel Lobashov) * Status: Assigned * Priority: Normal * Assignee: ko1 (Koichi Sasada) * Target version: * ruby -v: 2.4 * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: REQUIRED ---------------------------------------- 1. Create test.rb this code ~~~ ruby require 'rmagick' include Magick (0..10).each do |_| ImageList.new('1.bmp').get_pixels(0, 0, 1600, 800).each_slice(1600).to_a end ~~~ 2. Create any 1.bmp file with dimension at least 1600*800 (Include zip file with it, extract it in directory with test.tb) 3. Install ruby 2.1.9 (via RVM for example) and run ~~~ text ruby -v # ruby 2.1.9p490 (2016-03-30 revision 54437) [x86_64-linux] ruby test.rb # Nothing output, all good ~~~ 4. Install ruby 2.3.1 (via RVM for example) and run ~~~ text ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux] ruby test.rb # You get a big log of Segmentation failed ~~~ I issued an problem on `rmagick` issue tracker (https://github.com/rmagick/rmagick/issues/212) but there is no progress at all So I thought since both rubies use same version of rmagick I think problem may be in ruby itself. ---Files-------------------------------- out.log (25.8 KB) 1.bmp.zip (37.7 KB) core_dump.log (23.5 KB) Dockerfile (667 Bytes) segv.c (306 Bytes) segv.rb (209 Bytes) segv.c (365 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: