[#121498] [Ruby Bug#21210] IO::Buffer gets invalidated on GC compaction — "hanazuki (Kasumi Hanazuki) via ruby-core" <ruby-core@...>

Issue #21210 has been reported by hanazuki (Kasumi Hanazuki).

10 messages 2025/04/01

[#121519] [Ruby Bug#21214] VmRSS consumption increase in Ruby 3.4.2 vs Ruby 3.3.6 — "mood_vuadensl (LOIC VUADENS) via ruby-core" <ruby-core@...>

Issue #21214 has been reported by mood_vuadensl (LOIC VUADENS).

9 messages 2025/04/02

[#121542] [Ruby Bug#21217] Integer.sqrt produces wrong results even on input <= 1e18 — "hjroh0315 (Matthew Roh) via ruby-core" <ruby-core@...>

Issue #21217 has been reported by hjroh0315 (Matthew Roh).

8 messages 2025/04/06

[#121551] [Ruby Feature#21219] `Object#inspect` accept a list of instance variables to display — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #21219 has been reported by byroot (Jean Boussier).

10 messages 2025/04/07

[#121556] [Ruby Bug#21220] Memory corruption in update_line_coverage() [write at index -1] — "mbcodeandsound (Mike Bourgeous) via ruby-core" <ruby-core@...>

Issue #21220 has been reported by mbcodeandsound (Mike Bourgeous).

16 messages 2025/04/07

[#121560] [Ruby Feature#21221] Proposal to upstream ZJIT — "maximecb (Maxime Chevalier-Boisvert) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMjIxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1heGltZWNiIChNYXhpbWUgQ2hldmFs

8 messages 2025/04/07

[#121565] [Ruby Feature#21254] Inlining Class#new — "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMjU0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHRlbmRlcmxvdmVtYWtpbmcgKEFhcm9u

12 messages 2025/04/07

[#121601] [Ruby Feature#21258] Retire CGI library from Ruby 3.5 — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #21258 has been reported by hsbt (Hiroshi SHIBATA).

11 messages 2025/04/09

[#121621] [Ruby Feature#21262] Proposal: `Ractor::Port` — "ko1 (Koichi Sasada) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMjYyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtvMSAoS29pY2hpIFNhc2FkYSkuDQoN

8 messages 2025/04/10

[#121627] [Ruby Feature#21264] Extract Date library from Ruby repo in the future — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #21264 has been reported by hsbt (Hiroshi SHIBATA).

8 messages 2025/04/11

[#121686] [Ruby Feature#21274] Show performance warnings for easily avoidable unnecessary implicit splat allocations — "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@...>

Issue #21274 has been reported by jeremyevans0 (Jeremy Evans).

6 messages 2025/04/18

[#121700] [Ruby Feature#21279] Bare "rescue" should not rescue NameError — "AMomchilov (Alexander Momchilov) via ruby-core" <ruby-core@...>

Issue #21279 has been reported by AMomchilov (Alexander Momchilov).

9 messages 2025/04/21

[#121702] [Ruby Bug#21280] StringIO#set_encoding warns when backed by chilled string literal — "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@...>

Issue #21280 has been reported by jeremyevans0 (Jeremy Evans).

13 messages 2025/04/22

[#121721] [Ruby Bug#21283] Some tests of TestMkmfConvertible is failing with VS2022 17.14.0 preview 4.0 — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #21283 has been reported by hsbt (Hiroshi SHIBATA).

8 messages 2025/04/24

[#121745] [Ruby Bug#21286] Windows - MSYS2 just updated to GCC 15.1.0, builds failing — "MSP-Greg (Greg L) via ruby-core" <ruby-core@...>

Issue #21286 has been reported by MSP-Greg (Greg L).

15 messages 2025/04/27

[#121755] [Ruby Misc#21290] Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues — "lukef (Luke Freeman) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMjkwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGx1a2VmIChMdWtlIEZyZWVtYW4pLg0K

8 messages 2025/04/28

[ruby-core:121744] [Ruby Bug#21271] Ruby build failure due to invalid probe specifier for dtrace

From: "nekketsuuu (Takuma Ishikawa) via ruby-core" <ruby-core@...>
Date: 2025-04-27 13:35:04 UTC
List: ruby-core #121744
Issue #21271 has been updated by nekketsuuu (Takuma Ishikawa).


@nobu Do you remember why CPPFLAGS is needed for dtrace in this commit https://github.com/ruby/ruby/commit/060ae17c806f0ba955b1c5d825b890b6de6c47e3? In my understanding, according to the dtrace manual, `-I` options passed to dtrace are forwarded to CPP as-is, along with a few other options. So it seems reasonable to provide CPPFLAGS to dtrace in principle, but the issue is that CPPFLAGS might contain options that dtrace itself doesn't understand.

Since the options passed to CPP are not always compatible with dtrace, I'm considering if we can transform or filter CPPFLAGS before passing them to dtrace -- for example, by just ignoring some unsupported options, or converting some search-path-related options to `-I`. Alternatively, we could simply disable dtrace if CPPFLAGS includes unsupported options (i.e., if dtrace raises an error while configuring it with CPPFLAGS). Do you have any thoughts or suggestions on how best to handle this?

As a workaround, I was able to get the build to succeed in my environment by passing `--enable-dtrace=no` to `configure`. So this is no longer an urgent issue for me, but I'm curious how many others are running into the same problem, since my setup is just a standard MacBook Pro with Homebrew.

----------------------------------------
Bug #21271: Ruby build failure due to invalid probe specifier for dtrace
https://bugs.ruby-lang.org/issues/21271#change-112800

* Author: nekketsuuu (Takuma Ishikawa)
* Status: Open
* ruby -v: N/A
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
I've noticed that building the master branch of Ruby fails on my MacBook with the following error about dtrace and probes.h:

```
% make
	BASERUBY = /Users/nekketsuuu/.rbenv/shims/ruby --disable=gems
	CC = clang
	LD = ld
	LDSHARED = clang -dynamiclib
	CFLAGS = -isystem/opt/homebrew/include -isystem/opt/homebrew/include  -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdeclspec  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef  -pipe -arch arm64
	XCFLAGS = -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/arm64-darwin24 -I../include -I.. -I../prism -I../enc/unicode/15.0.0   -Dmodular_gc_dir=
	CPPFLAGS = -I/opt/homebrew/opt/openssl/include -I/opt/homebrew/opt/mysql-client@8.4/include -I/opt/homebrew/opt/libffi/include -isystem/opt/homebrew/include -I/opt/homebrew/opt/openssl/include -I/opt/homebrew/opt/mysql-client@8.4/include -I/opt/homebrew/opt/libffi/include -isystem/opt/homebrew/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   
	DLDFLAGS = -L/opt/homebrew/opt/openssl/lib -L/opt/homebrew/opt/mysql-client@8.4/lib -L/opt/homebrew/opt/libffi/lib -L/opt/homebrew/lib -L/opt/homebrew/opt/openssl/lib -L/opt/homebrew/opt/mysql-client@8.4/lib -L/opt/homebrew/opt/libffi/lib -L/opt/homebrew/lib  -Wl,-undefined,dynamic_lookup -fstack-protector-strong -Wl,-pie -framework CoreFoundation  -arch arm64
	SOLIBS = -lgmp -ldl -lobjc -lpthread 
	LANG = ja_JP.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=/Users/nekketsuuu/dev/src/github.com/ruby/ruby/build/yjit/target/release/' ../yjit/src/lib.rs
Apple clang version 16.0.0 (clang-1600.0.26.3)
Target: arm64-apple-darwin24.4.0
Thread model: posix
InstalledDir: /Applications/Xcode_16.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
compiling ../main.c
compiling ../dmydln.c
generating id.h
id.h updated
generating miniprelude.c
miniprelude.c updated
compiling ../miniinit.c
making ../array.rbinc
/Users/nekketsuuu/.rbenv/shims/ruby --disable=gems ../tool/gen_dummy_probes.rb ../probes.d > probes.dmyh
translating probes ../probes.d
dtrace: invalid probe specifier system/opt/homebrew/include: syntax error near end of input
make: *** [probes.h] Error 1
```

With running `git bisect`, I found that the build started failing after the commit 060ae17c806f0ba955b1c5d825b890b6de6c47e3 https://github.com/ruby/ruby/commit/060ae17c806f0ba955b1c5d825b890b6de6c47e3 (between Ruby 3.4.3 d0b7e5b6a04bde21ca483d20a1546b28b401c2d4 and the HEAD 7e2ba5a91bcdc31e14502f797a6184e3f4d41747).

I'm not sure if this is a problem of my local configurations or a build script. Here is a summary of my configurations:

```
Configuration summary for ruby version 3.5.0

   * Installation prefix: /Users/nekketsuuu/.rbenv/versions/master
   * exec prefix:         ${prefix}
   * arch:                arm64-darwin24
   * site arch:           ${arch}
   * RUBY_BASE_NAME:      ruby
   * ruby lib prefix:     ${libdir}/${RUBY_BASE_NAME}
   * site libraries path: ${rubylibprefix}/${sitearch}
   * vendor path:         ${rubylibprefix}/vendor_ruby
   * target OS:           darwin24
   * compiler:            clang
   * with thread:         pthread
   * with coroutine:      arm64
   * with modular GC:     no
   * enable shared libs:  no
   * dynamic library ext: bundle
   * CFLAGS:              ${hardenflags} -fdeclspec  ${optflags} \
                          ${debugflags} ${warnflags}
   * LDFLAGS:             -L. -L/opt/homebrew/opt/openssl/lib \
                          -L/opt/homebrew/opt/mysql-client@8.4/lib \
                          -L/opt/homebrew/opt/libffi/lib \
                          -L/opt/homebrew/lib \
                          -L/opt/homebrew/opt/openssl/lib \
                          -L/opt/homebrew/opt/mysql-client@8.4/lib \
                          -L/opt/homebrew/opt/libffi/lib \
                          -L/opt/homebrew/lib  -fstack-protector-strong
   * DLDFLAGS:            -L/opt/homebrew/opt/openssl/lib \
                          -L/opt/homebrew/opt/mysql-client@8.4/lib \
                          -L/opt/homebrew/opt/libffi/lib \
                          -L/opt/homebrew/lib \
                          -L/opt/homebrew/opt/openssl/lib \
                          -L/opt/homebrew/opt/mysql-client@8.4/lib \
                          -L/opt/homebrew/opt/libffi/lib \
                          -L/opt/homebrew/lib  -Wl,-undefined,dynamic_lookup
   * optflags:            -O3 -fno-fast-math
   * debugflags:          -ggdb3
   * warnflags:           -Wall -Wextra -Wextra-tokens \
                          -Wdeprecated-declarations -Wdivision-by-zero \
                          -Wdiv-by-zero -Wimplicit-function-declaration \
                          -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 \
                          -Wwrite-strings -Wold-style-definition \
                          -Wmissing-noreturn -Wno-cast-function-type \
                          -Wno-constant-logical-operand -Wno-long-long \
                          -Wno-missing-field-initializers \
                          -Wno-overlength-strings -Wno-parentheses-equality \
                          -Wno-self-assign -Wno-tautological-compare \
                          -Wno-unused-parameter -Wno-unused-value \
                          -Wunused-variable -Wmisleading-indentation -Wundef
   * hardenflags:         -fstack-protector-strong -U_FORTIFY_SOURCE \
                          -D_FORTIFY_SOURCE=2
   * strip command:       strip -A -n
   * install doc:         rdoc
   * YJIT support:        yes
   * RJIT support:        yes
   * man page type:       doc
   * BASERUBY -v:         ruby 3.4.1 (2024-12-25 revision 48d4efcb85) \
                          +PRISM [arm64-darwin24]
```

and here is a full command logs by `make Q=`:

```
translating probes ../probes.d
dtrace -xnolibs -o probes.h.tmp -h -C -I. -I.ext/include/arm64-darwin24 -I../include -I.. -I../prism -I../enc/unicode/15.0.0  -I/opt/homebrew/opt/openssl/include -I/opt/homebrew/opt/mysql-client@8.4/include -I/opt/homebrew/opt/libffi/include -isystem/opt/homebrew/include -I/opt/homebrew/opt/openssl/include -I/opt/homebrew/opt/mysql-client@8.4/include -I/opt/homebrew/opt/libffi/include -isystem/opt/homebrew/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -s ../probes.d
dtrace: invalid probe specifier system/opt/homebrew/include: syntax error near end of input
make: *** [probes.h] Error 1
```

It appears that CPPFLAGS contains `-isystem` flag, and dtrace might handle it as `-i` flag.

This is my first time submitting a bug issue here. Feel free to correct me if there are any mistakes. Also, let me know if more information is needed.



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next