ml.ruby-lang.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

ruby-core

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
ruby-core@ml.ruby-lang.org

November 2023

  • 5 participants
  • 214 discussions
[ruby-core:115226] [Ruby master Bug#19984] `make test-bundler-parallel` fails with ` --enable-shared`
by vo.x (Vit Ondruch) 08 Oct '24

08 Oct '24
Issue #19984 has been reported by vo.x (Vit Ondruch). ---------------------------------------- Bug #19984: `make test-bundler-parallel` fails with ` --enable-shared` https://bugs.ruby-lang.org/issues/19984 * Author: vo.x (Vit Ondruch) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-11-01 master a1e24ab484) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ~~~ + ./configure --enable-shared checking for ruby... false ... snip ... config.status: creating Makefile --- Configuration summary for ruby version 3.3.0 * Installation prefix: /usr/local * exec prefix: ${prefix} * arch: x86_64-linux * site arch: ${arch} * RUBY_BASE_NAME: ruby * enable shared: yes * ruby lib prefix: ${libdir}/${RUBY_BASE_NAME} * site libraries path: ${rubylibprefix}/${sitearch} * vendor path: ${rubylibprefix}/vendor_ruby * target OS: linux * compiler: gcc * with thread: pthread * with coroutine: amd64 * enable shared libs: yes * dynamic library ext: so * CFLAGS: ${optflags} ${debugflags} ${warnflags} * LDFLAGS: -L. -Wl,-z,relro -Wl,--as-needed -Wl,-z,now \ -specs=/usr/lib/rpm/redhat/redhat-hardened-ld \ -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 \ -Wl,--build-id=sha1 -fstack-protector-strong \ -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed * DLDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now \ -specs=/usr/lib/rpm/redhat/redhat-hardened-ld \ -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 \ -Wl,--build-id=sha1 \ -Wl,--compress-debug-sections=zlib * optflags: -O3 -fno-fast-math * debugflags: -ggdb3 * warnflags: -Wall -Wextra -Wdeprecated-declarations \ -Wdiv-by-zero -Wduplicated-cond \ -Wimplicit-function-declaration -Wimplicit-int \ -Wpointer-arith -Wwrite-strings \ -Wold-style-definition -Wimplicit-fallthrough=0 \ -Wmissing-noreturn -Wno-cast-function-type \ -Wno-constant-logical-operand -Wno-long-long \ -Wno-missing-field-initializers \ -Wno-overlength-strings \ -Wno-packed-bitfield-compat \ -Wno-parentheses-equality -Wno-self-assign \ -Wno-tautological-compare -Wno-unused-parameter \ -Wno-unused-value -Wsuggest-attribute=format \ -Wsuggest-attribute=noreturn -Wunused-variable \ -Wmisleading-indentation -Wundef * strip command: strip -S -x * install doc: rdoc * YJIT support: yes * RJIT support: yes * man page type: doc --- $ make -O -j8 V=1 VERBOSE=1 'COPY=cp -p' BASERUBY = echo executable host ruby is required. use --with-baseruby option.; false CC = gcc LD = ld LDSHARED = gcc -shared CFLAGS = -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64 XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -I./prism -I./enc/unicode/15.0.0 CPPFLAGS = DLDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.3.3 -fstack-protector-strong -m64 SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread LANG = C.UTF-8 LC_ALL = LC_CTYPE = MFLAGS = -j8 -Otarget --jobserver-auth=fifo:/tmp/GMfifo10180 --sync-mutex=fnm:/tmp/GmCLOiGB RUSTC = rustc YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/yjit/target/release/' ./yjit/src/lib.rs gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4) Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -I./prism -I./enc/unicode/15.0.0 -o dmyext.o -c dmyext.c ... snip ... $ make test-bundler-parallel BASERUBY = echo executable host ruby is required. use --with-baseruby option.; false CC = gcc LD = ld LDSHARED = gcc -shared CFLAGS = -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64 XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -I./prism -I./enc/unicode/15.0.0 CPPFLAGS = DLDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.3.3 -fstack-protector-strong -m64 SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread LANG = C.UTF-8 LC_ALL = LC_CTYPE = MFLAGS = RUSTC = rustc YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/yjit/target/release/' ./yjit/src/lib.rs gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4) Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. generating enc.mk making srcs under enc make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Nothing to be done for 'srcs'. make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' generating transdb.h transdb.h unchanged generating makefiles ext/configure-ext.mk ext/configure-ext.mk updated make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' generating makefile exts.mk exts.mk unchanged make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/bigdecimal' installing default bigdecimal libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/bigdecimal' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/coverage' installing default coverage libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/coverage' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/date' installing default date_core libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/date' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest' installing digest libraries installing default digest libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest/sha2' installing default sha2 libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest/sha2' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/fiddle' installing default fiddle libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/fiddle' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/io/console' installing default console libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/io/console' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/json' installing default libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/json' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/monitor' installing default monitor libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/monitor' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/nkf' installing default nkf libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/nkf' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/objspace' installing default objspace libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/objspace' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/openssl' installing default openssl libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/openssl' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pathname' installing default pathname libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pathname' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/psych' installing default psych libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/psych' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pty' installing default pty libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pty' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/ripper' installing default ripper libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/ripper' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/rubyvm' installing default libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/rubyvm' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/socket' installing default socket libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/socket' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/syslog' installing default syslog libraries make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/syslog' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/debug-1.8.0/ext/debug' make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/debug-1.8.0/ext/debug' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/racc-1.7.1/ext/racc/cparse' make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/racc-1.7.1/ext/racc/cparse' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/rbs-3.2.2/ext/rbs_extension' make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/rbs-3.2.2/ext/rbs_extension' make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[2]: 'ruby' is up to date. make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Nothing to be done for 'note'. make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' making enc make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Nothing to be done for 'enc'. make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' making trans make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Nothing to be done for './enc/trans'. make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' making encs make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' make[1]: Nothing to be done for 'encs'. make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484' generating x86_64-linux-fake.rb x86_64-linux-fake.rb updated ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -C . -Ilib \ -e 'ENV["GEM_HOME"] = File.expand_path(".bundle")' \ -e 'ENV["BUNDLE_APP_CONFIG"] = File.expand_path(".bundle")' \ -e 'ENV["BUNDLE_PATH__SYSTEM"] = "true"' \ -e 'ENV["BUNDLE_WITHOUT"] = "lint doc"' \ -e 'load "spec/bundler/support/bundle.rb"' -- install --quiet --gemfile=tool/bundler/dev_gems.rb ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems \ -r./x86_64-linux-fake \ -e "ARGV[-1] = File.expand_path(ARGV[-1])" \ -e "exec(*ARGV)" -- \ ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -I./spec/bundler \ -e "ENV['PARALLEL_TESTS_EXECUTABLE'] = ARGV.shift" \ -e "load ARGV.shift" \ "./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -C . -Ispec/bundler:spec/lib .bundle/bin/rspec" \ ./.bundle/bin/parallel_rspec \ -o "--require spec_helper --require formatter_overrides" \ --runtime-log ./tmp/parallel_runtime_rspec.log ./spec/bundler/ 8 processes for 169 specs, ~ 21 specs per process An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.36529 seconds (files took 0.67828 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.4346 seconds (files took 0.62401 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.37847 seconds (files took 0.71128 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.32898 seconds (files took 0.78975 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.41138 seconds (files took 0.77373 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.46772 seconds (files took 0.7346 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.35757 seconds (files took 0.73007 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples An error occurred in a `before(:suite)` hook. Failure/Error: raise <<~ERROR Invoking `#{cmd}` failed with output: ---------------------------------------------------------------------- #{command_execution.stdboth} ---------------------------------------------------------------------- ERROR RuntimeError: Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory ---------------------------------------------------------------------- # ./spec/bundler/support/helpers.rb:202:in `sys_exec' # ./spec/bundler/support/helpers.rb:165:in `gem_command' # ./spec/bundler/support/helpers.rb:343:in `with_built_bundler' # ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems' # ./spec/bundler/support/helpers.rb:300:in `each' # ./spec/bundler/support/helpers.rb:300:in `block in system_gems' # ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as' # ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects' # ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as' # ./spec/bundler/support/helpers.rb:298:in `system_gems' # ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>' Finished in 0.24372 seconds (files took 1.05 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples Tests Failed 8 errors, 0 examples, 0 failures Took 1 seconds make: *** [uncommon.mk:1626: yes-test-bundler-parallel] Error 1 ~~~ -- https://bugs.ruby-lang.org/
3 6
0 0
[ruby-core:113052] [Ruby master Bug#19562] Setting default_(in|ex)ternal encoding after running an Ractor freezes ruby
by larskanis (Lars Kanis) 20 Sep '24

20 Sep '24
Issue #19562 has been reported by larskanis (Lars Kanis). ---------------------------------------- Bug #19562: Setting default_(in|ex)ternal encoding after running an Ractor freezes ruby https://bugs.ruby-lang.org/issues/19562 * Author: larskanis (Lars Kanis) * Status: Open * Priority: Normal * ruby -v: ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- The following command blocks infinitely and must be killed with "kill -9" ``` ruby -e "Ractor.new{}.take; Encoding.default_external = Encoding::ISO8859_2" ``` Backtrace is: ``` #0 futex_wait (private=0, expected=2, futex_word=0x55555555abd0) at ../sysdeps/nptl/futex-internal.h:146 #1 __GI___lll_lock_wait (futex=futex@entry=0x55555555abd0, private=0) at ./nptl/lowlevellock.c:49 #2 0x00007ffff760a082 in lll_mutex_lock_optimized (mutex=0x55555555abd0) at ./nptl/pthread_mutex_lock.c:48 #3 ___pthread_mutex_lock (mutex=mutex@entry=0x55555555abd0) at ./nptl/pthread_mutex_lock.c:93 #4 0x00007ffff7c5a40d in rb_native_mutex_lock (lock=lock@entry=0x55555555abd0) at ruby-3.2.1/thread_pthread.c:556 #5 0x00007ffff7cc5376 in vm_lock_enter (cr=0x55555555deb0, vm=0x55555555aba0, locked=locked@entry=false, no_barrier=no_barrier@entry=false, lev=0x55555555ac00) at vm_sync.c:56 #6 0x00007ffff7cc5747 in rb_vm_lock_body () at vm_sync.c:175 #7 0x00007ffff7bc02c2 in rb_vm_lock (line=1829, file=0x7ffff7e209cb "ractor.c") at ruby-3.2.1/vm_sync.h:57 #8 ractor_check_blocking (remained_thread_cnt=<optimized out>, file=0x7ffff7e209cb "ractor.c", line=1865, cr=0x55555555deb0) at ractor.c:1829 #9 ractor_check_blocking (line=1865, file=0x7ffff7e209cb "ractor.c", remained_thread_cnt=<optimized out>, cr=0x55555555deb0) at ractor.c:1811 #10 rb_ractor_blocking_threads_inc (cr=0x55555555deb0, file=file@entry=0x7ffff7e29b04 "thread.c", line=line@entry=1488) at ractor.c:1865 #11 0x00007ffff7c60977 in blocking_region_begin (th=0x55555555d070, region=0x7fffffffd220, ubf=0x7ffff7c5b300 <ubf_select>, arg=0x55555555d070, fail_if_interrupted=<optimized out>) at thread.c:1488 #12 0x00007ffff7c61edf in rb_nogvl (func=0x7ffff7ac66e0 <no_gvl_stat>, data1=0x7fffffffd2a0, ubf=<optimized out>, data2=0x55555555d070, flags=<optimized out>) at thread.c:1548 #13 0x00007ffff7acdfbc in stat_without_gvl (st=0x7fffffffd2b0, path=0x7ffff27dfe88 "ruby-3.2.1/lib/ruby/3.2.0/x86_64-linux/enc/iso_8859_2.so") at file.c:1171 #14 rb_check_realpath_internal (basedir=basedir@entry=4, path=path@entry=140737261984200, origenc=0x555555565030, mode=mode@entry=RB_REALPATH_STRICT) at file.c:4491 #15 0x00007ffff7acebaa in rb_realpath_internal (basedir=basedir@entry=4, path=path@entry=140737261984200, strict=strict@entry=1) at file.c:4536 #16 0x00007ffff7b2cdd4 in require_internal (ec=0x55555555e1f0, fname=<optimized out>, exception=1, warn=<optimized out>) at load.c:1195 #17 0x00007ffff7aa0a17 in load_encoding (name=0x5555556049b0 "ISO-8859-2") at encoding.c:779 #18 0x00007ffff7aa2ef8 in check_encoding (enc=0x5555556049d0) at encoding.c:191 #19 enc_check_encoding (obj=140737335533800) at encoding.c:202 #20 rb_to_encoding (enc=enc@entry=140737335533800) at encoding.c:307 #21 0x00007ffff7aa4049 in enc_set_default_encoding (name=0x7ffff7de6287 "external", encoding=140737335533800, def=0x7ffff7fb00c0 <default_external>) at encoding.c:1563 #22 rb_enc_set_default_external (encoding=140737335533800) at encoding.c:1637 #23 0x00007ffff7aa411f in set_default_external (klass=<optimized out>, encoding=140737335533800) at encoding.c:1658 #24 0x00007ffff7c99037 in vm_call_cfunc_with_frame (ec=0x55555555e1f0, reg_cfp=0x7ffff6f7df90, calling=<optimized out>) at ruby-3.2.1/vm_insnhelper.c:3268 #25 0x00007ffff7ca9564 in vm_sendish (method_explorer=<optimized out>, block_handler=<optimized out>, cd=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at ruby-3.2.1/vm_callinfo.h:367 #26 vm_exec_core (ec=0x55555555e1f0, initial=128) at ruby-3.2.1/insns.def:820 #27 0x00007ffff7caee93 in rb_vm_exec (ec=0x55555555e1f0, jit_enable_p=true) at vm.c:2374 #28 0x00007ffff7abfbf1 in rb_ec_exec_node (ec=ec@entry=0x55555555e1f0, n=n@entry=0x7ffff796c2c0) at eval.c:289 #29 0x00007ffff7ac60b3 in ruby_run_node (n=0x7ffff796c2c0) at eval.c:330 #30 0x0000555555555187 in rb_main (argv=0x7fffffffdb98, argc=3) at ./main.c:38 #31 main (argc=<optimized out>, argv=<optimized out>) at ./main.c:57 ``` When the encoding was already loaded before running `Ractor.new`, then it works and doesn't block: ``` ruby -e "''.encode(Encoding::ISO8859_2); Ractor.new{}.take; Encoding.default_internal = Encoding::ISO8859_2" ``` When the encoding is not assigned as default encoding, but used otherwise, it works too: ``` ruby -e "Ractor.new{}.take; ''.encode(Encoding::ISO8859_2)" ``` -- https://bugs.ruby-lang.org/
3 2
0 0
[ruby-core:111144] [Ruby master Feature#19171] Update Unicode data to Unicode Version 15.1
by duerst 20 Sep '24

20 Sep '24
Issue #19171 has been reported by duerst (Martin Dürst). ---------------------------------------- Feature #19171: Update Unicode data to Unicode Version 15.1 https://bugs.ruby-lang.org/issues/19171 * Author: duerst (Martin Dürst) * Status: Open * Priority: Normal * Assignee: duerst (Martin Dürst) ---------------------------------------- According to http://blog.unicode.org/2022/11/the-unicode-standard-2023-release.html, Unicode plans to release Version 15.1 in September 2023. According to https://www.unicode.org/versions/beta.html, public alpha review starts Feb. 7, 2023, and ends April 4, 2023. Because alpha review may not include all the files we use, it may be difficult for us to participate. Public beta review is planned to start May 23, 2023, ending July 4, 2023. At this point, we should be able to test things. -- https://bugs.ruby-lang.org/
2 1
0 0
[ruby-core:111272] [Ruby master Bug#19231] Integer#step and Float::INFINITY - inconsistent behaviour when called with and without a block
by andrykonchin (Andrew Konchin) 01 Aug '24

01 Aug '24
Issue #19231 has been reported by andrykonchin (Andrew Konchin). ---------------------------------------- Bug #19231: Integer#step and Float::INFINITY - inconsistent behaviour when called with and without a block https://bugs.ruby-lang.org/issues/19231 * Author: andrykonchin (Andrew Konchin) * Status: Open * Priority: Normal * ruby -v: 3.1.2 * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- The initial issue was reported here https://github.com/oracle/truffleruby/issues/2797. `0.step(Float::INFINITY, 10)` returns: - `Integers` when called with a block - `Floats` when called without a block I would expect `Floats` to be returned in both cases. Examples: ```ruby 0.step(100.0, 10).take(1).map(&:class) # => [Float] ``` ```ruby 0.step(Float::INFINITY, 10) { |offset| p offset.class; break } # Integer ``` When `to` argument is a finite `Float` value then calling with a block returns `Floats` as well: ```ruby 0.step(100.0, 10) { |offset| p offset.class; break } # Float ``` Wondering whether it's intentional behaviour. I've found a related issue https://bugs.ruby-lang.org/issues/15518. -- https://bugs.ruby-lang.org/
6 6
0 0
[ruby-core:111448] [Ruby master Bug#19266] URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER
by gareth (Gareth Adams) 22 Jul '24

22 Jul '24
Issue #19266 has been reported by gareth (Gareth Adams). ---------------------------------------- Bug #19266: URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER https://bugs.ruby-lang.org/issues/19266 * Author: gareth (Gareth Adams) * Status: Open * Priority: Normal * ruby -v: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [arm64-darwin21] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- In June 2014, [`uri/common` was updated][1] to introduce a RFC3986-compliant parser (`URI::RFC3986_PARSER`) as an alternative to the previous RFC2396 parser, and common methods like `URI()` were updated to use that new parser by default. The only methods in `common` not updated were [`URI.extract` and `URI.regexp`][2] which are marked as obsolete. (The old parser was kept in the `DEFAULT_PARSER` constant despite it not being the default for those methods, presumably for backward compatibility.) However, similar [methods called on `URI::Generic`][3] were never updated to use this new parser. This means that methods like `URI::Generic.build` fail when given input that succeeds normally, and this also affects subclasses like URI::HTTP: ``` $ pry -r uri -r uri/common -r uri/generic [1] pry(main)> URI::Generic.build(host: "underscore_host.example") URI::InvalidComponentError: bad component(expected host component): underscore_host.example from /Users/gareth/.asdf/installs/ruby/3.1.3/lib/ruby/3.1.0/uri/generic.rb:591:in `check_host' [2] pry(main)> URI::HTTP.build(host: "underscore_host.example") URI::InvalidComponentError: bad component(expected host component): underscore_host.example from /Users/gareth/.asdf/installs/ruby/3.1.3/lib/ruby/3.1.0/uri/generic.rb:591:in `check_host' [3] pry(main)> URI("http://underscore_host.example") => #<URI::HTTP http://underscore_host.example> ``` `URI::Generic.new` allows a configurable `parser` positional argument to override the class' default parser, but other factory methods like `.build` don't allow this override. Arguably this doesn't cause problems because at least in the case above, the URI can be built with the polymorphic constructor, but having the option to build URIs from explicit named parts is useful, and leaving the outdated functionality in the `Generic` class is ambiguous. It's possible that the whole Generic class and its subclasses aren't intended to be used directly how I'm intending here, but there's nothing I could see that suggested this is the case. I'm not aware of the entire list of differences between RFC2396 and RFC3986. The relevant difference here is that in RFC2396 an individual segment of a host ([`domainlabel`s][4]) could only be `alphanum | alphanum *( alphanum | "-" ) alphanum`, whereas RFC3986 allows [hostnames][5] to include any of `ALPHA / DIGIT / "-" / "." / "_" / "~"`. It's possible that other differences might cause issues for developers, but since this has gone over 8 years without anyone else caring about this, this is definitely not especially urgent. [1]: https://github.com/ruby/ruby/commit/bb83f32dc3e0424d25fa4e55d8ff32b061320e41 [2]: https://github.com/ruby/ruby/blob/28a17436503c3c4cb7a35b423a894b697cd80da9/… [3]: https://github.com/ruby/ruby/blob/28a17436503c3c4cb7a35b423a894b697cd80da9/… [4]: https://www.rfc-editor.org/rfc/rfc2396#section-3.2.2 [5]: https://www.rfc-editor.org/rfc/rfc3986#page-13 -- https://bugs.ruby-lang.org/
4 8
0 0
[ruby-core:113352] [Ruby master Bug#19619] Endless method definition with parameters for an instance given as numbered parameters doesn't work
by okuramasafumi (Masafumi OKURA) 21 Jul '24

21 Jul '24
Issue #19619 has been reported by okuramasafumi (Masafumi OKURA). ---------------------------------------- Bug #19619: Endless method definition with parameters for an instance given as numbered parameters doesn't work https://bugs.ruby-lang.org/issues/19619 * Author: okuramasafumi (Masafumi OKURA) * Status: Open * Priority: Normal * ruby -v: 3.2.2 * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- This works: ```ruby class Foo def bar(baz) = 'foo' end p Foo.new.bar('baz') ``` This also works: ```ruby o = Object.new o.tap { |obj| def obj.bar(baz) = 'foo' } p o.bar('baz') ``` Even this works: ```ruby o = Object.new o.tap { def _1.bar = 'foo' } p o.bar ``` But this DOESN'T work: ```ruby o = Object.new o.tap { def _1.bar(baz) = 'foo' } p o.bar('baz') ``` So, when we define a method with parameters on an instance given as numbered parameters, it doesn't work. If we change one condition (definition way, parameter existence, and so on), it works. -- https://bugs.ruby-lang.org/
4 4
0 0
[ruby-core:114792] [Ruby master Bug#19887] RUBYOPT doesn't work unless starting with `-`
by nobu (Nobuyoshi Nakada) 20 Jul '24

20 Jul '24
Issue #19887 has been reported by nobu (Nobuyoshi Nakada). ---------------------------------------- Bug #19887: RUBYOPT doesn't work unless starting with `-` https://bugs.ruby-lang.org/issues/19887 * Author: nobu (Nobuyoshi Nakada) * Status: Assigned * Priority: Normal * Assignee: nobu (Nobuyoshi Nakada) * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED ---------------------------------------- It was working till 1.8. ```sh-session $ for ruby in ruby{1.{8..9},2.{0..7},3.{0..3}}; do RUBYOPT=w $ruby -e 'puts "'$ruby': #{$VERBOSE}"'; done ruby1.8: true ruby1.9: false ruby2.0: false ruby2.1: false ruby2.2: false ruby2.3: false ruby2.4: false ruby2.5: false ruby2.6: false ruby2.7: false ruby3.0: false ruby3.1: false ruby3.2: false ruby3.3: false ``` -- https://bugs.ruby-lang.org/
2 2
0 0
[ruby-core:114258] [Ruby master Bug#19781] Stack consistency error with tailcall and YJIT enabled
by k0kubun (Takashi Kokubun) 20 Jul '24

20 Jul '24
Issue #19781 has been reported by k0kubun (Takashi Kokubun). ---------------------------------------- Bug #19781: Stack consistency error with tailcall and YJIT enabled https://bugs.ruby-lang.org/issues/19781 * Author: k0kubun (Takashi Kokubun) * Status: Open * Priority: Normal * Assignee: yjit * Backport: 3.0: DONTNEED, 3.1: REQUIRED, 3.2: REQUIRED ---------------------------------------- ```rb src = <<-EOS def apply_one_and_two(&block) [1, p(1)] end ​ def add_one_and_two apply_one_and_two(&:+) end EOS ​ RubyVM::InstructionSequence.new( "proc {|_|_.class_eval {#{src}}}", __FILE__, __FILE__, 1, tailcall_optimization: true, trace_instruction: false, ).eval[self.singleton_class] ​ def entry add_one_and_two end ​ entry ``` This script causes "Stack consistency error" with `ruby --yjit-call-threshold=1` on any YJIT-enabled build (3.1, 3.2, and master). -- https://bugs.ruby-lang.org/
2 1
0 0
[ruby-core:115549] [Ruby master Bug#20030] `Ripper.tokenize('"\\C-あ"')` separates encoding valid string to encoding invalid string.
by tompng (tomoya ishida) 15 Jul '24

15 Jul '24
Issue #20030 has been reported by tompng (tomoya ishida). ---------------------------------------- Bug #20030: `Ripper.tokenize('"\\C-あ"')` separates encoding valid string to encoding invalid string. https://bugs.ruby-lang.org/issues/20030 * Author: tompng (tomoya ishida) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-11-30T16:23:25Z master d048bae96b) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ~~~ruby Ripper.tokenize '"\\C-あ"' # or Ripper.tokenize "\"\\C-\u3042\"" # => ["\"", "\x81", "\x82", "\""] ~~~ I expect all tokens to be valid_encoding if the source string is valid_encoding. This is causing IRB crash when typing `"\C-あ"`. -- https://bugs.ruby-lang.org/
3 2
0 0
[ruby-core:114932] [Ruby master Bug#19907] Method calls with keyword arguments in eval leaks callcache and callinfo objects
by peterzhu2118 (Peter Zhu) 07 Jul '24

07 Jul '24
Issue #19907 has been reported by peterzhu2118 (Peter Zhu). ---------------------------------------- Bug #19907: Method calls with keyword arguments in eval leaks callcache and callinfo objects https://bugs.ruby-lang.org/issues/19907 * Author: peterzhu2118 (Peter Zhu) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- The following script leaks callcache and callinfo objects: ```ruby def foo(a:); end 10.times do 10_000.times do eval(<<~RUBY) foo(a: 1) RUBY end puts "Number of live objects: #{GC.stat(:heap_live_slots)}" puts "Memory usage: #{`ps -o rss= -p #{$$}`}" puts end ``` Output is: ``` Number of live objects: 46248 Memory usage: 16160 Number of live objects: 65902 Memory usage: 19888 Number of live objects: 92656 Memory usage: 24032 Number of live objects: 126791 Memory usage: 28048 Number of live objects: 132919 Memory usage: 28816 Number of live objects: 180687 Memory usage: 32384 Number of live objects: 181957 Memory usage: 32464 Number of live objects: 227485 Memory usage: 34224 Number of live objects: 256101 Memory usage: 37200 Number of live objects: 274151 Memory usage: 38752 ``` After performing a `ObjectSpace.dump_all`, I found that it is leaking callcache and callinfo objects that is being held on by the `Object` class. ```json {"address":"0x102ecef70", "type":"CLASS", "shape_id":2, "slot_size":160, "class":"0x102ecf8d0", "variation_count":0, "superclass":"0x102ecfd30", "real_class_name":"Object", "singleton":true, "references":[ ... ]} {"address":"0x1030c90a0", "type":"IMEMO", "shape_id":0, "slot_size":40, "imemo_type":"callinfo", "mid":"foo", "memsize":40, "flags":{"wb_protected":true}} {"address":"0x102fad568", "type":"IMEMO", "shape_id":0, "slot_size":40, "imemo_type":"callcache", "memsize":40, "flags":{"wb_protected":true, "old":true, "uncollectible":true, "marked":true}} ``` -- https://bugs.ruby-lang.org/
5 4
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...
  • 22
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.