rcairo / rcairo

The Ruby bindings for cairo.
https://rcairo.github.io/
Other
134 stars 31 forks source link

Dropping "fat gem" causes build test failures on Debian #82

Closed jbicha closed 1 year ago

jbicha commented 1 year ago

The build tests are failing on Debian. Reverting f4da75697e9b3fffb95b580411ac6f6c02364fd7 fixes the issue.

Excerpt of build log

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby3.1 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=/<<PKGBUILDDIR>>/debian/ruby-cairo/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.1.0:
/<<PKGBUILDDIR>>/debian/ruby-cairo/usr/lib/ruby/vendor_ruby:.
 GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-cairo/usr/share/rubygems-integration/3.1.0:
/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:
/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:
/usr/lib/x86_64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:
/usr/share/rubygems-integration/all:
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake -f debian/ruby-tests.rake
/usr/bin/ruby3.1 -w -I"test" -rhelper -rtest/unit /usr/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb
 "test/test_color.rb" "test/test_colors.rb" "test/test_constants.rb" "test/test_context.rb" "test/test_exception.rb"
 "test/test_font_extents.rb" "test/test_font_face.rb" "test/test_font_options.rb" "test/test_image_surface.rb"
 "test/test_paper.rb" "test/test_pdf_surface.rb" "test/test_quartz_image_surface.rb" "test/test_raster_source_pattern.rb"
 "test/test_recording_surface.rb" "test/test_region.rb" "test/test_scaled_font.rb" "test/test_script_device.rb"
 "test/test_script_surface.rb" "test/test_surface.rb" "test/test_svg_surface.rb" "test/test_tee_surface.rb"
 "test/test_text_cluster.rb" "test/test_text_extents.rb" "test/test_text_to_glyphs_data.rb" "test/test_xml_device.rb"
 "test/test_xml_surface.rb" 
