Activity
From 07/15/2023 to 07/21/2023
07/21/2023
-
07:44 PM Revision 11deab79 (git): Remove unused code in darray.h
-
05:50 PM Revision 83605bb6 (git): Just assume rustc is in the container
-
05:41 PM Bug #19779 (Closed): `eval "return"` at top level raises `LocalJumpError`
- Wondering whether it's intentional behaviour. It seems it's the only difference I've noticed between calling `return` with and without `eval`:
```
ruby -e 'return'
ruby -e 'eval "return"'
(eval):1:in `<main>': unexpected return (Lo... -
05:19 PM Bug #19778 (Closed): mkmf.rb pkg_config() interaction with RbConfig::CONFIG["cflags"]
- (This was first reported at https://github.com/ruby/openssl/issues/650: The extension's build breaks in a strange way if `RbConfig::CONFIG["*flags"]` contains the path of an OpenSSL installation but `pkg-config` returns the path of a dif...
-
04:42 PM Feature #19777 (Closed): Make `Kernel#lambda` raise when called without a literal block
- Since 3.0.0, released in 2020, calling `Kernel#lambda` without a literal block
has been issuing a deprecation warning:
```ruby
Warning[:deprecated] = true
def foo(&b) lambda(&b) end
foo {}
# => test.rb:2: warning: lambda without ... -
03:48 PM Revision 25267fdd (git): [ruby/yarp] Exclude heredoc_nested test for Rubies < 3.3
- Ripper's lexemes were slightly different in Ruby 3.2 for Heredocs.
We ignored this complex heredoc test in this case because
Ripper's output has changed
https://github.com/ruby/yarp/commit/59d3d4a899 -
10:28 AM Feature #19744: Namespace on read
- Just a quick comment to Jeremy's statement:
> In regards to the feature in general, looking at my large libraries, all of them use absolute :: references at least occasionally
I use :: quite a lot in my gems as well so I can relate to ... -
09:38 AM Revision 22f97355 (git): Use already installed `rustc` if available [ci skip]
-
08:47 AM Revision 7fdf98ef (git): [rubygems/rubygems] Deprecate Gem::Platform.match
- https://github.com/rubygems/rubygems/commit/e3ba3e2225
-
07:48 AM Revision f602cb55 (git): [rubygems/rubygems] Boundary check in `Gem::StreamUI#choose_from_list`
- https://github.com/rubygems/rubygems/commit/abacb0cb34
-
05:52 AM Revision 47c7c188 (git): Add comments to id.h and undef finished macros
-
04:22 AM Feature #19776: Warn bundled gems when it called from `require`
- I submit https://github.com/rubygems/rubygems/pull/6831 to RubyGems upstream.
07/20/2023
-
10:04 PM Revision 8d9a25a6 (git): misc/gdb.py: Allow overriding stack_size [ci skip]
-
08:50 PM Revision 210caa77 (git): More RDoc for Dir.glob (#8088)
-
07:54 PM Revision c4ef3d76 (git): YJIT: Rename exec_instruction to yjit_insns_count (#8102)
-
07:52 PM Revision b71f79dd (git): Add a missing *
- Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
-
07:04 PM Revision 1129488f (git): Ignore win32/file.o on update-deps
- This job has been so flaky:
https://github.com/ruby/ruby/actions/runs/5614842978/job/15213840097 -
06:55 PM Revision a7127745 (git): Get rid of obsoleted __bp__ references
- 06:52 PM Revision bbf059fb (git): Update default gems list at 134d8741731101b4b115e3d92ac008 [ci skip]
-
06:51 PM Revision 134d8741 (git): Sync YARP gemspec (#8101)
- * Sync YARP gemspec
We were previously not syncing the YARP gemspec over which meant
that the Ruby YARP gem was out of sync.
* Sync YARP node / lex_compat files -
06:17 PM Revision 639aa76e (git): Embed struct rmatch into GC slot (#8097)
-
06:01 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
- I've merged the PR. Thanks for your work here!
-
05:58 PM Revision 460c27dc (git): [ruby/syntax_suggest] Handle new eval source location
- See https://bugs.ruby-lang.org/issues/19755
In Ruby 3.3, using `eval` without providing a source location
will now default to `"(eval at #{__FILE__}:#{__LINE__})"`.
https://github.com/ruby/syntax_suggest/commit/8e5076472e -
05:14 PM Revision b41fc9b9 (git): YJIT: Avoid undercounting retired_in_yjit (#8038)
- * YJIT: Count the number of failed instructions
* Rename yjit_insns_count to exec_instructions instead
* Hoist out the exec_instruction counter -
02:58 PM Revision abce8583 (git): [ruby/yarp] Fix heredocs inside %W and %w lists
- The problem was that we were treating heredoc bodies as part of the %W
list because we didn't push the scanning cursor past the heredoc after
lexing out the here doc. To fix this, we changed the whitespace
scanning function to quit scan... -
02:53 PM Revision 5c219c1b (git): proc.c: Remove unused parameter [ci skip]
-
12:55 PM Revision 76ea8ecb (git): Supress warning that variable may be used uninitialized with ripper building
-
12:38 PM Revision dd8372b3 (git): cvc table entries can move
-
09:24 AM Feature #19720: Warning for non-linear Regexps
- @matz Given ReDoS are AFAIK the most common (by far) security vulnerability in Ruby, it warrants a reliable way to detect it, fix it and avoid it.
This way seems the best to me.
In fact I think only this approach or something very simi... -
07:27 AM Feature #19776: Warn bundled gems when it called from `require`
- Isn't it time that upstream should start to encourage that every part of the StdLib should be listed in Gemfile? How long it is the URI gem fixing MEDIUM rated CVE was released and who uses it? Who added it into their Gemfile? Who even n...
- 07:00 AM Revision 62cb739b (git): Update bundled gems list at 2023-07-20
07/19/2023
-
11:20 PM Revision 419fbc77 (git): [rubygems/rubygems] Clear `YAML` constant if it was undefined previously
- https://github.com/rubygems/rubygems/commit/31d0311258
-
08:15 PM Revision 84b52741 (git): [ruby/yarp] Resync YARP (#8098)
-
01:31 PM Revision 7380c73a (git): [ruby/reline] Add assertion to auto_indent_proc's parameter, add
- Ctrl-d exit test
(https://github.com/ruby/reline/pull/574)
* Add auto_indent_proc's parameter assertion in multiline_repl
* Add rendering test for Ctrl-d exit
https://github.com/ruby/reline/commit/46db71132a -
01:25 PM Revision ca561480 (git): [ruby/reline] Always set ANSI CSI keybindings for Home, End, and
- Arrow.
(https://github.com/ruby/reline/pull/569)
https://github.com/ruby/reline/commit/f363a43a45 -
10:29 AM Revision ea2fc58d (git): Fix a typo [ci skip]
-
09:03 AM Feature #19351 (Closed): Promote bundled gems at Ruby 3.3
- I filed new issue for warning feature: https://bugs.ruby-lang.org/issues/19776
-
09:02 AM Feature #19776 (Closed): Warn bundled gems when it called from `require`
- We should warn when users try to load default gems that will be promoted bundled gems at next version. We will warn them only under the bundler environment without Gemfile.
* Ruby 3.3:
* Warn for adding bundled gems to be addressed... -
07:12 AM Misc #19772: API naming for YARP compiler
- I don't think "YA-" names nice in general, unless for development code name.
As for `YARP.compile`, "a parser compiles code" sounds strange a little to me.
It might be better that `YARP.parse` will return AST and the AST has `compile... -
07:03 AM Feature #19775 (Closed): Use the callback `main::const_added`
- Since top-level constants are defined under Object, their definition can be hooked by defining `Object.const_added`.
```ruby
def Object.const_added(name)
p name
end
Foo = 1 #=> :Foo
```
-
06:43 AM Feature #19775 (Closed): Use the callback `main::const_added`
- In #17881, it was accepted that `Module#const_added` is called when there is a new constant added to the namespace of the module.
Since `main` can also serve as a namespace, it should also be able to use this callback.
```ruby
def c... -
06:01 AM Feature #19744: Namespace on read
- Thanks for providing your ideas.
tagomoris (Satoshi Tagomori) wrote in #note-10:
> a. Lift up all functions to Ruby level method calls on the `glib2` side, then use them on `gobject-introspection`
It's impossible for the `glib2`... -
05:35 AM Revision 0765b890 (git): Fix `USE_THREAD_CACHE=0`
-
03:42 AM Revision a3a74771 (git): Add a corner case for `return`
-
02:50 AM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
- Thanks Jemma,
I disabled wiki feature of Redmine at last week.
07/18/2023
-
09:52 PM Revision 3211b705 (git): Fix off-by-one in comment [ci skip]
-
08:33 PM Revision 45fd0061 (git): [ruby/reline] Fix [nil] is passed to auto_indent_proc when exit with
- CTRL+d
(https://github.com/ruby/reline/pull/571)
* Fix [nil] is passed to auto_indent_proc when exit with CTRL+d
Fix it https://github.com/ruby/reline/issues/556
* not call auto_indent_proc when Ctrl+d.
see: https://github.com/ruby/r... -
08:31 PM Revision b4003079 (git): [ruby/reline] Add missing `close` to test_rendering.rb
- (https://github.com/ruby/reline/pull/573)
https://github.com/ruby/reline/commit/7cd817036e -
06:52 PM Bug #19774 (Closed): `END {return}` segfaults since in 3.2
- Applied in changeset commit:git|fe4d906f5fbacbe6e9267af3bd3503339bad63a9.
----------
[Bug #19774] Fix segfault at `return` in `END` -
04:26 PM Bug #19774 (Closed): `END {return}` segfaults since in 3.2
- ```
$ ruby3.2 -e 'END{return}'
-e: unexpected return
-e: [BUG] Segmentation fault at 0x0000000000000048
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]
``` -
06:52 PM Revision ecbedf9b (git): Remove assumption about object order
- The address of objects can't be assumed since a later object may be
allocate in a swept slot. -
06:52 PM Revision 4c03eab1 (git): Lazily allocate pages at boot
- We can just set alloctable pages for the first size pool rather than
eagerly allocating pages. -
06:47 PM Misc #19772: API naming for YARP compiler
- I believe YARP.compile() is a bit of a strange name since it is
so specific to YARP.
If possible I would perhaps recommend something like the other
suggestion:
RubyVM::InstructionSequence.compile(yarp: true)
Or perhaps ano... -
10:19 AM Misc #19772: API naming for YARP compiler
- And also option 1. seems very confusing, because it would imply the `YARP` module is always defined, but only has the `compile` method and not `parse`, etc until `require "yarp"`.
-
10:12 AM Misc #19772: API naming for YARP compiler
- FWIW I don't think renaming YARP at this point makes sense, now that the `yarp` gem [is owned](https://rubygems.org/gems/yarp) by @kddnewton and after the [detailed blog post](https://railsatscale.com/2023-06-12-rewriting-the-ruby-parser...
-
06:40 PM Revision fe4d906f (git): [Bug #19774] Fix segfault at `return` in `END`
- 04:53 PM Revision ac7d3402 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.58 to 0.9.79.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.58...v0.9.79)
---
updated-depende... -
03:43 PM Revision 9c94db7c (git): Add tests for `return` in `BEGIN` and `END` blocks
-
03:18 PM Revision d6ad334d (git): [ruby/irb] Reduce boilerplate code in RubyLexTest
- (https://github.com/ruby/irb/pull/644)
* Avoid initialising Row at every test input
* Extract common assertion patterns into methods
* Remove unnecessary PromptRow strcut and boilerplate code
https://github.com/ruby/irb/commit/1ba586... -
03:06 PM Revision d1992d6d (git): Reset signal handler before aborting due to sanitizer
- When aborting by a sanitizer, `SIGILL` or something is raised and
often results in raising the same signal infinitely. -
03:06 PM Revision ebeecbd5 (git): Unify `writev` and `write` operations in `check_reserved_signal_`
-
03:02 PM Revision 19486ebd (git): [flori/json] Re-generate parser.c
- https://github.com/flori/json/commit/82a75ba98e
-
03:02 PM Revision 768668a4 (git): [flori/json] Remove unnecessary code
- In `JSON#generate` and `JSON#fast_generate`:
- When the given `opts` is a `JSON::State` the variable is set to
`nil`.
- But it will be never used as the next `if` blocks will not be
executed.
- `JSON::State#configure` does the conve... -
03:02 PM Revision 104089ce (git): [flori/json] [DOC] Remove duplicate sentence
- https://github.com/flori/json/commit/ed242667b4
-
03:02 PM Revision f1f84ca7 (git): [flori/json] Remove `HAVE_RB_SCAN_ARGS_OPTIONAL_HASH` check
- This macro is defined since ruby 2.1, which is older than the required
ruby version.
https://github.com/flori/json/commit/dd1d54e78a -
01:53 PM Revision 0db58dd0 (git): [ruby/irb] Declare rdoc as dependency
- (https://github.com/ruby/irb/pull/648)
IRB already has several features that rely on rdoc, such as:
- Autocompletion's document dialog
- Autocompletion's `PerfectMatchedProc`
- The `show_doc` command
- Easter egg
And we could use its ... -
12:10 PM Bug #19577: Backport commit 537183cd2ac0163851277b46a2f21ea5914c11c0
- ruby_3_1 2698b68ae86df333ff8bc8c4655f8012ee619257 merged revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0.
- 12:10 PM Revision 2698b68a (git): merge revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0: [Backport #19577]
- Fix write barrier order for `klass` to `cme` edge
Previously, the following crashes with
`CFLAGS=-DRGENGC_CHECK_MODE=2 -DRUBY_DEBUG=1 -fno-inline`:
$ ./miniruby -e 'GC.stress = true; Marshal.dump({})'
... -
12:04 PM Bug #19580: Ensure ruby_xfree won't segfault if called after ruby_vm_destruct
- ruby_3_1 3eea678b069aeec7f3a97437be204f65d5193e00 merged revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d.
- 12:04 PM Revision 3eea678b (git): merge revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d: [Backport #19580]
- Ensure ruby_xfree won't segfault if called after vm_destruct
[Bug #19580]
The real-world scenario motivating this change is libxml2's pthread
code which uses `pthread_key_create` to set up a destructor that is
... -
11:50 AM Bug #19593: Crash due to throw data set as cause
- ruby_3_1 c96ef4eee6b27796bb15ba161ef936998acbcf96 merged revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe.
- 11:50 AM Revision c96ef4ee (git): merge revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe: [Backport #19593]
- Ensure throw data is not set as cause
[Bug #19593]
rb_ec_setup_exception did not check if errinfo is a throw_data. This can
cause crashes in code since it is assumed that id_cause is an object.
We saw a... -
10:23 AM Feature #19755: Module#class_eval and Binding#eval use caller location by default
- > we need to handle `__dir__`
So the way it was handled until now was simply:
```c
if (path == eval_default_path) {
return Qnil;
}
```
So how I'm handling it right now is basically `path.start_with?("(eval at ") && path.en... - 10:23 AM Revision b89b7d8f (git): [DOC] Fix a magic comment in the section for `experimental_copy`
-
07:30 AM Bug #19773 (Closed): Intermittent SIGSEGV during marking of Ripper parser
-
07:29 AM Bug #19773: Intermittent SIGSEGV during marking of Ripper parser
- It looks like 3 of us have independently fixed this issue (in [#8084](https://github.com/ruby/ruby/pull/8084), [#8085](https://github.com/ruby/ruby/pull/8085), and [#8089](https://github.com/ruby/ruby/pull/8089)).
Nobu's fix in 8085 h... -
05:48 AM Feature #19764: Introduce defp keyword for defining overloadable, pattern matched methods
- Going to go through a few points here, sorry for the long reply.
### Taking - A gem implementation
I had hacked this behavior together at one point with `Taking`: https://github.com/baweaver/taking
```ruby
Point = Struct.new(:x... -
02:57 AM Feature #19764: Introduce defp keyword for defining overloadable, pattern matched methods
- zeke (Zeke Gabrielse) wrote:
> ```ruby
> ...
BTW, I found this would be able to extend.
```ruby
def call(...)
in String => s unless s in /foo/
puts "string: #{s.inspect} (not foo)"
in String => s
puts "string: #{s.inspect}"... -
03:25 AM Revision 56c8dab4 (git): [flori/json] Skip BigDecimal tests when it's missing to load
- https://github.com/flori/json/commit/3dd36c6077
-
03:25 AM Revision 9f51810f (git): [flori/json] Skip unsupported test on JRuby
- https://github.com/flori/json/commit/7138bf32c7
- 03:25 AM Revision 9977462f (git): [flori/json] Rename JSON::ParseError to JSON:ParserError
- https://github.com/flori/json/commit/20b80ca317
-
02:55 AM Revision b368990c (git): [ruby/psych] Skip BigDecimal tests when it's missing to load
- https://github.com/ruby/psych/commit/e1dbfae7a6
07/17/2023
-
10:11 PM Bug #19773 (Closed): Intermittent SIGSEGV during marking of Ripper parser
- [Github PR 8089](https://github.com/ruby/ruby/pull/8089)
Intermittent SIGSEGV during marking of the Ripper parser. A failing build [can be seen on ci.rvm.jp (build 4643684)](http://ci.rvm.jp/results/trunk-random2@ruby-sp2-docker/46436... -
06:01 PM Feature #19351: Promote bundled gems at Ruby 3.3
- Yeah, it probably makes sense to mention both possibilities and let the user figure out which one applies to her.
-
09:31 AM Feature #19351: Promote bundled gems at Ruby 3.3
- I think it's best to just mention both possibilities in the warning message.
Detecting this is inherently brittle. -
05:57 PM Revision f302e725 (git): Remove __bp__ and speed-up bmethod calls (#8060)
- Remove rb_control_frame_t::__bp__ and optimize bmethod calls
This commit removes the __bp__ field from rb_control_frame_t. It was
introduced to help MJIT, but since MJIT was replaced by RJIT, we can use
vm_base_ptr() to compute it from ... -
04:09 PM Misc #19772 (Closed): API naming for YARP compiler
- We are working on the YARP compiler, and have [the first PR ready](https://github.com/ruby/ruby/pull/8042) which introduces the YARP compile method. Our only outstanding question before merging it is about naming. How should we expose th...
-
02:57 PM Revision 105bdba8 (git): Fix logarithm of 0 with base
-
02:41 PM Revision d70484f0 (git): YJIT: refactoring to allow for fancier call threshold logic (#8078)
- * YJIT: refactoring to allow for fancier call threshold logic
* Avoid potentially compiling functions multiple times.
* Update vm.c
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
---------
Co-authored-by: Alan Wu <XrXr@user... -
02:20 PM Bug #19771 (Closed): Backport Speed up rebuilding the loaded feature index and realpath cache - 79a4484, abfac22
- * https://github.com/ruby/ruby/commit/79a4484a072e9769b603e7b4fbdb15b1d7eccb15
* https://github.com/ruby/ruby/commit/abfac2222bd51a03ec11b64f4770179cb6d06515
Related backport PR: https://github.com/ruby/ruby/pull/8023 -
12:31 PM Revision 1c4a5230 (git): Move `posix_signal` declaration internal with prefix `ruby_`
-
12:00 PM Bug #19770: TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
- In that case, the hostname is a human readable IP: 192.168.55.11
-
11:07 AM Bug #19770: TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
- The document of `IPAddr#initialize` says:
```
Creates a new ipaddr object either from a human readable IP
address representation in string, or from a packed in_addr value
followed by an address family.
```
and
```
In the fo... -
10:30 AM Bug #19770 (Third Party's Issue): TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
- I dont't use Ruby directly but indirectly via Fluentd-1.16.1 (https://www.fluentd.org/). Fluentd uses Ruby 3.1.4.
The problem is, that a TLS connection from a Fluentd Client to a Fluentd Server fails, if the connection is established ... -
11:44 AM Revision 2476b1ee (git): objspace is not used in parent process [ci skip]
-
10:50 AM Revision f1adc586 (git): Fix up to require objspace
-
10:49 AM Revision b998e6b7 (git): Run `Process.warmup` tests in separate processes
-
09:21 AM Bug #19750: Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
- ruby_3_2 3f6187a94797d3c4a7db00563a885e4e613b51cf merged revision(s) 1bc8838d60ef3fc6812d3b64ed87caaf0ae943d9.
-
09:20 AM Feature #18885 (Closed): End of boot advisory API for RubyVM
- Applied in changeset commit:git|fa30b99c34291cde7b17cc709552bc5681729a12.
----------
Implement Process.warmup
[Feature #18885]
For now, the optimizations performed are:
- Run a major GC
- Compact the heap
- Promote all survivin... -
09:20 AM Revision fa30b99c (git): Implement Process.warmup
- [Feature #18885]
For now, the optimizations performed are:
- Run a major GC
- Compact the heap
- Promote all surviving objects to oldgen
Other optimizations may follow. -
09:04 AM Revision 3f6187a9 (git): merge revision(s) 1bc8838d60ef3fc6812d3b64ed87caaf0ae943d9: [Backport #19750]
- Handle unterminated unicode escapes in regexps
This fixes an infinite loop possible after ec3542229b29ec93062e9d90e877ea29d3c19472.
For \u{} escapes in regexps, skip validation in the parser, and rely on the regexp
... -
08:30 AM Revision aef53162 (git): Fixup be09d77b966c7bcc77957927f16cefe66b365495.
-
08:27 AM Bug #19601: YJIT `try to mark T_NONE object` stemming from object shape transition on `self`
- ruby_3_2 5fbd72764e020c6b165604e9cdcc932a1c5d2a93 merged revision(s) 31e67a476f2262e01a0829e8ab5e6d8a97e0724e,0b95cbcbde8875effdbcbb676cb0a7f751a1d4c1.
-
08:26 AM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
- ruby_3_2 be09d77b966c7bcc77957927f16cefe66b365495 merged revision(s) a8ba1ddd78544b4bda749051d44f7b2a8a0ec5ff.
-
08:23 AM Revision be09d77b (git): merge revision(s) a8ba1ddd78544b4bda749051d44f7b2a8a0ec5ff: [Backport #19455]
- Use UTF-8 encoding for literal extended regexps with UTF-8 characters
in comments
Fixes [Bug #19455]
---
re.c | 9 ++++++++-
test/ruby/test_regexp.rb | 7 +++++++
2 f... -
08:21 AM Revision 5fbd7276 (git): merge revision(s) 31e67a476f2262e01a0829e8ab5e6d8a97e0724e,0b95cbcbde8875effdbcbb676cb0a7f751a1d4c1: [Backport #19601]
- YJIT: Fix false object collection when setting ivar
Previously, setinstancevariable could generate code that calls
`rb_ensure_iv_list_size()` without first updating `cfp->sp`. This means
in the event that a GC st... -
07:44 AM Feature #19744: Namespace on read
- tagomoris (Satoshi Tagomori) wrote in #note-13:
> Naruse suggested me another way to call the C function of different shared objects in different gems (https://twitter.com/nalsh/status/1679060154262913024). I'll take time to understand ... -
07:10 AM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
- ruby_3_2 5328c58c7d00540f4f56749aaeefb68761bd7eba merged revision(s) 1a149aab776aa6741628eb35482eff1ded197fd2,fb17c833f542222afdf482924877d43aa577782d,60f22ebf86248388b41b4ec751d16700f2b4b621.
-
07:09 AM Bug #19593: Crash due to throw data set as cause
- ruby_3_2 5fc9825ccf651664c547b1822c7f753464e27f06 merged revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe.
-
07:09 AM Revision 5fc9825c (git): merge revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe: [Backport #19593]
- Ensure throw data is not set as cause
[Bug #19593]
rb_ec_setup_exception did not check if errinfo is a throw_data. This can
cause crashes in code since it is assumed that id_cause is an object.
We saw a... -
07:07 AM Revision 5328c58c (git): merge revision(s) 1a149aab776aa6741628eb35482eff1ded197fd2,fb17c833f542222afdf482924877d43aa577782d,60f22ebf86248388b41b4ec751d16700f2b4b621: [Backport #19533]
- Extract range type check functions
---
range.c | 55 ++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 36 insertions(+), 19 deletions(-)
[Bug #19533] Fix infinite range inclusion w... -
06:12 AM Bug #19589: Expecting system stack error but crashing
- ruby_3_2 8165db0f4666f90fe0df5cdd466f73c6de1f6cea merged revision(s) 8c360ce713f57d4177de833297364f6f6d950420.
-
06:11 AM Bug #19587: Segmentation fault with ruby 3.2.0 - when running rspec suit.
- ruby_3_2 a7b0d3c9db9afeccf6e0962bb1cdcbea5bf04cae merged revision(s) 0ac3f2c20e50c22d298238f602f25f84248ac7a5.
-
05:21 AM Revision 8165db0f (git): merge revision(s) 8c360ce713f57d4177de833297364f6f6d950420: [Backport #19589]
- hash.c: Fix hash_iter_lev_dec corrupting shape
[Bug #19589]
When decrementing `iter_lev` from `65` to `64` the flags would be
corrupted, causing the shape_id to be invalid.
---
hash.c ... -
05:20 AM Revision a7b0d3c9 (git): merge revision(s) 0ac3f2c20e50c22d298238f602f25f84248ac7a5: [Backport #19587]
- [Bug #19587] Fix `reset_match_cache` arguments
---
regexec.c | 2 +-
test/ruby/test_regexp.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-) -
05:09 AM Revision 0c5d5394 (git): Fixup the latest commits.
-
04:59 AM Bug #19595: YJIT: Crash from missing argc check in known cfuncs
- ruby_3_2 8852b4b2deea20f488208dc4730ef149f67d7594 merged revision(s) 0ce2bdc76dd17aa3d42a352a6244c87a51e7606d.
-
04:59 AM Revision 8852b4b2 (git): merge revision(s) 0ce2bdc76dd17aa3d42a352a6244c87a51e7606d: [Backport #19595]
- YJIT: Fix missing argc check in known cfuncs
Previously we were missing a compile-time check that the known cfuncs
receive the correct number of arguments.
We noticied this because in particular when using ARGS_... -
02:33 AM Bug #19582: Segmentation fault when running the tests for Ruby 3.2.2
- ruby_3_2 9d8d0585ec35070099e4fdeef5ee18f6fbf339b6 merged revision(s) f6adc5be94a9f70a5b9897b81dabdeb49b573393,bccdc041665032b819fab1c04ed4dbdfeeeb366b.
-
02:32 AM Bug #19580: Ensure ruby_xfree won't segfault if called after ruby_vm_destruct
- ruby_3_2 62763658d53a66ad624e1c730742cb3811d18329 merged revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d.
-
02:32 AM Bug #19577: Backport commit 537183cd2ac0163851277b46a2f21ea5914c11c0
- ruby_3_2 98b4ac7287928c202c90e9de1ae02c0707ec68b8 merged revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0.
-
02:32 AM Bug #19575: Crash in Time on 32-bit systems
- ruby_3_2 cb8d656100659eaee44042ca680886c30892df04 merged revision(s) a84c99468f26a9f79fec57926d561ed906505eac.
-
02:32 AM Bug #19550: Memory leak in iclass for 32 bit systems
- ruby_3_2 9fb94407b97bb85ea344e67606f8ae9ba0bdbd48 merged revision(s) 417b1a36447cb2c650de55b433ba623541fb8bb3.
-
12:54 AM Revision 9d8d0585 (git): merge revision(s) f6adc5be94a9f70a5b9897b81dabdeb49b573393,bccdc041665032b819fab1c04ed4dbdfeeeb366b: [Backport #19582]
- Check if Bundler is defined
---
tool/lib/leakchecker.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Check if `Bundler::EnvironmentPreserver` is defined
Only `Bundler` might be defined... -
12:51 AM Revision 62763658 (git): merge revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d: [Backport #19580]
- Ensure ruby_xfree won't segfault if called after vm_destruct
[Bug #19580]
The real-world scenario motivating this change is libxml2's pthread
code which uses `pthread_key_create` to set up a destructor that is
... -
12:50 AM Revision 98b4ac72 (git): merge revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0: [Backport #19577]
- Fix write barrier order for `klass` to `cme` edge
Previously, the following crashes with
`CFLAGS=-DRGENGC_CHECK_MODE=2 -DRUBY_DEBUG=1 -fno-inline`:
$ ./miniruby -e 'GC.stress = true; Marshal.dump({})'
... -
12:45 AM Revision cb8d6561 (git): merge revision(s) a84c99468f26a9f79fec57926d561ed906505eac: [Backport #19575]
- Fix crash in Time on 32-bit systems
[Bug #19575]
struct vtm is packed causing it to have a size that is not aligned on
32-bit systems. When allocating it on the stack, it will have unaligned
addresses wh... -
12:29 AM Revision 9fb94407 (git): merge revision(s) 417b1a36447cb2c650de55b433ba623541fb8bb3: [Backport #19550]
- Fix memory leak for iclass
[Bug #19550]
If !RCLASS_EXT_EMBEDDED (e.g. 32 bit systems) then the rb_classext_t is
allocated throug malloc so it must be freed.
The issue can be seen in the following script...
07/16/2023
-
03:15 PM Revision d3bcff01 (git): Fix a typo [ci skip]
-
02:30 PM Revision 45b14ef5 (git): merge revision(s) 7c9ce38cdb781958c52a89b910ee83d5fea99048:
- Remove duplicated Rust installation
---
.cirrus.yml | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-) -
02:30 PM Revision 6a323c3d (git): merge revision(s) 6f4c8d1dcffe859442d857b4a6b4bcd7537b7797:
- [Cirrus] Run only when YJIT sources change [skip appveyor]
[ci skip] on other CIs.
Our tasks very often reach a concurrency limit on Cirrus-CI, and get
delayed. Submitting new tasks during the delay seems to ma... -
02:28 PM Revision 6feef620 (git): merge revision(s) 4bfa4433830a4e48bc4ca43aef861d213affdd84:
- [Cirrus] Set up cargo environments just once at first
---
.cirrus.yml | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-) -
02:27 PM Revision 35b0f105 (git): merge revision(s) 3a761dcc91fcbed828699fcc38017f14a1a2db65,d2ffd0ad3d225b6b9e121278146eae8500e9f259:
- [Cirrus] Show CPU and memory info
---
.cirrus.yml | 6 ++++++
1 file changed, 6 insertions(+)
[Cirrus] Share configuration using YAML aliases
https://cirrus-ci.org/guide/tips-and-tricks/#sharin... -
02:20 PM Revision e14280fa (git): merge revision(s) bde3b98a6040800e05c9cf448228f094f80b8fed:
- [Cirrus] Make gem download non-verbose
---
.cirrus.yml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-) -
10:27 AM Revision 0a570a00 (git): Fix `#line` directive filename of ripper.c
- Before:
```c
/* First part of user prologue. */
#line 14 "parse.y"
```
After:
```c
/* First part of user prologue. */
#line 14 "ripper.y"
``` -
09:59 AM Revision 88cd1399 (git): merge revision(s) 37513490442322e82961bf6d06c1c86d55cb3830:
- [Cirrus] Cache the bundled gems in advance
---
.cirrus.yml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+) -
09:57 AM Revision bfa04c03 (git): merge revision(s) 72f07f0a5f882e87e305d668587152fa209a0568:
- Reduce concurrency of Cirrus-CI [ci skip]
clang-12 takes 2-3 times longer than gcc-11.
---
.cirrus.yml | 4 ----
1 file changed, 4 deletions(-) -
08:10 AM Bug #19084: Using `IO::Buffer` to change an extended String affects other Strings sharing the same buffer
- ruby_3_2 c911cbd6c3dcc80def61ab48be1815cd910fc91b merged revision(s) bd786e78969f9d4a8699376ceafe10934b6ad533.
-
08:10 AM Bug #19546: IO::Buffer is incorrectly invoking fiber scheduler interface.
- ruby_3_2 5ad2390b551f4a28ea3d4db78c21863489fdd681 merged revision(s) 466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf.
-
08:10 AM Bug #19543: Resizing IO::Buffer to zero bytes fails
- ruby_3_2 c13757ed9ae02a2d03aea91bb852397aa920f3fd merged revision(s) 09295ea796900fb7b05d29e93364090e21598566.
-
07:50 AM Revision c911cbd6 (git): merge revision(s) bd786e78969f9d4a8699376ceafe10934b6ad533: [Backport #19084]
- Fix mutation on shared strings. (#7837)
---
io_buffer.c | 19 ++++++++++++-------
test/ruby/test_io_buffer.rb | 4 ----
2 files changed, 12 insertions(+), 11 deletions(-) -
07:44 AM Revision 5ad2390b (git): merge revision(s) 466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf: [Backport #19546]
- Fix incorrect usage of `rb_fiber_scheduler_io_(p)(read|write)`.
(#7593)
---
io_buffer.c | 8 ++++----
scheduler.c | 48 ++++++++++++++++++++++----------------------
... -
07:42 AM Revision c13757ed (git): merge revision(s) 09295ea796900fb7b05d29e93364090e21598566: [Backport #19543]
- IO::Buffer#resize: Free internal buffer if new size is zero (#7569)
`#resize(0)` on an IO::Buffer with internal buffer allocated will
result in calling `realloc(data->base, 0)`. The behavior of `realloc`
with siz... -
06:41 AM Revision 5c77402d (git): Fix null pointer access in Ripper#initialize
- In `rb_ruby_ripper_parser_allocate`, `r->p` is NULL between creating
`self` and `parser_params` assignment. As GC can happen there, the
typed-data functions for it need to consider the case. -
03:59 AM Bug #19482: Fix crash when allocating classes with newobj hook
- ruby_3_2 141402d11c09fa641eebd8f4841f81e7bbf3518c merged revision(s) e1bd45624c85e8a80991bda20801f50967ac77a1.
-
03:58 AM Revision 141402d1 (git): merge revision(s) e1bd45624c85e8a80991bda20801f50967ac77a1: [Backport #19482]
- Fix crash when allocating classes with newobj hook
We need to zero out the whole slot when running the newobj hook for a
newly allocated class because the slot could be filled with garbage,
which would cause a cr... -
03:52 AM Bug #19483: rubyzip not behaving well with YJIT
- ruby_3_2 293a00e622da077cd6fad2e4055eb15b081fc2a6 merged revision(s) 33edcc112081f96856d52e73253d73c97a5c4a3c,b4e438d8aabaf4bba2b27f374c787543fae07c58.
-
03:52 AM Bug #19463: YJIT `[BUG] Stack consistency error` under certain invalidation scenarios
- ruby_3_2 0ba10fd8508b1a2bf7488649ee90622de9bef04a merged revision(s) 132934b82baad97107fe754d60f9a68a1db7ecda.
-
02:46 AM Revision 44a8e5e6 (git): merge revision(s) 833b32f503abb9712dbb3a6825b1730c8ee1e912,1dde9d726099fc4e4b06b8c848c85eac195c521b:
- also disable yjit for clang < 10
They don't compile. I guess nobody actively maintain such old
compilers. Chances are the situation won't improve. Let's stop
testing yjit on them.
---
.github/... -
02:46 AM Revision b13db31c (git): merge revision(s) fe42d88ad28df395111cfb9f2f67e21910083df1:
- Pass -Werror=lto-type-mismatch for GCC LTO jobs
This helps to find possible LTO miscompilations earlier. See also
https://github.com/ruby/ruby/pull/7695.
---
.github/workflows/compilers.yml | 12 ++++++--... -
02:43 AM Revision 3e664c58 (git): merge revision(s) 27a21ad201b04f9af6c206836b4c7543fb69a1e7:
- give up checking old compilers
These old compilers needed old OSes, which are getting EODed. We
cannot maintain healthy binary of them (building compilers on our
own is quite haed). Let us just retire them. Fi... -
02:36 AM Revision eeb4fc2c (git): merge revision(s) dd7c590f8a4dafbc0d659d07645aea59586b0f70,6a871baa3cd759c0eba361b4937eeca531513a09:
- disable yjit when for non-flonum
YJIT does not interface with this flag.
---
.github/workflows/compilers.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Note that YJIT requires FLONUM ... -
02:25 AM Revision 293a00e6 (git): merge revision(s) 33edcc112081f96856d52e73253d73c97a5c4a3c,b4e438d8aabaf4bba2b27f374c787543fae07c58: [Backport #19483]
- YJIT: Protect strings from GC on String#<< (#7466)
Fix https://github.com/Shopify/yjit/issues/310
[Bug #19483]
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authore... -
02:25 AM Revision 0ba10fd8 (git): merge revision(s) 132934b82baad97107fe754d60f9a68a1db7ecda: [Backport #19463]
- YJIT: Generate Block::entry_exit with block entry PC
Previously, when Block::entry_exit is requested from any instruction
that is not the first one in the block, we generated the exit with an
incorrect PC. We sho... -
01:49 AM Bug #19318: Float#round rounds incorrectly for some cases
- I don't think the fixes for this kind of long standing bugs should not be backported to stable branches.
usa-san, what is your opinion?
07/15/2023
-
06:12 PM Revision be98bfc4 (git): [ruby/irb] Indent multiline percent literals
- (https://github.com/ruby/irb/pull/643)
https://github.com/ruby/irb/commit/18bb4022a9 -
04:24 PM Revision da39936c (git): Prefer integer as base of intermediate logarithms
- As long as "floating point numbers" cannot accurately represent an
irrational number, the result of the natural logarithm cannot be
accurate. Logarithms with an integer base may have the possibility to
represent more accurately. - 03:59 PM Revision baf70c7d (git): Update default gems list at 7ffb995f5e3b6d749adb700e014f80 [ci skip]
-
03:59 PM Revision 7ffb995f (git): [ruby/irb] Bump 1.7.4 (https://github.com/ruby/irb/pull/645)
- https://github.com/ruby/irb/commit/b0f650a766
-
03:39 PM Revision c32b608e (git): Add `--backtrace-limit` option to the man page
-
03:39 PM Revision de68e240 (git): Allow -1 as the value of `--backtrace-limit` option
- -1 is a legitimate backtrace limit — in fact, it’s the default — so it
should be possible to provide it with the `--backtrace-limit` option. -
03:39 PM Revision 125b4461 (git): Test that command line `--backtrace-limit` overrides RUBYOPT
- Co-authored-by: Tom Stuart <hi@tomstu.art>
-
03:39 PM Revision 72a3bb7e (git): Allow `--backtrace-limit` option to appear in RUBYOPT
- There’s no reason to prevent RUBYOPT from controlling the backtrace
limit. In fact, Matz said [0] he was expecting this to be possible.
[0] https://bugs.ruby-lang.org/issues/8661#note-27 -
07:37 AM Bug #19769 (Closed): Range of size 1 in String#tr causes unexpected behavior - Applied in changeset commit:git|e5825de7c9f07e4f7bd2b83ce8973e19a4652916.
----------
[Bug #19769] Fix range of size 1 in `String#tr` - 07:36 AM Revision e5825de7 (git): [Bug #19769] Fix range of size 1 in `String#tr`
- 06:24 AM Revision f15123c3 (git): Fix stack trace for rescued StopIteration
-
03:50 AM Revision 82cd70ef (git): Use functions defined by parser_st.c to reduce dependency on st.c
-
02:56 AM Feature #19714: Add Refinement#refined_module
- Eregon (Benoit Daloze) wrote in #note-6:
> Make obsolete = deprecate it, right? (sounds OK)
I mean to add a warning in 3.3 and remove refined_class in 3.4:
https://github.com/ruby/ruby/pull/8075/files