Activity
From 11/26/2022 to 12/02/2022
12/02/2022
-
11:53 PM Revision 59e389af (git): UnboundMethod only refer defined_class
- UnboundMethod records caller's class, like `D` or `E` on the
following case:
```ruby
class C
def foo = :foo
end
class D < C
end
class E < C
end
d = D.instance_method(:foo)
e = E.instance_method(:foo)
```
But `d` and `e` only refer... -
11:44 PM Bug #19173: syntax_suggest segfaults on syntax error when refinement activated
- @schneems This seems to be less about syntax suggest than refinements. @tenderlovemaking already has a PR up that should fix it: https://github.com/ruby/ruby/pull/6853
-
10:14 PM Bug #19173: syntax_suggest segfaults on syntax error when refinement activated
- Line 25 is the require which seems odd https://github.com/ruby/ruby/blob/85a1c67a6550641e5de96cdbee1713be3f1e8882/lib/syntax_suggest/core_ext.rb#L25
I’ll try to reproduce when I get back to my computer. -
12:44 PM Bug #19173 (Closed): syntax_suggest segfaults on syntax error when refinement activated
- While reporting certain syntax errors (e.g. “Invalid yield”, “Invalid redo”), `syntax_suggest` segfaults when a refinement is activated:
```
% echo 'yield' > test.rb; ruby test.rb
test.rb:1: Invalid yield
test.rb: compile error (Sy... -
10:43 PM Feature #18980: `it` as a default block parameter
- Or `_$`:
```Ruby
[1, 2, 3].map { puts _$ }
```
```
[1, 2, 3].map { puts _$ }
```
Or even just `$` by itself:
```Ruby
[1, 2, 3].map { puts $ }
```
```
[1, 2, 3].map { puts $ }
```
In my opinion $ is underutilised in Ruby compared to o... - 10:00 PM Revision 7161bf34 (git): [ruby/irb] Require pathname in test helper
- (https://github.com/ruby/irb/pull/467)
https://github.com/ruby/irb/commit/39c6924c12 -
09:26 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
- I'm not against this feature, but I'm not sure if it has a valid use case.
I like the idea of using break as a semantic for making a fiber exit in a similar way to a method call, etc.
`Fiber#raise` is currently used for cancellatio... -
08:57 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
- This should be closed, in favor of a (TBD) structured concurrency system, built on `Fiber.current.storage` (#19078) and/or FiberScheduler. :)
-
08:53 PM Revision 41bacd9b (git): Remove unused rb_shape_flag_shift and rb_shape_flag_mask
-
08:53 PM Revision ebd4c7bb (git): Fixed yjit bindings rb_gc_write_barrier
-
08:53 PM Revision 4c5e8979 (git): Extracted rb_shape_id_offset
- 08:53 PM Revision 606653e4 (git): Update yjit/src/codegen.rs
-
08:53 PM Revision be40af28 (git): make flag clearing better
-
08:53 PM Revision 07fe3d37 (git): only generate wb when we really need to
-
08:53 PM Revision 744b0527 (git): bail on compilation if the comptime receiver is frozen
-
08:53 PM Revision 7b5ee9a8 (git): do not fire the wb when writing immediates
-
08:53 PM Revision 17f9bcd7 (git): implement IV writes
- 08:43 PM Revision 69fd673b (git): [ruby/irb] Disable debug cmd tests based on project structure
- instead of env
(https://github.com/ruby/irb/pull/466)
It's hard to find an env var that's universally set in all Ruby CI
environments but not in local. Checking gemspec seems to be a better way
as `syntax_suggest` already uses it for a ... -
08:33 PM Revision e9e624b7 (git): YJIT: check that we correctly auto-enable YJIT on Linux (#6854)
- * YJIT: check that we correctly auto-enable YJIT on Linux
YJIT should be automatically built on Linux x86-64 when
rustc is present, and we should see +YJIT in the version string.
* Use miniruby rather than system ruby - 07:21 PM Revision 82b86b4c (git): [rubygems/rubygems] Delete partial file and re-raise on Errno::ENOSPC.
- Add test for not leaving empty files if ENOSPC is raised during 'gem install'
https://github.com/rubygems/rubygems/commit/8e0e20f079 -
06:49 PM Revision 5fafff15 (git): Do not run drb SSL tests on Windows
- These tests often cause a timeout and this issue seems specific to the
Windows platforms.
https://github.com/ruby/ruby/actions/runs/3603761925/jobs/6072346738 -
06:26 PM Revision 7b38853b (git): Skip another flaky Ractor test for YJIT
-
06:18 PM Revision 85f041c0 (git): Skip a couple of Ractor tests
- Koichi plans to rework Ractor implementation to address these failures.
He agreed to skip flaky Ractor tests for now. -
05:44 PM Bug #19174 (Closed): YJIT configure "checking whether rustc works for YJIT... no" in rustc 1.65.0 on x86_64
- Applied in changeset commit:git|1015e69d37b8e75145a3d21e4bd54fa538d1fa68.
----------
YJIT: echo "\n" is not portable
It's unspecified by POSIX. zsh and dash give a newline and
bash doesn't substitute it. Attributes don't have to be
fol... -
04:33 PM Bug #19174: YJIT configure "checking whether rustc works for YJIT... no" in rustc 1.65.0 on x86_64
- That check is intended for automatically enabling YJIT when we can find a suitable rustc.
When we get --enable-yjit explicitly we listen to that and don't use the result of the check, which is what you're seeing. So it's fine.
That s... -
02:45 PM Bug #19174 (Closed): YJIT configure "checking whether rustc works for YJIT... no" in rustc 1.65.0 on x86_64
- On the latest master branch `11871e49c4fe493d6b958046969bc863f7fb6627` on Fedora 36,
```
$ uname -m
x86_64
$ which rustc
/bin/rustc
$ rustc --version
rustc 1.65.0 (Fedora 1.65.0-1.fc37)
```
I am seeing the "checking whet... -
05:24 PM Revision 1015e69d (git): YJIT: echo "\n" is not portable
- It's unspecified by POSIX. zsh and dash give a newline and
bash doesn't substitute it. Attributes don't have to be
followed by a newline anyway, so just remove it.
[Bug #19174] - 05:23 PM Revision ed1e0c2d (git): Update bundled gems list at 6f3c8fdab46872ccece3bf512adac9 [ci skip]
-
05:23 PM Revision 6f3c8fda (git): debug.gem v1.7.0
-
05:05 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- Thanks for the discussion and the name suggestion. I updated the PR https://github.com/ruby/ruby/pull/6766 to use `Data#with`. I would be grateful if it could get a review.
However, that raises a question: How should `Data#with` behav... -
03:13 AM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- Discussed at the dev meeting.
Regarding method names, @matz likes `Data#update`. However, @ko1 objects because "update" is used as a destructive vocabulary in `Hash#update`. @matz said Data#with` is acceptable; Data#dup` is not accept... -
02:54 AM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- RubyBugs (A Nonymous) wrote in #note-21:
> How is this?
Thanks for the update.
Now I have a question. Do you really want to write `p.with(field => p.send(field) + delta)`? I don't think it is very elegant. It is not very convincin... -
05:03 PM Revision a5dde619 (git): Fix up "Avoid bash specific variable substitution"
- Keep `target_alias` empty if it is set to empty. If it is set to non
empty, `os_version_style_transform` is not used. -
05:03 PM Revision c2671fa0 (git): downloader.rb: Select less components path
-
04:58 PM Bug #19175 (Closed): Ripper does not recognize some pattern matching defining local variable
- Ripepr does not recognize hshptn and aryptn splat defining local variables.
~~~ruby
Ripper.sexp('a in [*x]; x')
# =>
[:program,
[[:case, [:vcall, [:@ident, "a", [1, 0]]], [:in, [:aryptn, nil, nil, [:var_field, [:@ident, "x", [1, 7]... -
04:40 PM Revision eb2b717a (git): YJIT: Make case-when optimization respect === redefinition (#6846)
- * YJIT: Make case-when optimization respect === redefinition
Even when a fixnum key is in the dispatch hash, if there is a case such
that its basic operations for === is redefined, we need to fall back to
checking each case like the int... -
04:32 PM Revision fa77bcf7 (git): YJIT: Change the default --yjit-call-threshold to 30 (#6850)
-
04:28 PM Revision e558c374 (git): downloader.rb: Fix link to absolute cache path
-
04:23 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- @Dan0042 (Daniel DeLorme) wrote in #note-21:
> What about when we want per-ractor storage... a fourth type?
FWIW, `Ractor#[]` has existed since 3.0: https://docs.ruby-lang.org/en/3.0/Ractor.html#method-i-5B-5D :)
> ...
In my opini... -
03:00 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- I'm also a bit late to this. While I do have some nitpicks, I'll leave them for another ticket (if I ever get around to it). But, to answer a couple of @Dan0042's questions (and maybe others):
As mentioned by @eregon above, one of ... -
09:34 AM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- I made a compatibility shim for older Rubies. It's not 100% perfect, but it's close enough to be useful.
https://github.com/ioquatix/fiber-storage -
02:46 PM Revision f28e79ca (git): Use consistent style [ci skip]
-
02:46 PM Revision bb0ec7df (git): Wait killed threads
-
02:45 PM Revision eb678535 (git): Avoid bash specific variable substitution
- It may cause parse errors in some other sh even in never executed
parts. -
12:56 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- I hope I summarized it correctly: https://gitlab.com/gitlab-org/ruby/gems/prometheus-client-mmap/-/issues/39
I'm not sure if your and my test case crash for precisely the same reason. If they do, then I am missing how unmap fits into ... -
12:32 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Thanks for sharing this; I still don't think this is related to the memory map going away. Not exclusively anyway. My original test case does not close or unmap the counter file, but it still crashes. The counter is still in scope when w...
-
11:31 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- And to confirm, `FastMmappedFile` does unmap when it's GCed too:
```ruby
static void mm_free(mm_ipc *i_mm) {
if (i_mm->t->path) {
if (munmap(i_mm->t->addr, i_mm->t->len) != 0) {
```
So yeah, can happen either way. -
11:26 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Here's the repro:
```ruby
require 'prometheus'
require 'prometheus/client'
File.write("/tmp/mmap.txt", "a" * 100)
file = FastMmapedFile.new("/tmp/mmap.txt")
str = file.slice(0, 100)
p str
file.munmap
p str
```
So yeah it... -
11:13 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- > calls into new_str0, which when the string is large enough, will be malloc'ed by MRI, correct?
No. It calls `rb_str_new("", 0)` which means it's always an empty String, so it only allocates an Object slot.
It then never increase... -
09:54 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- @byroot I wonder if you could help me understand the underlying issue better. I found a minimal, executable test case that reproduces this issue reliably:
```ruby
Prometheus::Client::MmapedValue.new(:counter, :counter, 'ordered_count... -
11:51 AM Bug #19012: BasicSocket#recv* methods return an empty packet instead of nil on closed connections
- Apparently we can get this via `getsockopt(fd, SOL_SOCKET, SO_TYPE, &type, &length);`, the question being how portable it is.
-
11:46 AM Bug #19012: BasicSocket#recv* methods return an empty packet instead of nil on closed connections
- > I am not sure if there is a portable way to determine if the file descriptor behind an IO object is stream or datagram.
Yeah, me neither. I'll try to dig more. -
02:15 AM Bug #19012: BasicSocket#recv* methods return an empty packet instead of nil on closed connections
- This is what @akr said at the dev meeting. (My understanding)
> The proposed behavior might be possible for stream. On the other hand, for datagram, the current behavior is better. I am not sure if there is a portable way to determine... -
10:47 AM Revision 11871e49 (git): [ruby/reline] Fix misuse of kwarg in IO#raw
- - Obviously, `tim` is a typo for `time`
- This didn't cause an exception because IO#raw is implemented in C and it doesn't check the keyword of the parameters
- Though this typo doesn't produce any problems for now, I think it should be ... -
10:33 AM Revision 21ed929e (git): [ruby/io-console] Omit on JRuby
- https://github.com/ruby/io-console/commit/9122c181eb
-
10:33 AM Revision 678bcfca (git): [ruby/io-console] Check rawmode option names strictly
- https://github.com/ruby/io-console/commit/aa8fc7e947
-
09:14 AM Bug #19172 (Open): `ruby_thread_has_gvl_p` is innacurate sometimes -- document or change?
- Howdy 👋! I work for Datadog [on the ddtrace gem](https://github.com/DataDog/dd-trace-rb) and I found a... sharp edge on the internal `ruby_thread_has_gvl_p` API.
I am aware that `ruby_thread_has_gvl_p` is documented an experimental AP... -
08:54 AM Feature #6047 (Closed): read_all: Grow buffer exponentially in generic case - Applied in changeset commit:git|7390eb43fe1bfb069af80ba8f73f7dc4999df0fd.
----------
io.c (read_all): grow the buffer exponentially when size is unknown
[Feature #6047]
Currently it's grown by `BUFSIZ` (1024) on every iteration which ... -
08:53 AM Revision 7390eb43 (git): io.c (read_all): grow the buffer exponentially when size is unknown
- [Feature #6047]
Currently it's grown by `BUFSIZ` (1024) on every iteration which is bit wasteful.
Instead we can double the capacity whenever there is less than `BUFSIZ` capacity
left. -
08:24 AM Bug #19169: Kernel#freeze doesn't propagate to singleton class when the singleton class has prepended modules
- I ran it against older rubies, and it seems like it has been behaving like this since `prepend` was introduced.
It seem to work on TruffleRuby, but not JRuby. -
07:59 AM Feature #19171 (Closed): Update Unicode data to Unicode Version 15.1
- 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, 202...
-
07:56 AM Revision 07ac7077 (git): MJIT: Use install = true for bundler/inline
- It prints a `bundle install`-like output, which seems more useful than
a silent output. -
07:41 AM Revision f01bfa8a (git): [ruby/irb] This doesn't work on RubyCI either
- http://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20221202T063302Z.fail.html.gz
http://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20221202T053006Z.fail.html.gz
http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/lo... -
07:22 AM Revision b3890670 (git): Fix a link [ci skip]
-
07:22 AM Revision 6930a256 (git): NEWS.md: sort [ci skip]
-
07:20 AM Revision ad4eab1a (git): Wait killed thread
- 04:49 AM Revision 4fa47eab (git): Clarify the storage argument. (#6849)
- * Slightly more consistent indentation with other parts of the document.
-
04:43 AM Revision 7e3b42d0 (git): [ruby/irb] Skip debug command tests on ruby/ruby
- Stan has said these tests could be excluded if they don't work on
ruby/ruby CI.
https://github.com/ruby/irb/commit/11e779ecb7 -
04:12 AM Revision bc3ac867 (git): [rubygems/rubygems] require bundler/setup only when Bundler is not defined
- ... to prevent "circular require" when `--disable-gems` is used.
This is a simplified case of https://github.com/ruby/ruby/commit/e5a0abc5dedfd011986b16e8f8cf5cda476984c9
```
$ bundle exec ruby -we 'system("ruby", "-w", "--disable-gems... -
03:16 AM Misc #19170 (Closed): DevMeeting-2022-12-15
- # The next dev meeting
**Date: 2022/12/15 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-12-15.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu... -
03:16 AM Misc #19074 (Closed): DevMeeting-2022-12-01 (postponed from 11-17)
-
03:14 AM Revision b6c66ead (git): [ruby/irb] Use the proper ruby command and library path
- https://github.com/ruby/irb/commit/1416cc1871
-
02:33 AM Feature #19117: Include the method owner in backtraces, not just the method name
- Discussed at the dev meeting. @matz was basically positive for this proposal. But there is still much to discuss and experiment, so it was decided to discuss for Ruby 3.3.
* How much impact does exception generation have on performanc... -
01:34 AM Revision d55d1a73 (git): Skip examples for SyntaxError extensions on Ruby 3.2
- 01:05 AM Revision 8abf9e6a (git): [ruby/irb] Test debug commands without yamatanooroti
- (https://github.com/ruby/irb/pull/464)
* Add debug command tests that don't require yamatanooroti
* Remove debug command related yamatanooroti tests
As discussed in https://github.com/ruby/irb/pull/449#pullrequestreview-1187255149,
we... -
12:36 AM Revision 85a1c67a (git): [ruby/syntax_suggest] Add temp support for 3.2.0-preview{3,2,1}
- This SyntaxError#path feature only exists in Ruby HEAD. Until it is released in a preview I want to continue to support existing releases of 3.2.0 (and also so CI will continue to work, as it still uses a preview version to execute tests...
-
12:36 AM Revision 652e2d8f (git): [ruby/syntax_suggest] No longer need PathnameFromMessage with SyntaxError#path.
- https://bugs.ruby-lang.org/issues/19138
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/syntax_suggest/commit/8e1e7b3298 -
12:31 AM Revision def258e7 (git): Improve packing of iseq_constant_body struct
- By moving the two bools into a packing gap above the mark_bits
pointer/union we can save 8 bytes in the struct and avoid an extra cache
line (328 bytes vs 320 bytes).
Co-authored-by: Adam Hess <HParker@github.com> -
12:13 AM Revision dcbea767 (git): YJIT: Respect destination num_bits on STUR (#6848)
12/01/2022
-
11:46 PM Bug #19169 (Closed): Kernel#freeze doesn't propagate to singleton class when the singleton class has prepended modules
- ```ruby
a = []
singleton = a.singleton_class
a.freeze
p singleton.frozen? # => true
a = []
singleton = a.singleton_class.tap { |klass| klass.prepend(Module.new) }
a.freeze
p singleton.frozen? # => false
```
It's because of ... -
11:37 PM Revision 8ffa8fc1 (git): Relax the timeout of a YAML test
- https://cirrus-ci.com/task/4752663775019008
-
11:37 PM Revision f0cf70c8 (git): Add a macro for SHAPE_DEBUG
- Like before, default to VM_CHECK_MODE > 0, but this allows just enabling
shape debug helpers without the rest of VM_CHECK_MODE. -
11:37 PM Revision da204d2e (git): Inherit max_iv_count from superclass
- In 274870bd5434ab64ac3a3c9db9aa27d262c1d6d6 we gained the ability to
make an educated guess at the max_iv_count of a class based on its
initialize method. This commit makes subclasses inherit their super's
max_iv_count, which makes the e... -
11:17 PM Revision 171e94bd (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTPHeader
- (https://github.com/ruby/net-http/pull/83)
https://github.com/ruby/net-http/commit/1ea5004098 -
10:43 PM Bug #19166 (Closed): Module#remove_method can change frozen modules when there is a prepended module - Applied in changeset commit:git|3d272b0fc822f5c2e9c716377b7fcecf15426b27.
----------
Module#remove_method: Check frozen on the right object
Previously, the frozen check happened on `RCLASS_ORIGIN(self)`, which
can return an iclass. The... -
04:56 PM Bug #19166 (Closed): Module#remove_method can change frozen modules when there is a prepended module
- ```ruby
module A
prepend Module.new # remove this line and you'd get FrozenError as expected
def foo; end
freeze
remove_method :foo # remove works even though module is frozen!
p instance_methods(false) # => []
end
```
... -
10:43 PM Bug #19164 (Closed): [3.2.0dev] Freezing an object can prevent removing methods on its class - Applied in changeset commit:git|3d272b0fc822f5c2e9c716377b7fcecf15426b27.
----------
Module#remove_method: Check frozen on the right object
Previously, the frozen check happened on `RCLASS_ORIGIN(self)`, which
can return an iclass. The... -
08:09 AM Bug #19164 (Closed): [3.2.0dev] Freezing an object can prevent removing methods on its class
- The following snippet showcase the bug. It passes on 3.1 and older, but fails on 3.2.0
```ruby
klass = Class.new
klass.prepend(Module.new)
klass.new.freeze
klass.define_method(:bar) {} # works
klass.remove_method(:bar) # raise ... - 10:32 PM Revision 3d272b0f (git): Module#remove_method: Check frozen on the right object
- Previously, the frozen check happened on `RCLASS_ORIGIN(self)`, which
can return an iclass. The frozen check is supposed to respond to objects
that users can call methods on while iclasses are hidden from users.
Other mutation methods li... -
10:06 PM Bug #19165: Method (with no param) delegation with *, **, and ... is slow
- How many allocations is it with `...` when not using forwardable but just delegation with `(...)`? I'd think 1 Array + 1 Hash.
-
08:55 AM Bug #19165: Method (with no param) delegation with *, **, and ... is slow
- FYI for confirming "five Array objects and two Hash objects" that I wrote above, I used ko1's allocation_tracer as follows:
```
require 'allocation_tracer'
ObjectSpace::AllocationTracer.setup([:type])
o.foo_with_triple_dots
pp O... -
08:49 AM Bug #19165 (Open): Method (with no param) delegation with *, **, and ... is slow
- I found that method delegation via Forwardable is much slower than normal method call when delegating a method that does not take parameters.
Here's a benchmark that explains what I mean.
```
require 'forwardable'
require 'pp'
r... -
10:03 PM Bug #19168 (Closed): "such file" is bad grammar
- The error message for a missing required file has bad grammar:
$ irb
irb(main):001:0> require 'wuxx'
<internal:/opt/local/lib/ruby3.1/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- wuxx (Load... -
06:10 PM Bug #19167 (Closed): Object#inspect does not correctly show NilClass TrueClass and FalseClass stored in instance variables
~~~ruby
Object.new.instance_eval do
@a = nil
@b = NilClass
@c = true
@d = TrueClass
@e = [nil, NilClass, true, TrueClass]
puts self.inspect
end
# actual
# => #<Object:0x2f15e3c8 @a=nil, @b=nil, @c=true, @d=true, @...-
05:55 PM Bug #19145: TestException#test_exception_in_message timeouts
- Thx for the fix. With commit:git|0436f1e15a, I don't observe the timeout anymore.
-
05:51 PM Bug #19147: `TestFileExhaustive#test_expand_path_for_existent_username` and `TestDir#test_home` fails on i686
- Interestingly, testing with commit:git|0436f1e15a, there are now additional spec failures which appears to be the same issue:
~~~
1)
File.expand_path expands ~ENV['USER'] to the user's home directory ERROR
RuntimeError: can't set l... -
05:19 PM Bug #19079: Modules included in a DelegateClass cannot override delegate methods
- This issue occurred for a private module in Rails: https://github.com/rails/rails/pull/46189#discussion_r991440668.
Using `include` in a subclass works. Using `prepend` also works, and is the workaround I used for the Rails module.
... -
02:57 PM Bug #19079: Modules included in a DelegateClass cannot override delegate methods
- you can also try prepend instead of include:
```ruby
WithHelper = DelegateClass(Base) { prepend Helper }
``` -
12:38 PM Bug #19079: Modules included in a DelegateClass cannot override delegate methods
- If you want to include a module to a delegated class, try the following:
```ruby
class WithHelper<DelegateClass(Base)
include Helper
end
```
Matz.
-
05:11 AM Bug #19079 (Rejected): Modules included in a DelegateClass cannot override delegate methods
- The `DelegateClass` defines an anonymous class and defines forwarding methods to the class. The reported (so-called) issue is a natural consequence of the above behavior. `include` add methods defined in a module **above** the current c...
-
04:50 PM Revision 9da2a520 (git): [Bug #19087] Merge to "trailing garbage" case
-
04:47 PM Revision c94cd853 (git): [Bug #19087] Fix an assertion of `String#to_c`
-
04:35 PM Bug #19087 (Closed): String#to_c supports multiple "_"
- Applied in changeset commit:git|c0dc717c45fc3abc64a337c3481bc4555b675d87.
----------
[Bug #19087] Disallow successive underscores in Complex string -
04:35 PM Revision c0dc717c (git): [Bug #19087] Disallow successive underscores in Complex string
-
04:31 PM Revision 914cf26d (git): parenthesize to macro
-
04:31 PM Revision 1a64d45c (git): Introduce encoding check macro
-
04:30 PM Revision 7bc63d6f (git): Introduce argf_encoding function
-
04:19 PM Revision 040e0c8d (git): Reuse NIL_OR_UNDEF_P macro
-
04:00 PM Feature #19163 (Closed): Data object should be frozen
- Applied in changeset commit:git|a14a1a5626a4d8e661a3e606f8f92b8c455b9a04.
----------
[Feature #19163] Data object should be frozen -
09:01 AM Feature #19163: Data object should be frozen
- https://github.com/ruby/ruby/pull/6843
-
08:06 AM Feature #19163 (Closed): Data object should be frozen
- If we call `initialize` (via `send`), we can rewrite an existing `Data` object.
```ruby
d=Data.define(:a, :b).new(1,2)
p d #=> #<data a=1, b=2>
d.send(:initialize, {a:3,b:4})
p d #=> #<data a=3, b=4>
```
Should we freeze the `... -
03:59 PM Revision 2c939458 (git): YJIT: Reorder branches for Fixnum opt_case_dispatch (#6841)
- * YJIT: Reorder branches for Fixnum opt_case_dispatch
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
* YJIT: Don't support too large values
Co-autho... -
03:56 PM Revision 5872fd6f (git): [Feature #19163] Marshal-loaded Data object also should be frozen
-
03:56 PM Revision a14a1a56 (git): [Feature #19163] Data object should be frozen
-
03:53 PM Revision 06a0c580 (git): YJIT: fix 32 and 16 bit register store (#6840)
- * Fix 32 and 16 bit register store in YJIT
Co-Authored-By: Takashi Kokubun <takashikkbn@gmail.com>
* Remove an unnecessary diff
* Reuse an rm_num_bits result
* Use u16::MAX instead
* Update the link
Co-authored-by: Alan Wu <XrXr@us... -
03:00 PM Bug #19143: Windows - bundled extension gems compile, but don't copy *.so files to lib folder
- @nobu
Yes, I agree, it might be very helpful when one has more than one platform installed and uses `--user-install`. As in `Gem.install_extension_in_lib`, also [Gem::Ext::ExtConfBuilder](https://github.com/ruby/ruby/blob/master/lib/r... -
06:27 AM Bug #19143: Windows - bundled extension gems compile, but don't copy *.so files to lib folder
- It is intended.
`*.so` files are architecture-dependent, which are "tainted" in other words, while `lib` directories are architecture-independent, "untainted".
"Tainted" files should not infect "untainted" directories. -
02:01 PM Revision 01790de9 (git): Fix indents in NEWS [ci skip]
- The MarkDown parser in RDoc requires 4 columns indentation for
paragraphs following list items. Otherwise, the following paragraphs
are not interpreted as the part of the preceeding list item, -
12:40 PM Bug #19047: DelegateClass displays "method redefined" warning when overriding methods
- For example, the example in #19079 does not give warning for overwriting the method `foo`.
Matz.
-
08:52 AM Bug #19047: DelegateClass displays "method redefined" warning when overriding methods
- > we missed the warnings from DelegateClass misuse
Do you have a reference to that? -
05:15 AM Bug #19047: DelegateClass displays "method redefined" warning when overriding methods
- Sorry, but by this change, we missed the warnings from DelegateClass misuse. We will revert this change.
Matz.
-
10:05 AM Feature #19078 (Closed): Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- It was merged.
-
08:44 AM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- Thanks so much for your time and discussion @matz et al.
-
04:59 AM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- This proposal contains 4 features:
(1) fiber[key]/fiber[key]=val - accepted.
(2) fiber.storage => hash - accepted
(3) fiber.storage=hash - should be experimental
(4) Fiber.new(...,storage: hash|true|false|nil) - accepted, but true/... - 10:00 AM Revision 0436f1e1 (git): Introduce `Fiber#storage` for inheritable fiber-scoped variables. (#6612)
-
08:51 AM Feature #19107: Allow trailing comma in method signature
- > Is there an actual case where this proposal is convenient?
Yes, when replacing old APIs that took an "option hash" by explicit keyword arguments, it tend to create very large signature.
The last example I have in mind is `redis-c... -
07:46 AM Feature #19107: Allow trailing comma in method signature
- I don't care for consistency here (since formal arguments and actual arguments are different).
I am not sure for convenience. Compare to actual arguments, there's less chance to rewrite/update formal arguments.
Is there an actual case ... -
08:38 AM Bug #19108 (Closed): Format routines like pack blindly treat a string as ASCII-encoded
- Applied in changeset commit:git|9869bd1d612b489df806cf95bcb56965a02424e0.
----------
[Bug #19108] Check for the encoding of pack/unpack format -
08:15 AM Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
- Template strings should be ASCII compatible, exceptions otherwise.
Matz.
-
08:38 AM Revision 9869bd1d (git): [Bug #19108] Check for the encoding of pack/unpack format
-
08:33 AM Feature #19036: Provide a way to set path for File instances created with for_fd
- LGTM.
Matz.
-
07:34 AM Feature #19036: Provide a way to set path for File instances created with for_fd
- Ruby IO is a rich object and has an internal path. It seems reasonable that `IO.new` or `IO.for_fd` can set it. I don't think this is something specific to `File` in the way Ruby thinks about IO.
-
08:25 AM Bug #19150: pack/unpack silently ignores unknown directives
- For 3.2 unknown directives always warn; for 3.3 they raise exceptions.
Matz.
-
08:08 AM Bug #19003 (Rejected): TracePoint behavior inconsistency in 3.2.0-preview2
-
08:08 AM Bug #19003: TracePoint behavior inconsistency in 3.2.0-preview2
- Sorry for late.
We left this issue as an implementation details and the current behavior will be shipped with Ruby 3.2. Sorry for inconvenient for your purpose.
The reason is to implement the proposed behavior strictly needs a much wor... -
08:08 AM Revision a1d341ef (git): [ruby/delegate] Revert "Fix `DelegateClass` block "method redefined" warning"
- https://github.com/ruby/delegate/commit/2a91436284
-
08:06 AM Feature #19138 (Closed): `SyntaxError#path` for syntax_suggest
- Applied in changeset commit:git|4e68b594314760611d0926c3de70a4cad26802cd.
----------
[Feature #19138] Add `SyntaxError#path` -
08:05 AM Feature #19138: `SyntaxError#path` for syntax_suggest
- Sounds reasonable.
Matz.
-
08:05 AM Revision 4e68b594 (git): [Feature #19138] Add `SyntaxError#path`
-
07:38 AM Feature #18951: Object#with to set and restore attributes around a block
- Thank you Matz.
If it's not desired in ruby-core, I can add it to Active Support, that's no problem. -
07:36 AM Feature #18951: Object#with to set and restore attributes around a block
- * `with_attr` is better than plain `with`
* this method can be useful for some cases, but I am not sure if it should be a method of Object class
* maybe it should be a utility method in a gem (e.g. `save_current_attr(obj, **kw) {....}`... -
06:41 AM Feature #18980: `it` as a default block parameter
- How about `_@`? It's your friendly neighborhood local-instance variable. I'm half joking but it is a local variable that refers to instances.
It's nice and illegal:
```ruby
[1, 2, 3].each { puts _@ }
```
Looks better when it's n... -
05:49 AM Bug #18751: Regression on master for Method#== when comparing public with private method
- This should be fixed by #18798 which is accepted.
Matz.
-
05:48 AM Feature #18798: `UnboundMethod#==` with inherited classes
- LGTM.
Matz.
-
03:09 AM Feature #13721 (Rejected): [PATCH] net/imap: dedupe attr keys in Net::IMAP::FetchData
- Rejected because [Feature #13725] was reverted and not fixed yet.
-
02:13 AM Misc #19162 (Closed): [ANN] Restrict weak ssh public key for git.ruby-lang.org
- We continuously migrate our ssh public keys on git.ruby-lang.org from svn and cvs.
I found some of pub keys used weak algorithm. So, I will restrict them at 15 Dec 2022.
I'll notify committers who are still use weak key later.
11/30/2022
-
11:47 PM Bug #19159: ObjectSpace segfaults
- Just confirmed the fix. Thank you for the quick fix, @mame !
-
10:40 PM Bug #19159: ObjectSpace segfaults
- I confirmed to work with https://github.com/ruby/ruby/pull/6836
-
07:09 PM Bug #19159 (Closed): ObjectSpace segfaults
- Applied in changeset commit:git|ab4c7077cc44cd6725625562b7380a44cf462190.
----------
Prevent segfault in String#scan with ObjectSpace.each_object
Calling `String#scan` without a block creates an incomplete MatchData
object whose `RMATC... -
04:36 PM Bug #19159: ObjectSpace segfaults
- https://github.com/ruby/ruby/pull/6836
An incomplete MatchData object was created during `String#scan` (which is called for Gem::Version, not error_highlight :-). -
05:06 AM Bug #19159: ObjectSpace segfaults
- `--disable-error_highlight` did not help when I execute it with Ruby 3.2.0dev.
``` ruby
$ rbenv install 3.2.0-dev
$ rbenv global 3.2.0-dev
$ ruby -v
ruby 3.2.0dev (2022-11-30T04:52:33Z master 9a84971315) [x86_64-linux]
```
`... -
04:53 AM Bug #19159: ObjectSpace segfaults
- I could reproduce this. And It resolve with `--disable-error_highlight`. (Thanks for investigating @yahonda )
-
09:27 PM Revision 5752d11f (git): Use RTEST and add test for GH-6832
- Technically we shouldn't see Qfalse now, but RTEST also compiles down to
just one branch anyways. Pretty contrived issue, but easy to fix. -
09:27 PM Revision 4b9d10b8 (git): struct.c (struct_ivar_get): add conditional for potential Qnil returned by rb_class_superclass
- struct_ivar_get recently started using rb_class_superclass to
resolve super instead of RCLASS_SUPER. This change made
Qnil a possible case we need to return from within the
struct_ivar_get for loop. -
09:16 PM Revision 0d3fc08f (git): YJIT: Optimize rb_int_equal (#6838)
-
07:58 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- For comparison, you can plug in the following example code for a faster implementation of `#with` and it should work the same:
```ruby
Point = Data.define(:x, :y) do
# Example only, too slow. Real implementation should eliminate alloc... -
07:52 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- mame (Yusuke Endoh) wrote in #note-17:
> @RubyBugs Please check my comment https://bugs.ruby-lang.org/issues/19000#note-13 . A wrong motivation example raises the suspicion that this API is actually confusing to users.
Quite right @mame... -
03:20 AM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- p8 (Petrik de Heus) wrote in #note-18:
> If `dup` is chosen would it make sense to always allow `dup` methods to take arguments for consistency?
It would make sense, but it would require everyone who wrote a custom `#dup` to extend t... -
03:13 AM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- p8 (Petrik de Heus) wrote in #note-18:
> If `dup` is chosen would it make sense to always allow `dup` methods to take arguments for consistency?
I'm rather against that, it makes the standard `dup` so much more complicated, and it wo... -
07:09 PM Revision d98d84b7 (git): YJIT: add new counters for deferred compilation and queued blocks (#6837)
-
06:28 PM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
- Hi again @nagachika.
I was double checking this, because I thought you probably meant "master branch of Ruby" and not "master branch of Bundler". I assumed the bug is present in both the master branch of Ruby and ruby_3_1 because the ... -
08:33 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
- Just to clarify, the current master branch of Bundler is indeed not affected by this issue, but that's just "luck". I'm adding a spec on our side to make sure it stays like that, but the ruby-core issue is still there and I suspect it co...
-
01:46 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
- Hello,
Thank you for the report.
nobu told me that the current master branch doesn't have the issue.
I will looking for the relevant commits and backport them. -
06:21 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
- Naively, I would have expected "binary:utf-8" to take arbitrary input and force the encoding to UTF-8, and "utf-8:utf-8" to read and validate the input as UTF-8.
Neither does what I expected. `¯\_(ツ)_/¯` -
05:55 PM Feature #19099: Support `private_constant` for an undefined constant
- Another idea:
`private_constant X: expr`
equivalent to
`const_set :X, expr` + `private_constant :X`
Or just use class variables :-) -
05:38 PM Revision ab4c7077 (git): Prevent segfault in String#scan with ObjectSpace.each_object
- Calling `String#scan` without a block creates an incomplete MatchData
object whose `RMATCH(match)->str` is Qfalse. Usually this object is not
leaked, but it was possible to pull it by using ObjectSpace.each_object.
This change hides the... -
05:36 PM Revision f0c9d2a0 (git): [ruby/rdoc] Fix `=end` delimiter
- https://github.com/ruby/rdoc/commit/e1679fa7e4
-
05:36 PM Revision 99cad3fc (git): [ruby/rdoc] Non-RD part feature has not been imported to RDoc
- https://github.com/ruby/rdoc/commit/fe0159de2f
-
05:36 PM Revision c87b3ee6 (git): [ruby/rdoc] Use Tempfile
- https://github.com/ruby/rdoc/commit/0b9dde5ab4
-
05:28 PM Revision d752cf76 (git): Use class methods of `File` over `Kernel.open` and `IO.read`
-
05:23 PM Revision a0b0365e (git): YJIT: Deallocate `struct Block` to plug memory leaks
- Previously we essentially never freed block even after invalidation.
Their reference count never reached zero for a couple of reasons:
1. `Branch::block` formed a cycle with the block holding the branch
2. Strong count on a branch that h... -
05:23 PM Revision b30248f7 (git): YJIT: Deallocate when assumptions tables are empty
- When we run global invalidation for TracePoints or code GC, we clear out
all blocks in our assumptions table but we don't deallocate the backing
buffers. Let's reclaim some memory during these rare events. -
05:23 PM Revision 03f1e6a2 (git): YJIT: Fix IseqPayload::pages memory bloat
- HashSet::clear() doesn't deallocate the backing buffer and shrink the
capacity. Replace with a 0-capcity set instead so we reclaim some memory
each code GC. -
05:17 PM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- Thanks everyone,
I can confirm that adding `cflags="-std=gnu99"` to the configure step worked around my issue. Re-running `./autogen.sh` on the server in question also worked. -
08:43 AM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- I investigated why our CI server for CentOS 7 could not find this problem. In short, this problem only occurs on tarball.
This problem occurs when `gcc -std=gnu11`.
The CI server uses `./autogen.sh` to generate `configure` script. Be... -
07:52 AM Bug #19161 (Closed): Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- I could reproduce on CentOS 7 and confirmed to fix nobu's patch.
-
02:18 AM Bug #19161 (Feedback): Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- Could you try this?
```diff
diff --git i/configure.ac w/configure.ac
index fcae66f775e..c933ed8b91f 100644
--- i/configure.ac
+++ w/configure.ac
@@ -363,6 +363,13 @@ AS_IF([test "$GCC" = yes], [
icc_version=`echo =__ICC | $... -
05:11 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- Maybe I'm too late here, but I have some thoughts/concerns about this.
First I should say I totally agree with the general idea. We need some way to inherit "context state".
So far I've seen 2 use cases described.
1 - store a request_i... -
02:30 PM Bug #19147: `TestFileExhaustive#test_expand_path_for_existent_username` and `TestDir#test_home` fails on i686
- Yes, I was about to report this, however Vít was ahead of me 👍
At least 3.2.0preview3 ( commit:git|28611be6ee84ba8eb19e667a70ae129833b98b8b ) was already failing, commit:git|6bf458eefd seemed to be okay, I have not tried bisect.
Fo... -
01:39 PM Bug #18779: `GC.compact` and other compaction related methods should be defined as rb_f_notimplement on non supported platforms.
- If it helps, this [1] is the patch we are carrying around in Fedora for Ruby 3.1. I would appreciate if is backported, because it influences files which are pregenerated and part of the release tarball [2].
[1]: https://src.fedora... -
11:03 AM Revision 81719310 (git): Enable to dispatch Code scanning [ci skip]
-
10:31 AM Feature #17134 (Open): Add resolv_timeout to TCPSocket
-
08:32 AM Feature #17134 (Closed): Add resolv_timeout to TCPSocket
- Applied in changeset commit:git|c8bfbbc25e4bc7c3ff59fae40471923a2793ba48.
----------
Removed documentation for incomplete option about [Feature #17134] -
10:18 AM Revision d532d275 (git): [ruby/irb] Use class methods of `File` over `Kernel.open`
- https://github.com/ruby/irb/commit/e0ec5e1bd8
-
10:09 AM Revision cf3b305c (git): [ruby/un] wait_writable: close opened file
- https://github.com/ruby/un/commit/b08aeb9c48
-
09:54 AM Misc #18976: [ANN] blade.nagaokaut.ac.jp is down
- I'm considering to migrate blade with the following plan:
* I'll build the simple txt archives like `https://blade.ruby-lang.org/ruby-core/xxxxxx`.
* I restore mailing-list data to it with ruby-core, ruby-dev, ruby-list, ruby-ext and ru... -
08:20 AM Revision c8bfbbc2 (git): Removed documentation for incomplete option about [Feature #17134]
-
07:19 AM Feature #13221 (Closed): [PATCH] gems/bundled_gems: add "curses" RubyGem
- There is no plan to add curses as the bundled gems now. I'll close this.
-
06:35 AM Revision d0c0d7fa (git): MJIT: Revert FL_EXIVAR check optimization
- It seems to slow down optcarrot. I'll revisit this later.
-
05:45 AM Revision a1d70f5b (git): MJIT: Rename mjit_compile_attr to mjit_sp_inc
- There's no mjit_compile.inc, so no need to use this prefix anymore.
-
05:34 AM Revision 7a2b1364 (git): MJIT: Merge mjit_unit.h into mjit_c.h
- The distinction doesn't make much difference today.
-
05:26 AM Revision ecc15bc9 (git): MJIT: Rename mjit_compiler.c to mjit_c.c
- It's no longer about the compiler logic itself.
-
04:52 AM Revision 9a849713 (git): [ruby/irb] Make sure ls doesn't return an array
- (https://github.com/ruby/irb/pull/461)
https://github.com/ruby/irb/commit/367797bb05 - 03:59 AM Revision 062c5a9e (git): Update default gems list at d6e91784ab78c25e864869b05a149e [ci skip]
-
03:58 AM Revision d6e91784 (git): Update SyntaxSuggest to use angle brackets `>`
- ```
$ ruby tool/sync_default_gems.rb syntax_suggest
Sync ruby/syntax_suggest
```
https://github.com/ruby/syntax_suggest/pull/161 -
03:08 AM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
- Thank you for the explanation, that's very good arguments and they address my concerns.
-
02:35 AM Revision 33a9a7fd (git): Mention Exception#detailed_message in NEWS.md
-
02:34 AM Revision 4e13f5b5 (git): Mention Regexp.timeout= in NEWS.md
11/29/2022
-
09:56 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
- marcotc (Marco Costa) wrote in #note-14:
> > > Regarding threads I think we shouldn't inherit automatically in new threads, and rather do it explicitly (via Fiber.current.storage=) in the rare cases it's needed.
> ...
To a bit of info ... -
08:46 PM Revision bbed2269 (git): Fix unused variable warnings
- builtin seems to be not handling this correctly.
-
08:30 PM Bug #19161 (Feedback): Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- When attempting to run `make` on either the 3.0.5 or 3.1.3 release, I get the following error (I included the whole output as it's pretty short):
```
BASERUBY = /opt/ruby/bin/ruby --disable=gems
CC = gcc -std=gnu11
LD = ld
L... -
07:06 PM Bug #19160 (Closed): cmp_clamp arguments
- If clamp receives min higher than max, it will raise an exception. The message says *min argument must be smaller than max argument* , but min can actually be equal to max too.
Patch https://github.com/ruby/ruby/pull/6802. -
05:29 PM Misc #19030: [ANN] Migrate lists.ruby-lang.org to Google Groups
- The emails are now containing too much empty lines. It already starts with the Redmine header which looks like:
~~~
----------------------------------------
Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
https://bu... -
12:02 AM Misc #19030 (Closed): [ANN] Migrate lists.ruby-lang.org to Google Groups
- The issue of discourse mirror for ruby-talk is resolved. https://rubytalk.org/t/i-sent-this-to-the-list-but-got-this-error-here/76102/2
Unfortunately, our list addresses are changed `ruby-lang.org` to `ml.ruby-lang.org`. And `List-Id`... -
04:44 PM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
- hsbt (Hiroshi SHIBATA) wrote in #note-10:
>
> ...
I agree that `color` postfix is a bit redundant. But I still lean *slightly* toward having it because it makes passing values easier:
```rb
DialogRenderInfo.new(
pos: Reline::Cu... -
03:29 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Thank you, this helps a lot! I will test the patch you suggest and see if that addresses the immediate problem.
If it does, I can take a stab at putting a PR together. I would credit you of course. Really appreciate your time spent on... -
03:14 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Sorry, I meant:
```c
rb_ivar_set(ret, rb_intern("mmap"), obj);
``` -
03:13 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- byroot (Jean Boussier) wrote in #note-15:
> It's even worse than using `str_new_static`, it's creating a regular string and rewriting the pointer. This is terrible code.
Yikes -- good catch! This library isn't particularly active o... -
03:12 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- I can't be bothered to create an account to submit a PR, but I suspect the following diff should fix your bug:
```ruby
diff --git a/ext/fast_mmaped_file/mmap.c b/ext/fast_mmaped_file/mmap.c
index 213281c..a3f646f 100644
--- a/ext/f... -
03:06 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Ok, I found the function that cause this bug:
```c
static VALUE mm_str(VALUE obj, int modify) {
mm_ipc *i_mm;
VALUE ret = Qnil;
GET_MMAP(obj, i_mm, modify & ~MM_ORIGIN);
if (modify & MM_MODIFY) {
if (i_... -
03:03 PM Bug #19156 (Third Party's Issue): ObjectSpace.dump_all segfault during string inspection
- > It indeed does sound like it is not strictly a bug with MRI
I'll mark the ticket as 3rd party issue. I'd suggest reporting this to that project.
> ...
I don't think it's possible. Ruby would need to somehow check if the memory re... -
03:00 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- I'm not sure this makes sense but: we know the address being referenced is somewhere (half-way) into a memory region that is a memory-mapped file using that Prometheus library's binary encoding.
This is the file:
```
xxd gauge_max... -
02:37 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- It looks like I can't do anything useful with that address:
```
(gdb) p *0x7fced23f4000
Cannot access memory at address 0x7fced23f4000
```
This is getting mysterious. I looked at process maps to see what kind of memory region th... -
02:21 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- `str_new_static` sets a specific flag on the string:
```c
RBASIC(str)->flags |= STR_NOFREE;
```
So from GDB you should be able to confirm or infirm whether that string was created through `str_new_static`. -
02:18 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- byroot (Jean Boussier) wrote in #note-5:
> Also, based on the backtrace I believe that `ObjectSpace.each_object(String, &:valid_encoding?)` should cause the same crash.
Indeed!
```
bundle exec rbtrace -p $(pgrep -f 'worker 1') -e... -
02:12 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Also, assuming my `str_new_static` theory is correct, you could look at: `grep -IR str_new_static $(bundle show --paths)` see if anything stands out.
-
02:09 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- > I tried the following, but it segfaults too:
Yeah, if the RString points to an invalid memory region, I think `rb_p` will just segfault like you saw.
I'm not very good at GDB, but I think instead you want to print the content of ... -
02:02 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Oh yeah it's actually telling me it's the same address from the original segfault.
So would we conclude from this that `ObjectSpace.dump_all` is trying to serialize objects that have already been GC'ed? -
02:00 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- byroot (Jean Boussier) wrote in #note-4:
> Ideally you'd use `gdb` to go on the `dump_object) objspace_dump.c:388` frame and inspect what `VALUE obj` looks like.
Remind me how to do that? I tried the following, but it segfaults too:
... -
01:21 PM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- Also, based on the backtrace I believe that `ObjectSpace.each_object(String, &:valid_encoding?)` should cause the same crash.
-
11:39 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- > I suspect the heap slot that references the broken string crashes the VM before it even starts writing the object address to the dump.
Yes, the is some buffering, so the last written objects might be entirely different. Hence why I'... -
11:10 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- byroot (Jean Boussier) wrote in #note-2:
> Do you have a core dump? It would be interesting to inspect what this string look like.
Yes, I just obtained one. This is a little tricky to debug, however. The object space dump is streamed to... -
08:30 AM Bug #19156: ObjectSpace.dump_all segfault during string inspection
- > I suspect this is also a problem with MRI master since the code looks unchanged from 3.0.4.
Well, It might not be a bug in `objspace_dump.c`.
Here `coderange_scan / search_nonascii` end up reading invalid memory regions which su... -
03:09 PM Revision 3e4d1a1d (git): YJIT: Skip checking interrupt_mask (#6825)
-
02:46 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- If `dup` is chosen would it make sense to always allow `dup` methods to take arguments for consistency?
For example, it would allow the following code in Rails
```ruby
firm = Firm.first.dup
firm.account = Account.first
assert_qu... -
04:09 AM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- @RubyBugs Please check my comment https://bugs.ruby-lang.org/issues/19000#note-13 . A wrong motivation example raises the suspicion that this API is actually confusing to users.
-
01:14 PM Feature #19099: Support `private_constant` for an undefined constant
- I wonder if the code below is acceptable:
```ruby
class C
private_constant {
X = ...
}
end
```
Here, `private_constant` takes a block and every constant defined there are private. This is especially useful when defin... -
01:10 PM Bug #19159 (Closed): ObjectSpace segfaults
- ```
$ ruby -e 'p ObjectSpace.each_object.to_a'
```
segfaults on my M1MBP as follows:
```
$ ruby -e 'p ObjectSpace.each_object.to_a'
-e:1: [BUG] Segmentation fault at 0x0000000000000000
ruby 3.2.0dev (2022-11-29T09:23:00Z mast... -
12:57 PM Bug #19158 (Closed): Ruby 3.1.3 installs wrong gemspec for debug gem
- A pristine installation of Ruby 3.1.3 shows an installed `debug-1.6.3.gemspec` file that claims that debug-1.6.3 has no dependencies. This is incorrect, and causes issues for Bundler as reported at https://github.com/rubygems/rubygems/is...
-
09:59 AM Feature #12848 (Rejected): Crazy idea: Allow regex definition for methods (Do not take it seriously please)
- Given the feature request I think we can just close it.
-
02:05 AM Feature #12848 (Open): Crazy idea: Allow regex definition for methods (Do not take it seriously please)
-
09:56 AM Feature #6047: read_all: Grow buffer exponentially in generic case
- I just tried my hand at this one: https://github.com/ruby/ruby/pull/6829
I think such a change would make sense. Not that `IO#read` without a size if common, but might as well do something sensible. -
02:08 AM Feature #6047 (Open): read_all: Grow buffer exponentially in generic case
-
09:23 AM Revision 67ae3e97 (git): Add a test case for argument forwarding
-
09:12 AM Revision ed4b5c4f (git): Extract outdate-bundled-gems.rb
-
09:12 AM Revision 8e3ac264 (git): Fix dependencies of outdate-bundled-gems
- Extract new gems then remove outdated gem directories.
-
09:12 AM Revision aacaa2ec (git): Refine outdate-bundled-gems
-
08:47 AM Revision f19deef3 (git): MJIT: Move Primitive helpers to mjit_c.rb
-
08:23 AM Revision 27f34eeb (git): MJIT: Self-contain extern declarations
- I'm trying to get rid of mjit_compiler.c, and this helps that migration.
-
08:12 AM Revision 8a0acbea (git): MJIT: Refactor CDHASH handling
- Converting a CDHASH into a safe Hash is a lot of work, but retrieving
just values is much easier. -
07:53 AM Revision 44165df1 (git): MJIT: Cache an ISeq pointer instance
- to obviate one rb_funcall. This also removes rb_ptr as refactoring.
-
07:32 AM Revision 2329cbeb (git): MJIT: Merge exivar guards as well
- obviating status->merge_ivar_guards_p as refactoring
-
06:46 AM Revision 322e546f (git): MJIT: Remove an unused field
- This has not been used since recent shape-related changes.
-
06:39 AM Revision 8be62f06 (git): Remove ruby2_keywords related to args forwarding
- This was introduced by b609bdeb5307e280137b4b2838af0fe4e4b46f1c
to suppress warnings. However these warngins were deleted by
beae6cbf0fd8b6619e5212552de98022d4c4d4d4. Therefore these codes
are not needed anymore. -
06:11 AM Bug #19003: TracePoint behavior inconsistency in 3.2.0-preview2
- This stays the same in the `preview3`. Are there any chances this will change until release?
Current behavior reduces usefulness and complicates usage of local tracepoints, because I can't just set smarter TP, but also I need to think... -
06:03 AM Revision bb6f933d (git): MJIT: Get rid of is_entries copy
- MJIT worker no longer exists, so we don't need this safeguard anymore.
-
05:33 AM Revision 9c13fc61 (git): MJIT: Make it parsable by Solargraph (#6827)
- * Revert "Revert "MJIT: Make it parsable by Solargraph""
This reverts commit 8e18761da1932df88bfb6505acbda4740e1b2930.
* Call rb_gc_register_mark_object -
05:23 AM Revision acb76663 (git): MJIT: Rename mjit_compiler.h to mjit_c.h
- because it exists primarily for generating mjit_c.rb.
-
05:18 AM Revision 74bdf092 (git): Add tests for [Feature #19134]
- https://bugs.ruby-lang.org/issues/19134?next_issue_id=19133&prev_issue_id=19135#note-4
- 04:59 AM Revision 4db429d2 (git): Update default gems list at 4f8c6711ddb09bb9d0dcbf784e2cde [ci skip]
-
04:58 AM Revision 4f8c6711 (git): [ruby/erb] Version 4.0.2
- https://github.com/ruby/erb/commit/8c8ff1551b
-
04:56 AM Revision 129d208f (git): [ruby/erb] Fix line numbers after multi-line <%#
- (https://github.com/ruby/erb/pull/42)
https://github.com/ruby/erb/commit/526885923e -
02:57 AM Feature #19134: ** is not allowed in def foo(...)
- matz (Yukihiro Matsumoto) wrote in #note-2:
> LGTM.
Thank you. I've merged it.
I realized that my fix also chaged the behavior of the following code:
```ruby
def foo(*, **, &)
bar(...)
end
def bar(*args, **kw, &block)
... -
02:22 AM Feature #19134 (Closed): ** is not allowed in def foo(...)
- Applied in changeset commit:git|4fc668a4f3b9b67cc7566096ab55cab34c67c158.
----------
Allow ** in def foo(...)
[Feature #19134] -
02:22 AM Revision b5726892 (git): Use rbs HEAD for [Feature #19134]
-
02:22 AM Revision a0e4dc52 (git): Use idFWD_* instead of ANON_*_ID
-
02:22 AM Revision 4fc668a4 (git): Allow ** in def foo(...)
- [Feature #19134]
-
02:06 AM Misc #10791 (Open): [PATCH 1/1] Remove unnecessary passing value from doc for Observable
-
02:05 AM Misc #12911 (Open): Translate docs
-
02:04 AM Feature #15047 (Open): Documentation and more functions for Hash functions in C API
-
01:04 AM Bug #18657 (Closed): IRB raises exception when stdout is a pipe
- This patch has been merged at https://github.com/ruby/irb/pull/353
11/28/2022
-
11:46 PM Bug #19157 (Open): URI bad component validation can be tricked
- `URI::HTTP` checks the validity of the URI components. For example, the path of a URI with authority component must be either empty or start with a slash.
This validation applies on the `.build` constructor as well as on the `path` se... -
11:33 PM Revision ee49fe5d (git): [ruby/net-http] Enhanced RDoc for header Range
- (https://github.com/ruby/net-http/pull/82)
https://github.com/ruby/net-http/commit/a26f62a2e5 - 11:20 PM Revision 579c8cb0 (git): [rubygems/rubygems] Remove pointer to RVM documentation
- https://github.com/rubygems/rubygems/commit/7467019d87
-
10:39 PM Feature #19134: ** is not allowed in def foo(...)
- LGTM.
Matz.
-
08:16 AM Feature #19134: ** is not allowed in def foo(...)
- I've created a pull request: https://github.com/ruby/ruby/pull/6818
With this change a test of rbs.gem fails because argument types of` def foo(...)` is changed to `(*untyped, **untyped **)` from `(*untyped)`, but I believe it's right... -
09:45 PM Revision 8a74361b (git): Update yjit.md to mention `RUBY_YJIT_ENABLE`
-
07:15 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- bdewater (Bart de Water) wrote in #note-15:
> I like `dup` as the method name 👍
> ...
Is there a way we could get more active Rubyists to weigh in? My sense is that there is a real tension in that:
* Nearly every major value objects g... -
05:04 PM Feature #19000: Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
- I like `dup` as the method name 👍
tomstuart (Tom Stuart) wrote in #note-9:
> Perhaps another way of putting this is that I’d estimate most Ruby programmers rarely call `Object#dup` in the course of their work, whereas I would expect ... - 06:45 PM Revision 612b528c (git): Update default gems list at d13de3a62eddb3a706597f7be975e3 [ci skip]
-
06:44 PM Revision d13de3a6 (git): [ruby/irb] Version 1.5.1
- https://github.com/ruby/irb/commit/f9507923fa
-
06:42 PM Revision c5279db7 (git): [ruby/irb] Fix the debug.gem force-loader for Ruby 3.2
- (https://github.com/ruby/irb/pull/458)
* Fix the debug.gem force-loader for Ruby 3.2
* Support 1.7.0dev format as well -
04:20 PM Revision f3ad68dd (git): [ruby/optparse] Fix the test failure i ruby/ruby
- ```
$ make test-all TESTS=test/optparse/
...
[148/178] TestOptionParserDidYouMean#test_raise_unknown = 0.00 s
1) Failure:
TestOptionParserDidYouMean#test_raise_unknown [/home/mame/work/ruby/test/optparse/test_optparse.rb:106]:
<["--ba... -
03:04 PM Misc #19155: documentation of Pathname#join with absolute path
- There is a description.
The doc https://docs.ruby-lang.org/ja/latest/class/Pathname.html#I_JOIN says:
```ruby
path0 = Pathname("/usr") # Pathname:/usr
path0 = path0.join("bin/ruby") # Pathname:/usr/bin/rub... -
09:35 AM Misc #19155 (Closed): documentation of Pathname#join with absolute path
- Pathname#join ignores previous directory name before absolute path
Is this intentional?
```irb
irb(main):002:0> require 'pathname'
=> true
irb(main):003:0> Pathname('/foo').join('bar', 'baz')
=> #<Pathname:/foo/bar/baz>
irb(ma... -
02:36 PM Revision b649850d (git): Force to update revision.h after the source updated [ci skip]
-
02:30 PM Bug #19156 (Third Party's Issue): ObjectSpace.dump_all segfault during string inspection
- I am working on a feature that would allow our application to capture heap dumps during shutdown for later inspection.
These heap dumps are captured via `ObjectSpace.dump_all(output: io)`. While walking the object space, MRI occasiona... -
02:24 PM Revision 0bfb1856 (git): [ruby/optparse] Add `raise_unknown` flag
- (https://github.com/ruby/optparse/pull/38)
https://github.com/ruby/optparse/commit/12529653cd - 12:50 PM Revision dcf94e71 (git): Update default gems list at 476700c06f8e54025387f793e17e05 [ci skip]
-
11:55 AM Revision 476700c0 (git): [ruby/syntax_suggest] v1.0.0
- https://github.com/ruby/syntax_suggest/commit/f142fcbf96
-
11:55 AM Revision f64ba0fa (git): [ruby/syntax_suggest] Do not output "Syntax OK" when there's an error
- Due to a problem with ripper we do not recognize `break` as invalid code. It's confusing that "Syntax OK" is output in that case.
When there's no syntax error, the algorithm should not say anything. The exception is in the CLI and that'... -
11:55 AM Revision 4d51a0b4 (git): [ruby/syntax_suggest] Failing test for #157
- https://github.com/ruby/syntax_suggest/commit/14e8cdc916
-
11:55 AM Revision ee11090b (git): sync_default_gems.rb: move default_branch to REPOSITORIES
- `sync_default_gems_with_commits` also needs the default branch.
-
11:55 AM Revision 6559ba3b (git): sync_default_gems.rb: suppress a duplicated range warning
-
11:55 AM Revision d72f6749 (git): sync_default_gems.rb: adjust indent [ci skip]
-
09:28 AM Revision 8bac8772 (git): Added permission restrictions for GitHub actions
-
08:17 AM Revision 906a2f06 (git): sync_default_gems.rb: extend for singleton methods
-
08:13 AM Revision 8e18761d (git): Revert "MJIT: Make it parsable by Solargraph"
- This reverts commit ccd8dd6ad395bbd9f5290e0fcb7929e5e5d36767.
Revert "MJIT: Fix miniruby with MJIT_FORCE_ENABLE"
This reverts commit b033775ed9d9226ba73c1d4a197e55ba89575142.
GitHub Actions is failing. I ran out of time today to inves... -
07:58 AM Revision b033775e (git): MJIT: Fix miniruby with MJIT_FORCE_ENABLE
-
07:46 AM Revision ccd8dd6a (git): MJIT: Make it parsable by Solargraph
-
07:30 AM Revision 93e87c02 (git): Fix the case of multiple trailers
-
07:30 AM Revision 5a171ee4 (git): Add tests for sync_default_gems.rb
-
07:29 AM Revision fb599523 (git): MJIT: Do not document a dynamic type [ci skip]
- Solargraph complains about it
-
07:06 AM Revision 1d120055 (git): MJIT: Avoid hanging on mjit_wait with a JIT failure
-
06:48 AM Revision 168b0e1f (git): Make the timeout of test_system_sigpipe longer
- https://github.com/ruby/ruby/actions/runs/3562236318/jobs/5983796689
-
06:47 AM Revision 2c1c0d3d (git): MJIT: Get rid of C.fprintf
- Faster code generation and cleaner code.
-
06:14 AM Revision 87e7b640 (git): Suppress warnings again
-
05:48 AM Revision 880e8fd1 (git): Relax a too strict timeout
- Regexp tests are flaky.
http://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20221128T050004Z.fail.html.gz -
05:44 AM Revision a22c684c (git): MJIT: Refactor invokebuiltin_delegate_leave
- You shouldn't assume bf->compiler is always non-zero. While struct
aref/aset is no longer a builtin function since
https://github.com/ruby/ruby/pull/5131, it seems like you could still
load such an iseq binary.
The refactored code fallb... -
05:36 AM Bug #19153 (Closed): Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
-
04:51 AM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
- mame (Yusuke Endoh) wrote in #note-1:
> As I wrote in https://github.com/ruby/cgi/pull/29#issuecomment-1325852303, RFC 6265 prohibits leading dot for Cookie domain. However, the old spec of Cookie (RFC 2109) required the leading dot. I ... -
04:45 AM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
- FYI: https://github.com/ruby/cgi/pull/29#issuecomment-1328487556
I released [cgi-0.3.6](https://github.com/ruby/cgi/releases/tag/v0.3.6) for this issue. Can you try it with adding `"cgi", ">= 0.3.6"` in your Gemfile?
-
05:11 AM Revision 6844bcc6 (git): MJIT: Use a String buffer in builtin compilers
- instead of FILE*.
Using C.fprintf is slower than String manipulation on memory. I'm going
to change the way MJIT writes files, and this is a prerequisite for it. -
05:04 AM Revision 6d26f78f (git): MJIT: Clear .cache/clangd on bindgen if exists
-
04:57 AM Revision 833545a2 (git): NEWS.md: sort [ci skip]
- 04:41 AM Revision 529e58d6 (git): Update default gems list at b335d899fff3cc22b022c9ee2ceb63 [ci skip]
-
04:40 AM Revision b335d899 (git): [ruby/cgi] Bump up 0.3.6
- https://github.com/ruby/cgi/commit/827b7d43cc
- 04:36 AM Revision e0901f46 (git): [ruby/rdoc] Add `--no-skipping-tests` option
- https://github.com/ruby/rdoc/commit/33925f885f
- 04:34 AM Revision 745dcf53 (git): [ruby/cgi] Loosen the domain regex to accept '.'
- (https://github.com/ruby/cgi/pull/29)
* Loosen the domain regex to accept '.'
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/cgi/commit/5e09d632f3
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org> - 03:35 AM Revision 1612d576 (git): Update default gems list at 98074a57ca9f3169fe9da9af6c49b6 [ci skip]
-
03:34 AM Revision 98074a57 (git): [ruby/cgi] Prepare to release 0.3.6
- https://github.com/ruby/cgi/commit/710a647855
-
03:31 AM Revision 1a744417 (git): Bundle RBS 2.8.1 (#6819)
- Update `bundled_gems` to bundle RBS 2.8.1
- 02:57 AM Revision 0096d99e (git): Update bundled gems list at 2022-11-28
- 02:42 AM Revision 595f3063 (git): [StepSecurity] ci: Harden GitHub Actions
- Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
-
12:51 AM Bug #4040: SystemStackError with Hash[*a] for Large _a_
- I submitted a pull request to fix this: https://github.com/ruby/ruby/pull/6816
-
12:43 AM Misc #19030: [ANN] Migrate lists.ruby-lang.org to Google Groups
- I and @shugo have been migrated all of mailing-lists to google groups and mailmanlists.net.
```
ruby-core - Ruby developers
ruby-dev - Ruby developers (Japanese)
ruby-doc - Ruby documentation
ruby-list - ...
11/27/2022
-
10:50 PM Revision e3de7230 (git): MJIT: Move some private declarations
- and clean up legacy comments for the Ruby migration
-
10:16 PM Revision 2a6dfb1c (git): Synchronously run the MJIT compiler in the parent
- process. Completely isolating the MJIT compilation process complicates a
lot of things for ensuring consistency before and after the fork.
Just running this synchronously makes things a lot easier, for example
the race condition of capt... -
09:34 PM Revision f93ae96b (git): Disable test-all on MJIT CI for now
- https://github.com/ruby/ruby/actions/runs/3560006749/jobs/5979749144
-
09:12 PM Revision 62476dd2 (git): Test only --mjit-wait for now
- We've disabled MJIT CI on GitHub Actions for a while. It's convenient
that fork repositories need to see failures or disable it.
We should remove unused CI by default instead of silently disabling it.
Since I saw --mjit-wait passed on m... -
09:02 PM Revision 03b96319 (git): Skip a broken RDoc test
- http://ci.rvm.jp/results/trunk-yjit@phosphorus-docker/4309535
http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/4309536
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/4309538
http://ci.rvm.jp/results/trunk-random2@phosph... -
07:46 PM Revision 5b1db791 (git): [ruby/rdoc] Revert "Refactor `RDoc::Markup::Parser#tokenize`"
- This reverts commit https://github.com/ruby/rdoc/commit/41ceae93b3bc.
https://github.com/ruby/rdoc/commit/5d2c47e8b8 -
05:24 PM Revision 21977b95 (git): [ruby/rdoc] Refactor `RDoc::Markup::Parser#tokenize`
- Make verbatims text or newline only, and simplify `build_verbatim`.
https://github.com/ruby/rdoc/commit/41ceae93b3 -
05:24 PM Revision 29862ce2 (git): [ruby/rdoc] Darkfish: group method call-seq in div.method-header
- This way, custom CSS styles can be easily applied to the entire method
header at once. Otherwise, it can be tricky to make a border that goes
around the entire set of method call-seq, but not the method
description.
https://github.com/... -
05:18 PM Revision ae3817bc (git): [ruby/rdoc] Darkfish: Nest sidebar ToC as a tree of headings
- This uses `<details><summary>heading</summary><ul>nested</ul></detail>`,
similar to how the classes and pages lists are now nested.
https://github.com/ruby/rdoc/commit/e57beff287 -
04:35 PM Revision 511864d1 (git): [ruby/rdoc] Refine regexp usages and reduce substring allocations
- https://github.com/ruby/rdoc/commit/a976fb9d39
-
04:35 PM Revision 1b67c58f (git): [ruby/rdoc] Pull up handle_tab_width to RDoc::Parser
- To share with the duplicate code in RDoc::Parser::Ruby#initialize.
https://github.com/ruby/rdoc/commit/27829ac119 - 06:33 AM Revision d055c44b (git): Update default gems list at 6fdc677186b646f8f011411f827c2f [ci skip]
-
06:32 AM Revision 6fdc6771 (git): [ruby/erb] Version 4.0.1
- https://github.com/ruby/erb/commit/3bb67009dd
-
06:30 AM Revision d2c62426 (git): [ruby/erb] Skip using the extension for truffleruby as well
- (https://github.com/ruby/erb/pull/39)
* Skip using the extension for truffleruby as well
* Just skip building the C extension for TruffleRuby
* Skip rake compile for truffleruby
* Use resolve_feature_path
* Revert "Use resolve_featu... - 06:09 AM Revision ec76c986 (git): [ruby/irb] Activate yamatanooroti tests on CI
- (https://github.com/ruby/irb/pull/459)
* Activate yamatanooroti tests on CI
* Fix delete test
https://github.com/ruby/irb/commit/750cf4c480 -
05:49 AM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
- I get what you're saying. My position on this issue is:
* `CGI` is not a good place either unless you're writing a CGI application. ERB also has `ERB::Escape` now, and I'd say "embedded Ruby escape" is a better module name than "CGI" fo... -
04:57 AM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
- Right, I forgot CGI is a default gem too.
I think it seems cleaner for other template engines (e.g. haml, slim, etc) to depend (as in require "cgi") on CGI vs depending on ERB, i.e. CGI feels smaller/like a subset of ERB. In other words... -
12:21 AM Revision b55da1cd (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTPHeader
- https://github.com/ruby/net-http/commit/77c6878970
-
12:01 AM Bug #19154: Specify require and autoload guarantees in ractors
- Besides this particular error, I am wondering about concurrency guarantees in parallel requires to the same file, or parallel references to a constant for which there is an autoload.
11/26/2022
-
11:52 PM Bug #19154 (Closed): Specify require and autoload guarantees in ractors
- Given a file `c.rb`:
```ruby
class C
end
```
the following script:
```ruby
r1 = Ractor.new do
require './c.rb'
end
r2 = Ractor.new do
require './c.rb'
end
r1.take
r2.take
```
raises:
```
% ruby -v foo.... -
11:39 PM Revision 73e42ef8 (git): MJIT: Remove a duplicated rescue
- `#compile` has a catch-call rescue, so compile_insn_entry shouldn't do
that. It was a temporary code needed during the migration. -
11:31 PM Revision b2dcde83 (git): MJIT: Merge mjit_compiler.rb into mjit.rb
- There are too many mjit_compiler.* files. It was hard to find files.
-
11:20 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
- Please also see #18995 for another example of the intricate implementation behaving unexpectedly. During my own investigation, I discovered that using `"-"` for the internal encoding name is silently ignored. According to the comments ...
-
12:44 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
- I've taken a look in `IO#set_encoding` recently and it's such an unreadable mess, I think nobody would be able to explain its full semantics.
So anything to simplify it would IMHO be welcome.
I think `IO#set_encoding` should simply set... -
09:58 PM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
- I filed a PR for truffleruby https://github.com/ruby/erb/pull/39.
> I think it is important to keep the optimized HTML escape in core/stdlib (e.g., in CGI)
I didn't get what you mean in this part. CGI and ERB are both default gems. The... -
01:06 PM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
- I did not expect `rb_str_dup()` is so costly on CRuby, I guess the allocation is slow and of course CRuby can't escape-analyze it.
I think it is important to keep the optimized HTML escape in core/stdlib (e.g., in CGI), as the fastest w... -
09:56 PM Feature #19102: Optimize ERB::Util.html_escape more than CGI.escapeHTML for template engines
- Would you mind reviewing https://github.com/ruby/erb/pull/39? I skipped this ticket's change for truffleruby in the PR.
-
01:03 PM Feature #19102: Optimize ERB::Util.html_escape more than CGI.escapeHTML for template engines
- I think it is unfortunate to add a C extension for ERB for that, ERB was always pure-Ruby and that was nice.
Also the C extension is slower on TruffleRuby, the Regexp is actually JIT-compiled and can use vectorization, unlike that C cod... -
09:06 PM Revision de9e2a5a (git): [ruby/net-http] Fix test for Ruby head
- The error raised for broken coderanges was changed in ruby/ruby@571d21f
and the test was fixed in that commit but not ported to this repo.
ruby/net-http@e6185dda26ea6db7a3515d4f47ab231f5f4ac902 -
05:00 PM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
- This issue is discussed at https://github.com/ruby/cgi/pull/29 .
As I wrote in https://github.com/ruby/cgi/pull/29#issuecomment-1325852303, RFC 6265 prohibits leading dot for Cookie domain. However, the old spec of Cookie (RFC 2109) r... -
04:30 PM Bug #19153 (Closed): Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
- The rspec tests of our Rails app started failing with an ArgumentError after upgrading to 2.7.7. On inspection, the issue seems to be caused by CGI::Cookie.domain=:
```
def domain=(str)
if str and ((str = str.b).bytesize > 255... -
12:40 PM Feature #19138: `SyntaxError#path` for syntax_suggest
- schneems (Richard Schneeman) wrote in #note-6:
> Instead of adding #line though if we could attach the source that would be more impactful for syntax search.
> ...
Strongly agreed. We should have a way to get the original source code/t... -
12:21 AM Feature #19138: `SyntaxError#path` for syntax_suggest
- I love the idea.
Instead of adding #line though if we could attach the source that would be more impactful for syntax search.
Some cases such as eval do not have source files, so if we could access the contents for casses without a... - 06:45 AM Revision 26794b95 (git): Update bundled gems list at 3853385377525258881d35850a4247 [ci skip]
-
06:44 AM Revision 38533853 (git): Update bundled_gems (#6813)
- * Update bundled_gems
-
06:32 AM Misc #19142: Run test suites against 'install', based on ENV variable?
- I think that `test` needs `install` only when "preloadenv" and `--enable-load-relative` can't work.
At least `test-all` can run as `/install/bin/ruby test/runner.rb`, I think. - 06:06 AM Revision 51994955 (git): Update default gems list at 534bac04e71efcbb9f4dc877f490b9 [ci skip]
-
06:05 AM Revision 534bac04 (git): [ruby/erb] Version 4.0.0
- https://github.com/ruby/erb/commit/2809a54d88
-
05:45 AM Revision 29bf5495 (git): Do not use the same variable for multiple things
- `conv` proc is used before and after the `url` variable is updated. So
this script didn't seem to behave correctly for the "Close #xxx" syntax.
Reusing the same variable name for different things seems prone to errors. -
05:44 AM Revision 95647378 (git): Support other GitHub PR/issue syntaxes
- https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue
-
05:36 AM Revision 7cf94a61 (git): Allow an arbitrary number of newlines
-
05:36 AM Revision 91c7e8af (git): Revert "Update default gems list at 574896a0ce99ab00676aa5ff2fabd3 [ci skip]"
- This reverts commit eb3a6ae524b029e96738f21931d95dfad1caed2f.
- 05:33 AM Revision eb3a6ae5 (git): Update default gems list at 574896a0ce99ab00676aa5ff2fabd3 [ci skip]
-
05:32 AM Revision 574896a0 (git): [ruby/erb] Define ERB::Escape module
- (https://github.com/ruby/erb/pull/38)
Close #32 -
04:29 AM Revision 15be9ecb (git): Revert "Update default gems list at d0bb24c497ceae01cc7b7698365982 [ci skip]"
- This reverts commit ba26dd7ba557f1a8d58251bb8437d579e0d5d23a, which
duplicates the list. - 04:13 AM Revision ba26dd7b (git): Update default gems list at d0bb24c497ceae01cc7b7698365982 [ci skip]
-
04:12 AM Revision d0bb24c4 (git): [DOC] Fix loose and tight lists
- The MarkDown parser of RDoc does not allow mixing loose and tight
lists, and the results may be very unexpected otherwise. -
04:12 AM Revision 19fdc9ca (git): [DOC] Fix indents of nested bullet lists
-
04:11 AM Revision 6bd86bb2 (git): Follow the NEWS.md change up [ci skip]