Project

General

Profile

Activity

From 05/14/2021 to 05/20/2021

05/20/2021

11:00 PM Bug #17530: irb handles << incorrectly with variable as identifier
This issue comes from Ripper, and is due to the fact that in irb, ripper is being called line-by-line and not all at once. When ripper parses the `s2 <<s1` line, it doesn't know that `s2` is a local variable, so it treats `<<s1` as a he... jeremyevans0 (Jeremy Evans)
08:46 PM Bug #17875: Segfault when reusing a closed Fiber scheduler inside a Thread
Ah, yes, thanks for linking back to that. It sure looks like the same thing. I searched for "fiber scheduler segfault" and didn't find it, but I see it calls it "segv" instead.
Please feel free to close this one if it's not useful (I...
rmosolgo (Robert Mosolgo)
08:40 PM Bug #17875: Segfault when reusing a closed Fiber scheduler inside a Thread
The symptom seems similar to that of #17618. xtkoba (Tee KOBAYASHI)
08:12 PM Bug #17875 (Closed): Segfault when reusing a closed Fiber scheduler inside a Thread
Hi! I've been trying to learn the new `Fiber.scheduler` API. I ran into this segfault when I was misusing scheduler instances in Minitest. I was able to reproduce the bug in isolation and I thought I'd share it here in case it's helpful ... rmosolgo (Robert Mosolgo)
07:25 PM Misc #17872 (Closed): Remove extra word from Here Documents syntax doc
Applied in changeset commit:git|2e919e4a643814735c68cf6724972cf7aa0cd91e.
----------
Remove extra word in heredoc documentation
From Thibault Jouan
Fixes [Misc #17872]
jeremyevans (Jeremy Evans)
05:28 AM Misc #17872 (Closed): Remove extra word from Here Documents syntax doc
When reading the documentation for here documents literal, for example
when executing `ri ruby:syntax/literals`, or directly the file at
`doc/syntax/literals.rdoc', then looking at "Here Documents" section
there is a sentence that see...
tj (Thibault Jouan)
07:25 PM Revision a7fae2af (git): * 2021-05-21 [ci skip]
git[bot]
07:24 PM Revision 2e919e4a (git): Remove extra word in heredoc documentation
From Thibault Jouan
Fixes [Misc #17872]
jeremyevans (Jeremy Evans)
07:06 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
user:mame wrote in #note-4:
> I'm unsure why the fix addressed the issue of #17306.
This is because after #17306 was fixed the commit commit:32b7dcfb56a417c1d1c354102351fc1825d653bf changed the behavior of `{,un}lock_page_body` so th...
xtkoba (Tee KOBAYASHI)
05:51 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
Running the each test in test/ruby/test_gc_compact.rb on the above environment, here is the result. The failed test is not only the test_ast_compacts test.
* test_enable_autocompact : ok
* test_disable_autocompact : ok
* test_major_...
jaruga (Jun Aruga)
12:15 AM Bug #17871: TestGCCompact#test_ast_compacts test failing again
xtkoba (Tee KOBAYASHI) wrote in #note-1:
> Possibly `sysconf(3)` does not report the correct page size?
I think it reports 64k correctly.
```
$ ruby -retc -e'p Etc.sysconf(Etc::SC_PAGE_SIZE)'
65536
```
The fix for #17306 dis...
mame (Yusuke Endoh)
03:17 PM Feature #17873: Update of default gems in Ruby 3.1
I would like `prime` library to remain in the default gems or the bundled gems.
I do competitive programming as a hobby, and I sometimes use it and find it useful.
Since external libraries are usually not available for competitive prog...
universato (Yoshimine Sato)
12:33 PM Feature #17873: Update of default gems in Ruby 3.1
>In my opinion mutex_m is widely used. Even Rails uses it: https://github.com/rails/rails/search?q=mutex_m
Thanks for your information. I agreed your opinion and removed mutex_m from this proposal.
hsbt (Hiroshi SHIBATA)
12:24 PM Feature #17873: Update of default gems in Ruby 3.1
> They are no longer actively maintained and not widely used today.
> ...
In my opinion `mutex_m` is widely used. Even Rails uses it: https://github.com/rails/rails/search?q=mutex_m
byroot (Jean Boussier)
11:18 AM Feature #17873: Update of default gems in Ruby 3.1
>So I guess you mean no longer including them with Ruby, `and gem install` NAME would be needed to use them?
Yes. I meant to remove them ruby repository and release.
hsbt (Hiroshi SHIBATA)
11:01 AM Feature #17873: Update of default gems in Ruby 3.1
> And I also propose to extract the following libraries from the default gems.
Those are already default gems.
So I guess you mean no longer including them with Ruby, and `gem install NAME` would be needed to use them?
Seems fine ...
Eregon (Benoit Daloze)
10:45 AM Feature #17873 (Closed): Update of default gems in Ruby 3.1
I promoted many standard libraries to the default gems. You can see them at https://stdgems.org/#default-gems-ruby-301
I propose the following libraries to promote the bundled gems from the default gems.
```
matrix
prime
net/ftp...
hsbt (Hiroshi SHIBATA)
12:56 PM Revision c7110935 (git): Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661]
nobu (Nobuyoshi Nakada)
12:18 PM Bug #17874 (Closed): Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 into ruby_3_0
This is a ticket for backport management.
dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 should be backported into ruby_3_0.
nagachika (Tomoyuki Chikanaga)
11:57 AM Bug #17870: `make --output-sync=line install` breaks installation
I noticed `-Onone` is also troublesome. Other `-O[type]`'s (type being `target` and `recurse`) seem safe to use.
Proposed patch:
```diff
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -113,6 +113,7 @@
$make, *rest = Shellw...
xtkoba (Tee KOBAYASHI)
10:47 AM Misc #17811: DevelopersMeeting20210521Japan
* [Feature #17873] Update of default gems in Ruby 3.1
* Does anyone have any objections?
hsbt (Hiroshi SHIBATA)
10:33 AM Revision dfe21ef7 (git): Do not block JIT with pending_stale_p
Because we want to flush pending stale units before unloading units, the
pending_stale_p check is implemented in this waiting loop.
However, once all methods are called more than --jit-min-calls,
mjit_worker_wakeup will not be signaled ...
k0kubun (Takashi Kokubun)
10:14 AM Bug #17868 (Closed): Strange result of Coverage for while-in-while
Applied in changeset commit:git|5026f9a5d5012248729a0052cd6cec811748291b.
----------
compile.c: stop the jump-jump optimization if the second has any event
Fixes [Bug #17868]
mame (Yusuke Endoh)
02:00 AM Bug #17868: Strange result of Coverage for while-in-while
Thank you for the quick response!
I have confirmed that the original code can be measured with this patch.
universato (Yoshimine Sato)
01:15 AM Bug #17868 (Assigned): Strange result of Coverage for while-in-while
@ko1 agreed with my patch. I'll commit it soon. mame (Yusuke Endoh)
10:13 AM Revision 5026f9a5 (git): compile.c: stop the jump-jump optimization if the second has any event
Fixes [Bug #17868] mame (Yusuke Endoh)
08:56 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
I think (2) is rare, and IMHO such programs should be fixed.
What would happen is then those programs can't be interrupted (only by killing the process), but then that also becomes a clear motivation to fix those programs so they can be...
Eregon (Benoit Daloze)
08:44 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
There are two issues on masking interrupts in `ensure` clauses:
(1) performance: manipulating masks in each `ensure` clauses introduces overhead
(2) Some applications can run their program body in `ensure` clauses.
Before we discussed ...
ko1 (Koichi Sasada)
07:55 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
FYI:
```ruby
p Float::INFINITY.real #=> Infinity
p Float::INFINITY.imag #=> 0
p Float::NAN.real #=> NaN
p Float::NAN.imag #=> 0
```
Python and Octave have same behavior. Probably MATLAB does too.
If we change the behavior of `r...
universato (Yoshimine Sato)
05:24 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
FYI: numpy also says inf is a real.
```
>>> import numpy
> ...
True
```
mame (Yusuke Endoh)
07:52 AM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
Cloned `ENV` accesses/modifies the process global environment variables, as well as `ENV` itself, however the codes we found expect these are different.
So I propose `ENV.clone` and `ENV.dup` should raise an exception.
nobu (Nobuyoshi Nakada)
07:42 AM Bug #17781 (Closed): Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
Fixed by commit:9edc162583a4f685332239f6249745ad9b518cbe. mame (Yusuke Endoh)
07:42 AM Bug #17783 (Closed): Running sidekiq with ruby 3.0 (possible thread deadlock on resolv request_id allocation and free)
Fixed by commit:9edc162583a4f685332239f6249745ad9b518cbe. mame (Yusuke Endoh)
07:05 AM Bug #17822: Inconsistent visibility behavior with refinements
Thank you the patch. It seems good. Could you commit with a test? ko1 (Koichi Sasada)
06:46 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
> Your example always allocates a new instance first, then deduplicates it.
Yes, for more complex cases that's kind of the only way. What I'm after here is mostly memory retention, not so much allocations.
> ...
Yes, I used this in...
byroot (Jean Boussier)
06:34 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
Your example always allocates a new instance first, then deduplicates it.
Why not:
```ruby
def new(x, y, z)
REGISTRY[-"#{self}-#{x},#{y},#{z}"] ||= super
end
```
This would work even in 2.7 too.
nobu (Nobuyoshi Nakada)
05:35 AM Revision 821e3c12 (git): * 2021-05-20 [ci skip]
git[bot]
05:31 AM Revision 63663bb4 (git): Rename nucomp_false s nucomp_real_p_m
nobu (Nobuyoshi Nakada)

