On Fri, Jun 21, 2024 at 07:35:07PM +0000, Jeremy Evans wrote:
> This should fix rb_gc_adjust_memory_usage issues when building
> on riscv64/sparc64 with Ruby 3.3.
> 
> Crashes reported by jca@

After applying your update diff, this also crashes on riscv64, with:

/usr/local/lib/ruby/3.3/mkmf.rb:984: [BUG] object allocation during garbage 
collection phase
ruby 3.3.2 (2024-05-30 revision e5a195edf6) [riscv64-openbsd]

I suspect the detection of rb_gc_adjust_memory_usage (removed from
this update) is not the cause of the problem.  I get different
failures on retry:

  checking for magick/MagickCore.h... <crash>
or
  checking for malloc/malloc.h... <crash>
or
  checking for malloc_usable_size() in 
assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,ruby.h,ruby/io.h,magick/MagickCore.h...
 <crash>

Most of them with signal 6 (SIGABRT), the last one with a SIGSEGV:

/usr/local/lib/ruby/3.3/mkmf.rb:440: [BUG] Segmentation fault at 
0x0000000000000000
ruby 3.3.2 (2024-05-30 revision e5a195edf6) [riscv64-openbsd]

The riscv64 machines (Hifive Unmatched) have been prone to random
userland crashes since the beginning, but seem stable since I
downclocked their RAM.  I can try further to pinpoint the problem if
you think it's worth it.  The issue might be an actual bug in
ruby-3.3.

> OKs?

Even if it doesn't fix the problem I spotted on riscv64, you can
probably go ahead with the update.

> Thanks,
> Jeremy
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/graphics/ruby-rmagick/Makefile,v
> diff -u -p -u -p -r1.39 Makefile
> --- Makefile  1 Sep 2023 13:27:50 -0000       1.39
> +++ Makefile  21 Jun 2024 17:22:42 -0000
> @@ -1,6 +1,6 @@
>  COMMENT =    Ruby interface to ImageMagick
>  
> -DISTNAME =   rmagick-5.3.0
> +DISTNAME =   rmagick-6.0.1
>  CATEGORIES = graphics
>  
>  HOMEPAGE =   https://github.com/rmagick/rmagick
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/graphics/ruby-rmagick/distinfo,v
> diff -u -p -u -p -r1.10 distinfo
> --- distinfo  1 Sep 2023 13:27:50 -0000       1.10
> +++ distinfo  21 Jun 2024 17:22:58 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (rmagick-5.3.0.gem) = +lPqVZMiudgbkFW1Y4Yw92n2t5KRaKFKGklPWspBECA=
> -SIZE (rmagick-5.3.0.gem) = 241664
> +SHA256 (rmagick-6.0.1.gem) = N8uJH1obZ/HSrqmtp8dOcG7ckBqa7kXRFtgcKU4MQWE=
> +SIZE (rmagick-6.0.1.gem) = 269824
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/graphics/ruby-rmagick/pkg/PLIST,v
> diff -u -p -u -p -r1.13 PLIST
> --- pkg/PLIST 1 Sep 2023 13:27:50 -0000       1.13
> +++ pkg/PLIST 21 Jun 2024 19:26:11 -0000
> @@ -48,4 +48,37 @@ ${GEM_LIB}/gems/${DISTNAME}/lib/rvg/text
>  ${GEM_LIB}/gems/${DISTNAME}/lib/rvg/transformable.rb
>  ${GEM_LIB}/gems/${DISTNAME}/lib/rvg/units.rb
>  ${GEM_LIB}/gems/${DISTNAME}/rmagick.gemspec
> +${GEM_LIB}/gems/${DISTNAME}/sig/
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/_draw_common_methods.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/_image_common_methods.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/draw.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/draw_attribute.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/enum.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/error.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/fill.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/geometry.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/image.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/image_list.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/iptc.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/kernel_info.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/optional_method_arguments.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/pixel.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rmagick/struct.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/clippath.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/container.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/deep_equal.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/describable.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/embellishable.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/misc.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/paint.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/pathdata.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/rvg.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/stretchable.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/stylable.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/text.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/transformable.rbs
> +${GEM_LIB}/gems/${DISTNAME}/sig/rvg/units.rbs
>  ${GEM_LIB}/specifications/${DISTNAME}.gemspec
> 

-- 
jca

Reply via email to