/<<PKGBUILDDIR>>/test/test_font_face.rb:132: warning: assigned but unused variable - scaled_font
/<<PKGBUILDDIR>>/test/test_font_face.rb:132: warning: assigned but unused variable - utf8
/<<PKGBUILDDIR>>/test/test_font_face.rb:139: warning: assigned but unused variable - scaled_font
/<<PKGBUILDDIR>>/test/test_font_face.rb:215: warning: assigned but unused variable - scaled_font
/<<PKGBUILDDIR>>/test/test_font_face.rb:215: warning: assigned but unused variable - utf8
/<<PKGBUILDDIR>>/test/test_font_face.rb:221: warning: assigned but unused variable - scaled_font
/<<PKGBUILDDIR>>/test/test_font_face.rb:311: warning: assigned but unused variable - scaled_font
/<<PKGBUILDDIR>>/test/test_font_face.rb:311: warning: assigned but unused variable - utf8
/<<PKGBUILDDIR>>/test/test_font_face.rb:318: warning: assigned but unused variable - scaled_font
/<<PKGBUILDDIR>>/test/test_pdf_surface.rb:25: warning: assigned but unused variable - id
/<<PKGBUILDDIR>>/test/test_xml_device.rb:10: warning: assigned but unused variable - device
Loaded suite /usr/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/rake_test_loader
Started
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
................................................................O
===============================================================================
Omission: Only for QuartzImage device available [test_quartz_image_surface(QuartzImageSurfaceTest)]
/<<PKGBUILDDIR>>/test/helper.rb:39:in `only_surface'
===============================================================================
............................................../usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:30:
 [BUG] object allocation during garbage collection phase
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux-gnu]

-- Control frame information -----------------------------------------------
c:0030 p:---- s:0168 e:000167 CFUNC  :split
c:0029 p:0013 s:0163 e:000162 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:30
c:0028 p:0007 s:0158 e:000157 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:40 [FINISH]
c:0027 p:---- s:0154 e:000153 CFUNC  :reject
c:0026 p:0093 s:0150 E:0011b0 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:39
c:0025 p:0041 s:0140 e:000137 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/omission.rb:162
c:0024 p:0027 s:0132 e:000131 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:880 [FINISH]
c:0023 p:---- s:0127 e:000126 CFUNC  :each
c:0022 p:0008 s:0123 e:000122 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:876
c:0021 p:0034 s:0118 e:000117 RESCUE /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:584
c:0020 p:0048 s:0114 E:0020a0 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:579
c:0019 p:0018 s:0108 E:0000c8 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124
c:0018 p:0082 s:0099 e:000098 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53
c:0017 p:0018 s:0092 E:0007f8 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124
c:0016 p:0082 s:0083 e:000082 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53
c:0015 p:0023 s:0076 E:000a28 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:67
c:0014 p:0044 s:0071 e:000070 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:45
c:0013 p:0082 s:0068 E:001f78 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:102
c:0012 p:0014 s:0059 E:001bb8 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:41 [FINISH]
c:0011 p:---- s:0055 e:000054 CFUNC  :catch
c:0010 p:0056 s:0051 E:002028 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:39
c:0009 p:0006 s:0044 e:000043 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunner.rb:40
c:0008 p:0019 s:0040 e:000039 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunner.rb:25
c:0007 p:0015 s:0036 e:000035 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnerutilities.rb:24
c:0006 p:0010 s:0030 e:000029 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:458
c:0005 p:0026 s:0027 e:000026 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:514
c:0004 p:0155 s:0022 e:000021 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:457
c:0003 p:0064 s:0016 e:000015 METHOD /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:66
c:0002 p:0048 s:0007 e:000005 BLOCK  /usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit.rb:518 [FINISH]
c:0001 p:0000 s:0003 E:001110 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit.rb:518:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:66:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:457:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:514:in `change_work_directory'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:458:in `block in run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnerutilities.rb:24:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunner.rb:25:in `start'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunner.rb:40:in `start_mediator'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:39:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:39:in `catch'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:41:in `block in run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:102:in `with_listener'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:45:in `block (2 levels) in run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:67:in `run_suite'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124:in `run_test'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124:in `run_test'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:579:in `run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:584:in `rescue in run'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:876:in `handle_exception'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:876:in `each'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:880:in `block in handle_exception'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/omission.rb:162:in `handle_omitted_error'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:39:in `filter_backtrace'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:39:in `reject'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:40:in `block in filter_backtrace'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:30:in `block in filter_backtrace'
/usr/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/util/backtracefilter.rb:30:in `split'

-- C level backtrace information -------------------------------------------
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(0x7fcf4e3fa0c2) [0x7fcf4e3fa0c2]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(0x7fcf4e2481b3) [0x7fcf4e2481b3]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_bug+0x99) [0x7fcf4e1cf982]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(0x7fcf4e1d0286) [0x7fcf4e1d0286]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_wb_protected_newobj_of+0x86) [0x7fcf4e2704a6]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(0x7fcf4e381b7c) [0x7fcf4e381b7c]
/<<PKGBUILDDIR>>/debian/ruby-cairo/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.1.0/cairo.so(rb_cairo__io_write_func_invoke+0x2d) [0x7fcf4a6b285d]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_vrescue2+0x10b) [0x7fcf4e24f3db]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_rescue2+0x8a) [0x7fcf4e24f64a]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_protect+0xe7) [0x7fcf4e24f777]
/<<PKGBUILDDIR>>/debian/ruby-cairo/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.1.0/cairo.so(rb_cairo__invoke_callback+0x27) [0x7fcf4a6b7947]
/<<PKGBUILDDIR>>/debian/ruby-cairo/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.1.0/cairo.so(rb_cairo__io_write_func+0x3e) [0x7fcf4a6b2ace]
[0x7fcf4a59c725]
[0x7fcf4a59c9d8]
[0x7fcf4a62d3a2]
[0x7fcf4a5d0ee2]
[0x7fcf4a5d1a60]
[0x7fcf4e26d1e5]
[0x7fcf4e26d4f9]
[0x7fcf4e26f77d]
[0x7fcf4e2702be]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_wb_protected_newobj_of+0x86) [0x7fcf4e2704a6]
[0x7fcf4e381b7c]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_str_subseq+0x7b) [0x7fcf4e38d50b]
[0x7fcf4e38d69e]
[0x7fcf4e38db0e]
[0x7fcf4e3deab0]
[0x7fcf4e3e13ab]
[0x7fcf4e3e41be]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_vm_exec+0xb3) [0x7fcf4e3e8693]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_yield+0x78) [0x7fcf4e3ecd88]
[0x7fcf4e1d9b43]
[0x7fcf4e3deab0]
[0x7fcf4e3e13ab]
[0x7fcf4e3e421b]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_vm_exec+0xb3) [0x7fcf4e3e8693]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_yield+0x78) [0x7fcf4e3ecd88]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_ary_each+0x3c) [0x7fcf4e1d2dfc]
[0x7fcf4e3deab0]
[0x7fcf4e3e13ab]
[0x7fcf4e3e421b]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_vm_exec+0xb3) [0x7fcf4e3e8693]
[0x7fcf4e3f591a]
[0x7fcf4e3e03f4]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_catch_obj+0x4c) [0x7fcf4e3e05ac]
[0x7fcf4e3deab0]
[0x7fcf4e3e13ab]
[0x7fcf4e3e421b]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_vm_exec+0xb3) [0x7fcf4e3e8693]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_vm_invoke_proc+0x5e) [0x7fcf4e3ed24e]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(rb_proc_call_kw+0x9b) [0x7fcf4e31c35b]
[0x7fcf4e25119d]
[0x7fcf4e2513b4]
[0x7fcf4e2515de]
/lib/x86_64-linux-gnu/libruby-3.1.so.3.1(ruby_run_node+0x5f) [0x7fcf4e251a1f]
[0x55bd2bd0310b]
[0x7fcf4de1b6ca]
[0x7fcf4de1b785]
/usr/bin/ruby3.1(_start+0x21) [0x55bd2bd03151]
kou commented 1 year ago

Could you try 85bb3401ee7f8d979db51107cae529185c07608d?

jbicha commented 1 year ago

Could you try 85bb340?

Yes, that fixed my issue. Thanks!