05/19/2021

10:12 PM Feature #17210: More readable and useful `Set#inspect`
+1
I second the proposal.
```ruby
p [1, 2, 3] #=> [1, 2, 3]
p "hello" #=> "hello"
p 1.0 #=> 1.0
p({"x"=>1}) #=> {"x"=>1}
p 1..2 #=> 1..2
p nil #=> nil
p true #=> true
p :name #=> :name
p Array #=> Array
...
universato (Yoshimine Sato)
08:09 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
I had a resistance to upload the full log check.log, because the file size is big. However I would upload the log file now.
```
$ du -sh check.log
1.2M check.log
$ wc -l check.log
22963 check.log
```
jaruga (Jun Aruga)
06:21 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
Some googling told me that the page size defaults to 64k on powerpc64le for some Linux distros. Possibly `sysconf(3)` does not report the correct page size? xtkoba (Tee KOBAYASHI)
05:46 PM Bug #17871 (Closed): TestGCCompact#test_ast_compacts test failing again
This issue was found by @mame yesterday on our new Power 9 server. I would like to open the ticket.
The test failure was reported and fixed on the #17306 6 months ago.
However on the latest master `adcbae8d49ec04d365ce13274783b1495c3...
jaruga (Jun Aruga)
07:34 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
@byroot For the blocking C extension code without an unblocking function case, I think there is no other way to unstuck it than to kill the entire process.
That's probably a good last measure to have, but obviously it's very costly so s...
Eregon (Benoit Daloze)
06:13 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
> Assignee set to matz (Yukihiro Matsumoto)
Maybe we want to tag in Koichi. Last I talked to Matz (EuRuKo in 2019) I believe he suggested having Koichi take a look at the issue. I'm not familiar with the interface here I don't know if...
schneems (Richard Schneeman)
06:10 PM Bug #1287: $? not set after Open3::popen3
FWIW the work around is to capture the status and re-exec with an exit. It works, but the downside is that shell invocations are not cheap:
``` ruby
irb(main):042:0> a, b, c = Open3.capture3("ls /does/not/exist")
irb(main):043:0> `e...
schneems (Richard Schneeman)
05:41 PM Bug #17870 (Closed): `make --output-sync=line install` breaks installation
It is reported in https://bugs.gentoo.org/show_bug.cgi?id=790272 that `make --output-sync=line install` installs nearly nothing, and I can confirm this for Ruby 3.0.1p64.
The argument `-Oline` seems to be somehow troublesome in `--mfl...
xtkoba (Tee KOBAYASHI)
04:32 PM Bug #17869 (Closed): `Ripper.sexp`'s S-expression when using endless method definition
## Summary
The result of `Ripper.sexp` differs between normal method definition and endless method definition.
### Normal method definition
```ruby
% ruby -rripper -e "pp Ripper.sexp('def m(a) foo end')"
[:program,
[[:def,
...
koic (Koichi ITO)
04:01 PM Bug #17868: Strange result of Coverage for while-in-while
Thank you for your report. This is caused by the peephole optimization.
```
% ruby --dump=i while_in_while.rb
...
0010 jump 23 ( 3)[Li]
...
0033 getlocal_WC_0 ...
mame (Yusuke Endoh)
02:21 PM Bug #17868 (Closed): Strange result of Coverage for while-in-while
```ruby
n = 3
while n > 0
n -= 1 while n > 0
end
```
This `while_in_while.rb` is the file to be measured.
```ruby
require "coverage"
Coverage.start
load "while_in_while.rb"
pp Coverage.result
# {"while_in_while.rb"=>[1, ...
universato (Yoshimine Sato)
02:30 PM Bug #16475: [Installation process - compiling ruby 2.7.0 from source} "make install" step oddity for ruby 2.7.0 on linux mint (debian base)
This seems to be fixed by backporting commit:ea8f7d4 + `lib/rubygems/openssl.rb` (created in commit:69fa0d6 and changed in commit:4aca77e). xtkoba (Tee KOBAYASHI)
10:23 AM Bug #16475: [Installation process - compiling ruby 2.7.0 from source} "make install" step oddity for ruby 2.7.0 on linux mint (debian base)
This is reproducible for me with Ruby 2.7.3p183 when passing `--with-baseruby=no` to `./configure`, with OpenSSL header files removed (`mv /usr/include/openssl{,.bak}`).
And this seems to be not reproducible with Ruby 3.0.1p64. Probab...
xtkoba (Tee KOBAYASHI)
05:24 AM Revision adcbae8d (git): Removed minitest/mock
hsbt (Hiroshi SHIBATA)
01:16 AM Revision 1d170fdc (git): ext/json/parser/parser.h: Add fallback MAYBE_UNUSED
https://github.com/flori/json/commit/e2ad91fc2094d3cc2f76adc6c55d420cd06f34d8 nobu (Nobuyoshi Nakada)
12:21 AM Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
update... https://github.com/ruby/resolv/pull/9/files got merged. sam.saffron (Sam Saffron)

05/18/2021

11:52 PM Bug #16475: [Installation process - compiling ruby 2.7.0 from source} "make install" step oddity for ruby 2.7.0 on linux mint (debian base)
@shevegen: Can this be closed? Looks like nobody else has the same problem. duerst (Martin Dürst)
09:53 PM Revision 637683c9 (git): * 2021-05-19 [ci skip]
git[bot]
09:53 PM Revision e4e41638 (git): Revert any references that are on the machine stack after compacting
Since compaction can be concurrent, the machine stack is allowed to
change while compaction is happening. When compaction finishes, there
may be references on the machine stack that need to be reverted so that
we can remove the read bar...
tenderlovemaking (Aaron Patterson)
07:46 PM Bug #17866: Incompatible changes with Psych 4.0.0
byroot (Jean Boussier) wrote in #note-8:
> > I'm ok with enabling aliases by default.
> ...
Ya, that's what I was considering. `safe_load` shouldn't change behavior whatsoever.
tenderlovemaking (Aaron Patterson)
05:42 PM Bug #17866: Incompatible changes with Psych 4.0.0
> I'm ok with enabling aliases by default.
Just to clarify: `load` would have them on by default, but `safe_load` wouldn't, right?
byroot (Jean Boussier)
03:21 PM Bug #17866: Incompatible changes with Psych 4.0.0
Eregon (Benoit Daloze) wrote in #note-4:
> byroot (Jean Boussier) wrote in #note-3:
> ...
No, you can definitely make recursive data structures:
```ruby
irb(main):006:0> x = []
=> []
irb(main):007:0> x << x
=> [[...]]
irb(main)...
tenderlovemaking (Aaron Patterson)
11:45 AM Bug #17866: Incompatible changes with Psych 4.0.0
So indeed I was wrong about the circular reference.
As for Rails I fixed it this morning: https://github.com/rails/rails/commit/179d0a1f474ada02e0030ac3bd062fc653765dbe, but yes, if `load` would allow aliases by default it would make ...
byroot (Jean Boussier)
09:49 AM Bug #17866: Incompatible changes with Psych 4.0.0
> It kinda is, as aliases allow for circular references which can cause some programs to end up in infinite loop.
I thought of the same thing and I tested what Eregon wrote before writing the comment. So, unless you know of a YAML that ...
k0kubun (Takashi Kokubun)
08:17 AM Bug #17866: Incompatible changes with Psych 4.0.0
byroot (Jean Boussier) wrote in #note-3:
> It kinda is, as aliases allow for circular references which can cause some programs to end up in infinite loop.
Doesn't the YAML implementation handle/avoid such recursive/circular reference...
Eregon (Benoit Daloze)
07:35 AM Bug #17866: Incompatible changes with Psych 4.0.0
> and disabling aliases wasn't really important.
It kinda is, as aliases allow for circular references which can cause some programs to end up in infinite loop.
> ...
Maybe we should have `YAML.load_file` use a more relaxed default...
byroot (Jean Boussier)
01:23 AM Bug #17866: Incompatible changes with Psych 4.0.0
I noticed `Psych.unsafe_load` uses `aliases: false` by default. This means that default `config/database.yml` of Rails will stop working if you use Psych 4.0.0.
https://github.com/rails/rails/blob/v6.1.3.2/railties/lib/rails/generators/...
k0kubun (Takashi Kokubun)
03:51 PM Bug #17864 (Feedback): [BUG] try to mark T_NONE object (in Ractors)
NuriYuri (Youri Nouri) wrote in #note-3:
> I've run this `ruby -e"200.times { system('ruby src/IODigester.ytest_copy.rb') }"` to check the probability, 88% success rate with `ruby 3.0.1p64`.
> ...
Can you test with the master branch an...
jeremyevans0 (Jeremy Evans)
03:16 PM Misc #17818: Reviving Travis CI
Sorry for my typo.
> So, I plan to not use only free builds without credits on Travis.
So, I plan to use only free builds without credits on Travis.
jaruga (Jun Aruga)
02:59 PM Misc #17818: Reviving Travis CI
Let me share the current status and the plan for ruby/ruby's Travis.
> As a side note from my experience, the concept of the credits might be not considered on travis-ci.org.
The travis-ci.org shut down will occur on May 31, 2021....
jaruga (Jun Aruga)
02:26 PM Revision 7c716b68 (git): ext/json/parser/prereq.mk: fix warnings for code generated by ragel
* type-limits when plain-char is unsigned
* unused-const-variable for NFA constants
nobu (Nobuyoshi Nakada)
01:16 PM Revision 6b32f1f3 (git): Object whats here (#4503)
What's Here section for class Object. burdettelamar (Burdette Lamar)
10:21 AM Revision 6d6391bf (git): Update bundled_gems
mame (Yusuke Endoh)
10:06 AM Revision ceea1ea8 (git): test/rubygems/test_gem_commands_open_command.rb: prevent a warning
http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20210518T093002Z.log.html.gz
```
[ 9396/21186] TestGemCommandsOpenCommand#test_execute-e:1: warning: possibly useless use of a literal in void context
= 0.06 s
```
mame (Yusuke Endoh)
10:01 AM Revision 837cbea6 (git): test/psych/test_coder.rb: Suppress non-parenthesis warnings
http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20210518T093002Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20210518T093002Z/ruby/test/psych/test_coder.rb:277: warning: ambiguity between regexp and two divisions: wrap regex...
mame (Yusuke Endoh)
09:51 AM Revision 6674dd61 (git): Remove ubuntu-16.04 (already commented out)
https://github.blog/changelog/2021-04-29-github-actions-ubuntu-16-04-lts-virtual-environment-will-be-removed-on-september-20-2021 znz (Kazuhiro NISHIYAMA)
08:31 AM Revision 9bd79c2c (git): Removed minitest/benchmark
hsbt (Hiroshi SHIBATA)
08:31 AM Revision 5a0b89de (git): Removed minitest/autorun
hsbt (Hiroshi SHIBATA)
08:31 AM Revision 8ab2afb2 (git): Use Test::Unit instead of Minitest::Unit
hsbt (Hiroshi SHIBATA)
08:12 AM Bug #17867 (Rejected): split.rb:30: [BUG] Segmentation fault
Unfortunately, Ruby 2.0.0 is EOL today. hsbt (Hiroshi SHIBATA)
08:04 AM Bug #17867: split.rb:30: [BUG] Segmentation fault
I think the ruby 2.0.0p648 is the ruby installed as a RPM package on the CentOS 7 by default.
If you do not have any reason to continue to use it, I would recommend a newer ruby installed by Software Collections or one built from the so...
jaruga (Jun Aruga)
07:43 AM Bug #17867: split.rb:30: [BUG] Segmentation fault
A quick workaround would be not to use such an old version as 2.0.0p648. xtkoba (Tee KOBAYASHI)
07:21 AM Bug #17867 (Rejected): split.rb:30: [BUG] Segmentation fault
Hello,
We hit a "Segmentation fault" of a small ruby script (split.rb).
OS is CentOS7.7 and ruby 2.0.0p648 is used.
# ruby --version
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
I'd like to know is this is a known issue of ruby ...
rsudo (Sudo Ryu)
08:00 AM Revision 0d343bf8 (git): Update bundled_gems
mame (Yusuke Endoh)
07:04 AM Revision 34bc8210 (git): test/irb/test_raise_no_backtrace_exception.rb: fix test file path
Create a file for test under the temporary directory. nobu (Nobuyoshi Nakada)
03:48 AM Revision 79717f81 (git): [ruby/fiddle] windows: link to ws2_32 for WSAGetLastError()
https://github.com/ruby/fiddle/commit/e9955d74ae Sutou Kouhei
03:48 AM Revision 71d4a493 (git): [ruby/fiddle] windows: add Fiddle.win32_last_socket_error{,=}
GitHub: fix GH-72
Users can't use WSAGetLastError() with Ruby 3.0 or later because
rb_funcall() resets the last socket error internally.
Users can get the last socket error by Fiddle.win32_last_socket_error.
Reported by Kentaro Hayash...
Sutou Kouhei
03:48 AM Revision 2579593a (git): [ruby/fiddle] Do not use a libdir for glibc, it breaks Linux PPC64 (#70)
Fixes [Bug #12666]
https://github.com/ruby/fiddle/commit/a267a40be7
jeremyevans (Jeremy Evans)
03:48 AM Revision ab5212b3 (git): [ruby/fiddle] Add support for "const" in type
GitHub: fix #68
Reported by kojix2. Thanks!!!
https://github.com/ruby/fiddle/commit/d7322c234a
Sutou Kouhei
03:48 AM Revision 4d1bb460 (git): [ruby/fiddle] Add --enable-debug-build option to extconf.rb
https://github.com/ruby/fiddle/commit/e0498e60ea Sutou Kouhei
03:48 AM Revision 791e8eec (git): [ruby/fiddle] win32types: sort
https://github.com/ruby/fiddle/commit/35dec6c5a5 Sutou Kouhei
03:48 AM Revision 8758b07b (git): [ruby/fiddle] Fix more Win32Types definitions
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
https://github.com/ruby/fiddle/commit/805c1a595a
Sutou Kouhei
03:48 AM Revision 25e56fe3 (git): [ruby/fiddle] Fix Win32Types for Windows 64-bit (#63)
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
https://github.com/ruby/fiddle/commit/28ee5b1608
orgads (Orgad Shaneh)
03:48 AM Revision 8d63b1dc (git): [ruby/fiddle] Bump version
https://github.com/ruby/fiddle/commit/0cbd370fd6 Sutou Kouhei
03:48 AM Revision 881b2dc8 (git): [ruby/fiddle] closure: add support for const char *
GitHub: fix GH-62
Reported by Cody Krieger. Thanks!!!
https://github.com/ruby/fiddle/commit/284b820f2d
Sutou Kouhei
03:48 AM Revision b2de5999 (git): [ruby/fiddle] closure: accept symbol as type
https://github.com/ruby/fiddle/commit/dc2da6633e Sutou Kouhei
03:48 AM Revision 212d836c (git): [ruby/fiddle] Remove wrong comment
https://github.com/ruby/fiddle/commit/831522e768 Sutou Kouhei
03:48 AM Revision 7bd3d6d2 (git): [ruby/fiddle] Bump version
https://github.com/ruby/fiddle/commit/63e5f98412 Kenta Murata

05/17/2021

07:07 PM Feature #11747: "bury" feature, similar to 'dig' but opposite
schwad (Nick Schwaderer) wrote in #note-10:
> I think the issues/problems specified in the comments are not present with a Hash-only implementation. :)
> ...
The XKeys gem does not meet your requirements?
bkatzung (Brian Katzung)
01:03 PM Feature #11747: "bury" feature, similar to 'dig' but opposite
I agree that Hash-only use case looks most relevant, and I was thinking that ruby has something build in.
It would also be cool to have an ability to transform value using this method, like:
``` ruby
# set value
{}.bury(:a, :b, :c) { 1...
pbonda (Pavel Bonda)
06:19 PM Revision 4ba97c6f (git): * 2021-05-18 [ci skip]
git[bot]
06:17 PM Revision 725b6660 (git): Use a shared spec for YAML.load and YAML.unsafe_load
Eregon (Benoit Daloze)
06:12 PM Revision 2321ade4 (git): Prefer respond_to? to defined? in MSpec
Eregon (Benoit Daloze)
10:51 AM Revision ee611341 (git): Bump version of required_ruby_version to 2.3. Fixes #464
hsbt (Hiroshi SHIBATA)
10:51 AM Revision 2de594ca (git): [flori/json] Deduplicate strings inside json_string_unescape
[ci 2]
https://github.com/flori/json/commit/1982070cb8
byroot (Jean Boussier)
10:51 AM Revision 1d2b4cca (git): [flori/json] Refactor json_string_unescape
https://github.com/flori/json/commit/f398769332 byroot (Jean Boussier)
10:26 AM Revision 8a974dc8 (git): [flori/json] Fix incorrect `#` position in API doc
This change fixes an incorrect `#` position in the API documentation of the `JSON` module.
https://github.com/flori/json/commit/dc4b62424f
Masafumi Koba
10:22 AM Revision 1f91627c (git): Removed EOL version from .github/workflows/spec_guards.yml
hsbt (Hiroshi SHIBATA)
10:05 AM Bug #17866 (Closed): Incompatible changes with Psych 4.0.0
Psych-4.0.0 changes `Psych.safe_load` by the default.
https://github.com/ruby/psych/pull/487
It breaks the several code like:
* https://github.com/ruby/ruby/commit/da5b28396397ace84d914cb188055cbeb46b8725
* https://github.com/r...
hsbt (Hiroshi SHIBATA)
06:42 AM Revision 93fb186d (git): spec/ruby/library/yaml: Test YAML.unsafe_load instead of YAML.load in 3.1
mame (Yusuke Endoh)
06:32 AM Revision 008a63c4 (git): Revert "Use YAML.unsafe_load instead of YAML.load."
This reverts commit a0e97b0e2e4314a0815d09beb825e38f234778da. mame (Yusuke Endoh)
06:28 AM Revision e36da7ba (git): Revert an accidentally commits at df86a13cc150f573b1078779667a1573747d3dbd
hsbt (Hiroshi SHIBATA)
05:31 AM Revision 31a757a4 (git): Make the test pass with the old libyaml
I have no idea what result is right, but it fails with libyaml 0.1.7
(bundled with Ubuntu 18.04) anyway.
mame (Yusuke Endoh)
05:31 AM Revision f367b4ff (git): assert_equal accepts an expected value as the first argument
mame (Yusuke Endoh)
04:54 AM Feature #17047: Support parameters for MAIL FROM and RCPT TO
xtkoba (Tee KOBAYASHI) wrote in #note-9:
> I am sorry that I cannot evaluate the importance of this proposal.
> ...
SMTPUTF8 is getting more and more supported. ICANN has an "Universal Acceptance" group that provides all kinds of resou...
duerst (Martin Dürst)
04:36 AM Revision a0e97b0e (git): Use YAML.unsafe_load instead of YAML.load.
This is a temporary workaround. We should rewrite the examples with
permitted_classes.
hsbt (Hiroshi SHIBATA)
04:15 AM Misc #17811: DevelopersMeeting20210521Japan
* [Bug #17781] Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
* Security issue is quite severe (can cause denial of service), any chance we can do a 2.7.4 release shortly?
sam.saffron (Sam Saffron)
02:38 AM Misc #17811: DevelopersMeeting20210521Japan
* [Feature #17863] rewrite lib/debug.rb with latest API (ko1)
* Please confirm APIs (file name, method name, etc)
ko1 (Koichi Sasada)
03:57 AM Revision dfecc650 (git): Workaround with fbb4e3f96c10de2240f2d87eac19cf6f62f65fea in yaml/store.rb
hsbt (Hiroshi SHIBATA)
03:53 AM Revision ffdf0232 (git): lib/rdoc/rdoc.rb: Allow only RDoc::Options in .rdoc_options
Follow-up of d8fd92f62024d85271a3f1125bc6928409f912e1. Instead of using
unsafe_load blindly, RDoc::Options is only supposed to be allowed.
mame (Yusuke Endoh)
03:04 AM Revision d8fd92f6 (git): Workaround with fbb4e3f96c10de2240f2d87eac19cf6f62f65fea in rdoc
hsbt (Hiroshi SHIBATA)
03:00 AM Revision 8e91b969 (git): Workaround with fbb4e3f96c10de2240f2d87eac19cf6f62f65fea
hsbt (Hiroshi SHIBATA)
02:36 AM Revision da5b2839 (git): test/ostruct/test_ostruct.rb: Use YAML.unsafe_load instead of YAML.load
Follow-up of fbb4e3f96c10de2240f2d87eac19cf6f62f65fea mame (Yusuke Endoh)
02:20 AM Revision 42b20bdb (git): [ruby/psych] remove deprecated interface
https://github.com/ruby/psych/commit/0767227051 tenderlovemaking (Aaron Patterson)
02:20 AM Revision b0e21197 (git): [ruby/psych] Bump version
https://github.com/ruby/psych/commit/1df86a2e81 tenderlovemaking (Aaron Patterson)
02:20 AM Revision fbb4e3f9 (git): [ruby/psych] Use Psych.safe_load by default
Psych.load is not safe for use with untrusted data. Too many
applications make the mistake of using `Psych.load` with untrusted data
and that ends up with some kind of security vulnerability.
This commit changes the default `Psych.load...
tenderlovemaking (Aaron Patterson)
02:20 AM Revision c7c2ad57 (git): [ruby/psych] Introduce `Psych.unsafe_load`
In future versions of Psych, the `load` method will be mostly the same
as the `safe_load` method. In other words, the `load` method won't
allow arbitrary object deserialization (which can be used to escalate to
an RCE). People that nee...
tenderlovemaking (Aaron Patterson)
02:20 AM Revision bcaa6aec (git): [ruby/psych] Removed needless platform detection
https://github.com/ruby/psych/commit/57d704fd63 hsbt (Hiroshi SHIBATA)
02:20 AM Revision df86a13c (git): [ruby/psych] Import test assertions from ruby/ruby
https://github.com/ruby/psych/commit/01dda86681 hsbt (Hiroshi SHIBATA)
02:20 AM Revision a3ceed50 (git): [ruby/psych] Fix symabolize_name with non-string keys
https://github.com/ruby/psych/commit/1c5c29e81f byroot (Jean Boussier)
02:20 AM Revision 830778db (git): [ruby/psych] feat: allow scalars and sequences to be styled when dumped
https://github.com/ruby/psych/commit/546154ddb7 whitehat101 (Jeremy Ebler)

05/16/2021

11:50 PM Feature #17762 (Closed): A simple way to trace object allocation
Applied in changeset commit:git|167cff6a5d5241e2929392682cc3a68ece3b0caf.
----------
NEWS.md: mention lib/objspace/trace.rb [Feature #17762]
mame (Yusuke Endoh)
11:50 PM Revision 167cff6a (git): NEWS.md: mention lib/objspace/trace.rb [Feature #17762]
mame (Yusuke Endoh)
11:33 PM Bug #12551 (Closed): Exception accessing file with long path on windows
Applied in changeset commit:git|229cb0fcdb7957b19d7042b000d803ae58cc6593.
----------
[Win32] long path name support [Bug #12551]
Implement long path support on Windows by applying Microsoft's
recommended application manifest.
To make ...
gabuscus (Gabriel Nagy)
11:33 PM Revision 35981cb5 (git): * 2021-05-17 [ci skip]
git[bot]
11:33 PM Revision 229cb0fc (git): [Win32] long path name support [Bug #12551]
Implement long path support on Windows by applying Microsoft's
recommended application manifest.
To make this work on both Visual C++ and MinGW, include the manifest as
a resource when generating the resource files. This way it will be
...
gabuscus (Gabriel Nagy)
12:47 PM Bug #17865 (Closed): clang 12 -Wcompound-token-split-by-macro warning in ruby.h
Backport-ready. nobu (Nobuyoshi Nakada)
10:07 AM Bug #17865 (Closed): clang 12 -Wcompound-token-split-by-macro warning in ruby.h
As reported in [pull request \#4504](https://github.com/ruby/ruby/pull/4504) (originally via [FreeBSD PR 255910](https://bugs.freebsd.org/255910)), certain ruby gem native extensions (such as thrift, see [here](http://package22.nyi.freeb... _dim (Dimitry Andric)
09:27 AM Revision adafa810 (git): PAGE_SIZE is never used on msys/mingw
nobu (Nobuyoshi Nakada)
08:12 AM Feature #17724: Make the pin operator support instance/class/global variables
> I think it makes sense to also support instance/class/global variables directly.
I agree.
What do you think, @matz?
ktsj (Kazuki Tsujimoto)

05/15/2021

09:00 PM Bug #12551: Exception accessing file with long path on windows
Almost! :D Thank you for the makefile improvements.
This took me way longer than expected but I finally have it working: https://github.com/ruby/ruby/pull/4505
gabuscus (Gabriel Nagy)
11:38 AM Bug #12551: Exception accessing file with long path on windows
Does this work?
https://github.com/ruby/ruby/compare/master...nobu:bug/12551-win32-long-path
nobu (Nobuyoshi Nakada)
09:43 AM Bug #12551: Exception accessing file with long path on windows
I changed it to match the example from Microsoft:
``` xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3...
gabuscus (Gabriel Nagy)
08:18 AM Bug #12551: Exception accessing file with long path on windows
Thank you for the input.
It seems different from this document a little:
https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later
Is it converti...
nobu (Nobuyoshi Nakada)
05:19 PM Bug #17493 (Closed): Calling Reline::Unicode.calculate_width appears to lock up when called from emacs or if output is redirected
jeremyevans0 (Jeremy Evans)
03:07 PM Revision de6e76ff (git): * 2021-05-16 [ci skip]
git[bot]
03:07 PM Revision 8560f342 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
10:13 AM Revision 3e1d32a2 (git): * 2021-05-15 [ci skip]
git[bot]
10:12 AM Revision eef406ac (git): [ruby/irb] IRB should use the latest Reline, 0.2.5
https://github.com/ruby/irb/commit/34496e20e8 aycabta (aycabta .)

05/14/2021

08:03 PM Bug #12551: Exception accessing file with long path on windows
Hello,
I managed to compile Ruby with Visual C++ and long paths support by using an application manifest. I validated some basic things like executing a script from a really long path, and creating a directory with path over 255 chara...
gabuscus (Gabriel Nagy)
06:28 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
> Do you have an example?
I don't have a specific example in mind, but for instance things like:
```ruby
module Namespace
extend self
def clear_something
@something, old_something = Something.new, @something
@som...
byroot (Jean Boussier)
06:22 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
This is also a bit related to the proposed `Timeout.wake` in #17363, but that would only interrupt blocking methods and it's unclear if that includes Regexp matching (probably not since it's CPU work, not waiting on anything external), a... Eregon (Benoit Daloze)
06:15 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
Another way to express the idea is that `ensure; code(); end` would automatically behave like `Thread.handle_interrupt(Object => :never) { code }`.
Since that would be directly in the interpreter and not actually call `Thread.handle_int...
Eregon (Benoit Daloze)
06:07 PM Feature #17863: rewrite lib/debug.rb with latest API
"Break Point" I presume. But yes, my 2 cents of feedback is the same. Might just be habit, but I had a hard time remembering it just during my 10 minutes session of trying the gem.
I'm very used to `Kernel#debugger` / `Kernel#byebug`....
byroot (Jean Boussier)
05:59 PM Feature #17863: rewrite lib/debug.rb with latest API
> `binding.bp`
What does `bp` mean? It seems hard to guess. Why not `binding.debugger` or `binding.debug` ?
Eregon (Benoit Daloze)
03:15 PM Feature #17863: rewrite lib/debug.rb with latest API
I tried it with our app, and it crashes weirdly, maybe because of `Thread.report_on_exception = true`?
```
(rdbg) c
#<Thread:0x00007fa3421f4630 ~/.gem/ruby/3.0.1/gems/debug-1.0.0.beta3/lib/debug/session.rb:78 run> terminated with ex...
byroot (Jean Boussier)
05:42 AM Feature #17863 (Closed): rewrite lib/debug.rb with latest API
I rewrite lib/debug.rb (called old debug.rb) with recent TracePoint APIs (called new debug.rb).
It has several incompatibility but maybe nobody uses lib/debug.rb so there is no compatible issues. In fact I tried several features of li...
ko1 (Koichi Sasada)
04:10 PM Bug #17855: [BUG] object allocation during garbage collection phase
As for C level backtrace, I believe that the most reliable way to obtain one is to attach a debugger such as GDB or LLDB. For debugging purposes it is preferable that you turn off any compiler optimizations (`./configure optflags=-O0`). xtkoba (Tee KOBAYASHI)
03:39 PM Bug #17855: [BUG] object allocation during garbage collection phase
I don't really have a reproducible example for this issue, it just happenned sometimes in my application, is there any logging thing I can add to my project to give more informations about this ? Thank you. Tikroz (Tikroz .)
11:49 AM Bug #17864: [BUG] try to mark T_NONE object (in Ractors)
I've run this `ruby -e"200.times { system('ruby src/IODigester.ytest_copy.rb') }"` to check the probability, 88% success rate with `ruby 3.0.1p64`.
I guess I'll wait before playing with Ractors like this.
NuriYuri (Youri Nouri)
10:55 AM Bug #17864: [BUG] try to mark T_NONE object (in Ractors)
Yeah, I believe this has already been fixed (or at least the probability of segfault has been made much lower). xtkoba (Tee KOBAYASHI)
07:33 AM Bug #17864 (Closed): [BUG] try to mark T_NONE object (in Ractors)
Hello,
I tried to make an experiment with Ractors, computing SHA1 using Ractors (I was hopping to divide the computation time because SHA1 hashing does not release GVL and I'm running a "GUI" that has time constraint).
When I test wit...
NuriYuri (Youri Nouri)
11:19 AM Bug #17618: Exceptions in Fiber Scheduler causes a segv
Okay, now rather than SEGV, I get unlimited number of
```
undefined method `unblock' for #<Scheduler:0x000000010a1b1fb0> (NoMethodError)
```
which I think is at least somewhat better. So I'll merge the PR.
ioquatix (Samuel Williams)
09:10 AM Revision 5f8bca32 (git): tool/lib/minitest/mock.rb: define Object#stub only when not defined
Recently, lib/rubygems/test_case.rb also defines the method. mame (Yusuke Endoh)
09:07 AM Revision f210d456 (git): test/objspace/test_objspace.rb: check stderr before stdout
When `require "objspace/trace"` fails, previously the failure says:
```
1) Failure:
TestObjSpace#test_objspace_trace [/tmp/ruby/v3/src/trunk-mjit/test/objspace/test_objspace.rb:621]:
<3> expected but was
<0>.
```
but this is hard to de...
mame (Yusuke Endoh)
07:54 AM Feature #17859: Start IRB when running just `ruby`
deivid (David Rodríguez) wrote in #note-5:
> I normally use `-e` too for short code evaluation and a REPL for longer sessions.
I use `-e` too, but often people mix single- and double-quotes in a same code, then I have to feed it via ...
nobu (Nobuyoshi Nakada)
06:44 AM Revision 702961a8 (git): test/ruby/test_refinement.rb: prevent "assigned but unused variable"
mame (Yusuke Endoh)
06:39 AM Revision f691c157 (git): ext/objspace/lib/objspace/trace.rb: Remove the original Kernel#p
... to disable a "method redefined" warning.
http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210514T050008Z.fail.html.gz
```
1) Failure:
TestObjSpace#test_objspace_trace [/export/home/chkbuild/chkbuild-gcc/tmp/build/202...
mame (Yusuke Endoh)
05:03 AM Feature #17762 (Assigned): A simple way to trace object allocation
I realized that the compatibility of this library is not important at all, because this is a tool for human's debugging. Any codebase must not use it. This means that we can change the file name and APIs anytime if needed, even after it ... mame (Yusuke Endoh)
04:44 AM Feature #17762 (Closed): A simple way to trace object allocation
Applied in changeset commit:git|cf1e1879f12ad547f95fe94ab62b4d960e804eb8.
----------
ext/objspace/lib/objspace/trace.rb: Added
This file, when require'ed, starts tracing the object allocations, and
redefines `Kernel#p` to show the allo...
mame (Yusuke Endoh)
04:40 AM Revision cf1e1879 (git): ext/objspace/lib/objspace/trace.rb: Added
This file, when require'ed, starts tracing the object allocations, and
redefines `Kernel#p` to show the allocation site.
This commit is experimental; the library name and APIs may change.
[Feature #17762]
mame (Yusuke Endoh)
12:33 AM Revision 7cf90f99 (git): Refix PAGE_SIZE
* honor actually used headers
* include sys/user.h only when `PAGE_SIZE` is not defined
nobu (Nobuyoshi Nakada)
12:31 AM Revision a168c477 (git): Make USE_MMAP_ALIGNED_ALLOC static const
nobu (Nobuyoshi Nakada)
12:15 AM Feature #17724: Make the pin operator support instance/class/global variables
I've added a pull request to directly support instance/class/global variables with the pin operator: https://github.com/ruby/ruby/pull/4502
You could already use all of those variables with the pin expression support by surrounding th...
jeremyevans0 (Jeremy Evans)
 

Also available in: Atom