Project

General

Profile

Activity

From 04/27/2021 to 05/03/2021

05/03/2021

11:53 PM Revision 7a3dd05e (git): spec/ruby/library/net/http/http/fixtures/http_server.rb host naming for Windows
MSP-Greg (Greg L)
11:53 PM Revision 5a42ef49 (git): Fix test/net/http/test_https.rb host naming for Windows
MSP-Greg (Greg L)
09:11 PM Revision 9a6226c6 (git): Eagerly allocate instance variable tables along with object
This allows us to allocate the right size for the object in advance,
meaning that we don't have to pay the cost of ivar table extension
later. The idea is that if an object type ever became "extended" at
some point, then it is very like...
tenderlovemaking (Aaron Patterson)
09:10 PM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
Just for the record, there turns out to be a Clang/LLVM bug in its `__builtin_longjmp` implementation for ARM Linux (more specifically for non-Darwin and non-Windows) for which there seems to be no reliable workaround on user's side.
...
xtkoba (Tee KOBAYASHI)
07:08 PM Bug #17846: Percent mode changes the output from ERB beyond what is documented
Apologies if intentional, but it seems that whitespace between `<%` and `#` can be troublesome:
https://makandracards.com/makandra/3533-erb-templates-and-comments
xtkoba (Tee KOBAYASHI)
04:31 PM Feature #11963 (Closed): Add a simple static web server to `ruby`
jeremyevans0 (Jeremy Evans)
04:26 PM Feature #11963: Add a simple static web server to `ruby`
I guess this one can be closed, I've just ran my first `ruby -run -e httpd . -p 8080` using ruby 2.7! ulysse (Ulysse Buonomo)
04:00 PM Revision a6ff1dc6 (git): * 2021-05-04 [ci skip]
git[bot]
03:59 PM Revision 14ee2635 (git): Workaround failures on Windows
nobu (Nobuyoshi Nakada)
03:44 PM Bug #17812 (Closed): Timeout::Error doesn't let two-argument raise() set a new message
jeremyevans0 (Jeremy Evans)
02:57 PM Feature #17837: Add support for Regexp timeouts
> I admit that this is less important than per-request timeout.
I'd like to second what Sam said on this. With what is now the most common way of deploying Ruby in production, namely a threaded web-server like Puma, there is no good w...
byroot (Jean Boussier)
01:38 PM Feature #17837: Add support for Regexp timeouts
Eregon (Benoit Daloze) wrote in #note-5:
> Shouldn't an app have a global timeout per request anyway, and that would catch regexps and other things too?
I agree that it is much better to have. Still, I think this proposal is good-to-...
mame (Yusuke Endoh)
07:57 AM Feature #17837: Add support for Regexp timeouts
> Shouldn't an app have a global timeout per request anyway
Sort of, it gets complicated. Unicorn is easy cause it is single threaded. Killing off threads in Puma is much more fraught, in Sidekiq the old pattern of killing off was nuk...
sam.saffron (Sam Saffron)
01:29 PM Feature #17847: `ruby -run -e httpd` displays URL
+1 mame (Yusuke Endoh)
12:56 PM Feature #17847 (Closed): `ruby -run -e httpd` displays URL
The current version of un.rb `httpd` shows port number only:
```
$ ruby -run -e httpd
[2021-05-03 21:55:09] INFO WEBrick 1.7.0
[2021-05-03 21:55:09] INFO ruby 3.1.0 (2021-05-03) [x86_64-linux]
[2021-05-03 21:55:09] INFO WEBrick...
gotoken (Kentaro Goto)
11:34 AM Feature #17795: Around `Process.fork` callbacks API
Another use-case I found: https://github.com/rubyjs/mini_racer#fork-safety
That gem (and others of course) could provide some helpers methods based on the chosen strategy if there is a common hook.
Right now providing fork safety (if...
Eregon (Benoit Daloze)
12:46 AM Bug #17843: Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110)
Apologies about my misleading statement about support for the OS.
It doesn't seem to be receiving security updates anymore so I had assumed it reached end of life.
Looking at the report, the crash happens after fork.
There was a Ruby cr...
alanwu (Alan Wu)

05/02/2021

11:44 PM Bug #17843: Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110)
The latest version of Xcode (12.5 beta) seems to support macOS 10.9 or later: https://developer.apple.com/support/xcode/ xtkoba (Tee KOBAYASHI)
11:11 PM Bug #17843: Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110)
OS X El Capitan is no longer supported by Apple.
I'm not sure about Ruby's policy for trying to support OSes that the vendor no longer supports.
In any case, I would suggest upgrading to a newer OS to deal with the crash.
alanwu (Alan Wu)
11:17 PM Revision a0296448 (git): * 2021-05-03 [ci skip]
git[bot]
11:17 PM Revision 511b2f30 (git): Get rid of misleading indentation
xtkoba (Tee KOBAYASHI)
09:26 PM Feature #17845: Windows Ruby - ucrt build?
@larskanis
Sorry, I meant to ping you immediately, but got distracted. Also, I saw your changes to ridk, but didn't see your patch file.
Anyway, I agree that there needs to be some way to distinguish between mingw and ucrt builds....
MSP-Greg (Greg L)
08:11 PM Feature #17845: Windows Ruby - ucrt build?
> I wonder if there is a standard target triplet for MinGW + UCRT.
The compiler triplet for MINGW with UCRT is still 'x86_64-w64-mingw32'. This is defined in MSYS2 [here](https://github.com/msys2/MSYS2-packages/blob/master/filesystem...
larskanis (Lars Kanis)
06:42 PM Bug #17846 (Rejected): Percent mode changes the output from ERB beyond what is documented
```
/ # cat repro.erb
<% # %>x
y
/ # erb repro.erb
y
/ # erb -P repro.erb
/ #
```
Based on documentation of -P (disabling percent mode), this change in behavior
is unexpected.
graywolf (Gray Wolf)

05/01/2021

08:06 PM Bug #17774: Quantified empty group causes regex to fail
sawa (Tsuyoshi Sawada) wrote in #note-3:
> wanabe (_ wanabe) wrote in #note-2:
> ...
Oh I'm very sorry, I wrote it wrong.
I was aware of it, but I simply used the wrong word.
wanabe (_ wanabe)
12:50 PM Bug #17774: Quantified empty group causes regex to fail
wanabe (_ wanabe) wrote in #note-2:
> ... Oniguruma, a derivative of Onigmo
I believe it is the other way around.
sawa (Tsuyoshi Sawada)
11:06 AM Bug #17774: Quantified empty group causes regex to fail
The reproduction example could be a bit shorter.
```
$ ruby -ve 'p "xxxx" =~ /(?:x(){5})*$/, "xxxx" =~ /(?:x(){4})*$/'
ruby 3.1.0dev (2021-05-01T02:04:17Z origin/master 121fa24a34) [x86_64-linux]
3
0
```
This problem has already...
wanabe (_ wanabe)
07:41 PM Feature #17845: Windows Ruby - ucrt build?
MinGW `msvcrt` packages have a prefix of `mingw-w64-x86_64`,
MinGW ` ucrt ` packages have a prefix of `mingw-w64-ucrt-x86_64`.
MSP-Greg (Greg L)
07:33 PM Feature #17845: Windows Ruby - ucrt build?
I wonder if there is a standard target triplet for MinGW + UCRT. I came up with `x86_64-w64-mingw32-ucrt`, but when googled it hits only one page. I suppose something like `x64-mingw32-ucrt` is acceptable for `target_os` in `configure`, ... xtkoba (Tee KOBAYASHI)
06:38 PM Feature #17845 (Closed): Windows Ruby - ucrt build?
Currently, Windows Ruby is normally compiled two ways.
The first, mswin, is compiled using Microsoft's current Visual C compiler, and links to the universal runtime (ucrt).
The second, mingw, is compiled using MinGW gcc. This link...
MSP-Greg (Greg L)
03:09 PM Bug #17843: Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110)
I wonder if the problem disappears by backporting commit:4ea96f1d4f8a50c204c4367c994cdbf12cd97b64 which modifies `fill_random_bytes_syscall` so that it calls `CCRandomGenerateBytes` instead for newer environments (probably for macOS >= 1... xtkoba (Tee KOBAYASHI)
12:54 PM Bug #17843: Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110)
The stack trace shows that the crash occurred at:
```
libdispatch.dylib(_dispatch_queue_wakeup_with_qos_slow+126) [0x00007fff90ff9b06]
libcorecrypto.dylib(ccrng_CommonCrypto_generate+309) [0x00007fff9e03bddc]
libruby.3.0.dylib(ruby_f...
xtkoba (Tee KOBAYASHI)
08:03 AM Bug #17843 (Closed): Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110)
following tutorial
https://www.youtube.com/watch?v=nlKIJfv50U0
On this command
$ rails g scaffold Survey name:text laptop:binary os:text
the following error was generated with the following instruction
[BUG] Segmentation fault...
nayaronfire (kk nayar)
01:01 PM Feature #17844 (Open): Support list of methods to test with respond_to?
Not sure whether this is a good idea at all, but I guess it doesn't hurt to put it up for debate.
The preferred way to check e.g. whether an argument is acceptable is by use of `respond_to?`:
```ruby
# Don't
def notify(recipien...
svoop (Sven Schwyn)
02:04 AM Bug #17606 (Closed): Make failed on i386-cygwin (miniruby.exe aborted)
Applied in changeset commit:git|121fa24a3451b45c41ac0a661b64e9fc8600e589.
----------
Adjust struct member offset for i386 Cygwin
Fixes [Bug #17606]
xtkoba (Tee KOBAYASHI)
02:04 AM Revision 121fa24a (git): Adjust struct member offset for i386 Cygwin
Fixes [Bug #17606] xtkoba (Tee KOBAYASHI)
12:13 AM Revision f64d7674 (git): Fix example for custom warn method
Regexp has a match? method.
[ci skip]
adam12 (Adam Daniels)

04/30/2021

10:47 PM Misc #17842: Example incorrect in documentation for Hash#dig
Thanks for the fix! I merged your pull request. jeremyevans0 (Jeremy Evans)
10:46 PM Misc #17842 (Closed): Example incorrect in documentation for Hash#dig
Applied in changeset commit:git|a9824a3113ee5342e7ac90387de9f3b9d5ec9e0a.
----------
Correct documentation example on Hash#dig
Fixes [Misc #17842]. The current documentation suggests that:
{foo: {bar: {baz: 2}}}.dig(:foo, :bar...
nickkelley (Nick Kelley)
10:37 PM Misc #17842: Example incorrect in documentation for Hash#dig
Here is a pull request that fixes the comment: https://github.com/ruby/ruby/pull/4441
nickkelley (Nick Kelley)
10:30 PM Misc #17842 (Closed): Example incorrect in documentation for Hash#dig
In the current examples for Hash#dig, we have:
```
h = {foo: {bar: {baz: 2}}}
h.dig(:foo) # => {:bar=>{:baz=>2}}
h.dig(:foo, :bar) # => {:bar=>{:baz=>2}} <-- incorrect return value
```
This should be:
```
h = {foo: {bar: {baz: ...
nickkelley (Nick Kelley)
10:46 PM Revision a867d552 (git): * 2021-05-01 [ci skip]
git[bot]
10:46 PM Revision a9824a31 (git): Correct documentation example on Hash#dig
Fixes [Misc #17842]. The current documentation suggests that:
{foo: {bar: {baz: 2}}}.dig(:foo, :bar) # => {:bar=>{:baz=>2}}
when it should be:
{foo: {bar: {baz: 2}}}.dig(:foo, :bar) # => {:baz=>2}
nickkelley (Nick Kelley)
08:29 PM Feature #17837: Add support for Regexp timeouts
Shouldn't an app have a global timeout per request anyway, and that would catch regexps and other things too?
Capturing the time in regexp interrupt checks is easy but sounds fairly expensive.
Could such regexps emit a warning since ...
Eregon (Benoit Daloze)
03:06 PM Bug #17840: `make install` overriding file permission with 644
You are right! Thank you for your detailed explanation! I confirmed the files permissions were changed by your steps.
> As for package management, for example Gentoo Portage [removes bundled gems](https://gitweb.gentoo.org/repo/gentoo...
jaruga (Jun Aruga)
02:45 PM Bug #16798: ENV.replace on Windows with a variable name not respecting case will clear it
The backport breaks on RHEL7:
~~~
hash.c: In function 'keylist_delete':
hash.c:5661:5: error: 'for' loop initial declarations are only allowed in C99 mode
for (long i=0; i<RARRAY_LEN(keys); i++) {
^
hash.c:5661:5: note:...
vo.x (Vit Ondruch)
02:36 PM Bug #17823: addr2line.c: Interpret `DW_RLE_start_length`
PR: https://github.com/ruby/ruby/pull/4439 xtkoba (Tee KOBAYASHI)
02:11 PM Bug #17810: addr2line.c: Some symbol names missing in C backtrace with Clang/LLVM
PR: https://github.com/ruby/ruby/pull/4438
The second patch is omitted from the PR, because it turns out to be not very useful. The corresponding source file name should be easily guessable from the symbol name.
xtkoba (Tee KOBAYASHI)
12:40 PM Bug #17606: Make failed on i386-cygwin (miniruby.exe aborted)
PR: https://github.com/ruby/ruby/pull/4437 xtkoba (Tee KOBAYASHI)
11:56 AM Revision 1f255add (git): Silence GCC 11 warnings
```
../strftime.c: In function 'rb_strftime_with_timespec':
../strftime.c:392:39: warning: comparison is always false due to limited range of data type [-Wtype-limits]
392 | if (vtm->wday < 0 || vtm->wday > 6)
...
xtkoba (Tee KOBAYASHI)
11:46 AM Revision b2c54f53 (git): [ruby/irb] Need reline >= 0.1.6
irb 1.3.5 need reline >= 0.1.6 because irb use `Reline::IOGate.in_pasting?`.
This method defined after reline 0.1.6.
fix #228.
https://github.com/ruby/irb/commit/6b7b8fc324
ima1zumi (Mari Imaizumi)
11:22 AM Feature #17647: Print register `r11` on 32-bit ARM Linux
PR: https://github.com/ruby/ruby/pull/4436 xtkoba (Tee KOBAYASHI)
02:58 AM Revision 6ee55455 (git): Update Time documentation
burdettelamar (Burdette Lamar)

04/29/2021

10:35 PM Misc #17828 (Closed): Deprecate use of master and slave
We should only update the documentation and code on `etc/pty`. I totally agreed the Matz's opinion. hsbt (Hiroshi SHIBATA)
05:00 PM Misc #17828: Deprecate use of master and slave
For reference, the Rust project decided to switch to `main` because it is the tools default and running on defaults has value.
Still, it's doing so on a relaxed timeline: https://internals.rust-lang.org/t/changing-the-default-branch-fro...
Skade (Florian Gilcher)
10:22 PM Bug #16612: Enumerator::ArithmeticSequence#last with float range produces incorrect value
I've traced this to an off-by-one in `ruby_float_step_size`. I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/4434
@Eregon Unfortunately, you can't get `#each` to work like repeated edition without breaking...
jeremyevans0 (Jeremy Evans)
08:04 PM Bug #17840: `make install` overriding file permission with 644
user:jaruga That is because what you changed is the default value of `data_mode` which is overwritten by command-line options:
```
./miniruby -I../lib -I. -I.ext/common ../tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-li...
xtkoba (Tee KOBAYASHI)
06:42 PM Bug #17840: `make install` overriding file permission with 644

Thanks for checking. I assumed the data_mode (0644) might cause this situation.
However after editing `rbinstall.rb` to change the data_mode from 0644 to 0755, I still saw the installed files permissions were still 644.
```
$ vi...
jaruga (Jun Aruga)
06:13 PM Bug #17840: `make install` overriding file permission with 644
Seems intentionally done at [tool/rbinstall.rb:774](https://github.com/ruby/ruby/blob/dfca24af82e7d06adcb57f625573b0e558d9e5dc/tool/rbinstall.rb#L774). Files having pattern `libexec/*` are chmodded to `prog_mode` (0755), otherwise to `da... xtkoba (Tee KOBAYASHI)
04:30 PM Bug #17840 (Closed): `make install` overriding file permission with 644
On the current latest master `b0b5a4e86ef2740c427f9356a4173a1debf4f79c`, by the following steps, I can see the difference between files permission between installed Ruby's gems directory installed by `make install` and gems directory ins... jaruga (Jun Aruga)
07:13 PM Revision 5a451c4b (git): lldb: Warn when attempting to dump invalid pages
eightbitraptor (Matt V-H)
07:02 PM Bug #17841 (Closed): The first instance of SortedSet doesn't sort when rbtree is present
This is probably caused by the fix to #15830. Here's a pull request that should fix it: https://github.com/ruby/ruby/pull/4432, though I didn't test with rbtree. Closing and marking for backport. jeremyevans0 (Jeremy Evans)
06:32 PM Bug #17841 (Closed): The first instance of SortedSet doesn't sort when rbtree is present
If the `rbtree` gem is present, then in ruby 2.7, the first instance of `SortedSet` will return entries in insertion order. Future instances of `SortedSet` correctly return sorted entries.
Given:
```
require 'rbtree'
require 'set...
joshc (Josh C)
04:40 PM Revision dfca24af (git): * 2021-04-30 [ci skip]
git[bot]
04:36 PM Revision 19504d11 (git): test/net/smtp/test_smtp.rb: wait a moment before socket is closed
On Solaris, Socket.tcp seems to fail with EINVAL if the server closes
the connection immediately after accpeted. I think this is a bug of
Socket.tcp, but seems difficult to fix soon.
http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-ma...
mame (Yusuke Endoh)
02:58 PM Bug #17794: addr2line.c can free(3) an invalid pointer without zlib
PR: https://github.com/ruby/ruby/pull/4430
This should be trivial.
xtkoba (Tee KOBAYASHI)
02:28 PM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
PR: https://github.com/ruby/ruby/pull/4429 xtkoba (Tee KOBAYASHI)
01:39 PM Feature #17752: Enable -Wundef for C extensions in repository
user:Eregon Thank you very much. I have just learnt how to use GitHub. I will do it by myself next time. xtkoba (Tee KOBAYASHI)
01:27 PM Feature #17752: Enable -Wundef for C extensions in repository
I made a PR with @xtkoba's patches and additional fixes, as well as enabling undef warnings:
https://github.com/ruby/ruby/pull/4428
@xtkoba Importing patches is quite time-consuming, it would be better if you can already make commits...
Eregon (Benoit Daloze)
01:05 PM Feature #17837: Add support for Regexp timeouts
+1 wonderful and useful idea
Even without the DoS aspect, it's all too easy to create regexps with pathological performance that only manifests in certain edge cases, usually in production. It would be very useful if some kind of time...
Dan0042 (Daniel DeLorme)
05:23 AM Feature #17837: Add support for Regexp timeouts
Invoking a thread implicitly in the interpreter is troublesome. Previously, Ruby had a timer thread, but as far as I know, it was (almost) abundaned by @normalperson. If you try to revive a timer thread, you should learn the complex hist... mame (Yusuke Endoh)
11:27 AM Bug #16492: TestBugReporter#test_bug_reporter_add test failures
Note I am planing to check this ticket after reviving Travis s390x (#17818).
jaruga (Jun Aruga)
08:53 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
ruby_3_0 3e07a4edc92f18dec4806961c1b724ac5cf4d6b2 merged revision(s) 3a3033c138c0951ad5edbf02b5c233b58a190d2f. nagachika (Tomoyuki Chikanaga)
08:53 AM Revision 3e07a4ed (git): merge revision(s) 3a3033c138c0951ad5edbf02b5c233b58a190d2f: [Backport #17787]
get rid of using `__builtin_unreachable` directly [Bug #17787]
As it is an independent feature from `clz`, `ctz` and `popcount`,
it might be unavailable even if the latters are built in.
---
internal/bit...
nagachika (Tomoyuki Chikanaga)
08:49 AM Revision cc4e6026 (git): merge revision(s) 87c546b5fa97e6e226cce4daf417617a1143f642,7a3322a0fd660d676f1918bd7c4a37676b44e1c2:
Avoid using inconsistent coding style
Other `_mjit_compile_*.erb` files don't use goto. These files'd better
be consistent for readability.
---
tool/ruby_vm/views/_mjit_compile_getinlinecache.erb | 14 ++...
nagachika (Tomoyuki Chikanaga)
08:20 AM Revision 58240b5d (git): merge revision(s) 4ae27d8075b2d138d13cb2b112f0ee50934b3017,2670509ebba5ba31a5bf34cf906943075446e005,8e2ac2140d1cd9c163c1556df58c020dc22ab269:
[ruby/net-ftp] Reduce resource cosumption of Net::FTP::TIME_PARSER
Reported by Alexandr Savca as a DoS vulnerability, but Net::FTP is a
client library and the impact of the issue is low, so I have decided
to fix ...
nagachika (Tomoyuki Chikanaga)
01:57 AM Feature #16962: Make IO.for_fd autoclose option default to false
ioquatix (Samuel Williams) wrote in #note-4:
> Thanks for looking into this.
> ...
My git blame magic ball shows that Ruby has always done this. It was temporarily changed in commit:6f1edacc010c48c5762598fed74ff4f1e62d1b20 and then qu...
jeremyevans0 (Jeremy Evans)
12:21 AM Feature #16962: Make IO.for_fd autoclose option default to false
Thanks for looking into this.
Not being able to close some file descriptors when using `IO.for_fd` is almost certainly a bug.
```
/* need to keep FILE objects of stdin, stdout and stderr */
```
Why?
ioquatix (Samuel Williams)
12:07 AM Feature #16962: Make IO.for_fd autoclose option default to false
I looked into this and I think it's because stdin, stdout, and stderr are special cased:
```c
if (IS_PREP_STDIO(fptr) || fd <= 2) {
/* need to keep FILE objects of stdin, stdout and stderr */
}
```
This Ruby pro...
jeremyevans0 (Jeremy Evans)

04/28/2021

11:52 PM Bug #17583: Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
nobu (Nobuyoshi Nakada) wrote in #note-9:
> Does this work?
> ...
@nobu I tested it and it fixes the problem on OpenBSD/amd64.
jeremyevans0 (Jeremy Evans)
09:36 PM Bug #17804: Math.cbrt(0.0) returns NaN
I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/4425 jeremyevans0 (Jeremy Evans)
08:30 PM Bug #16680 (Closed): Symlink folder in $LOAD_PATH does not work with autoload
I tried this with Ruby 2.6, 2.7, and 3.0, and got the same results with all three:
```
$ ls -ld /home/jeremy/tmp/looksee1
lrwxr-xr-x 1 jeremy jeremy 7 Apr 28 13:19 /home/jeremy/tmp/looksee1 -> looksee
$ ruby26 -I /home/jeremy/tm...
jeremyevans0 (Jeremy Evans)
07:26 PM Bug #17839: Windows CI failures with net/http - fix at ruby/net-http
Windows failures in test-all & test-spec are fixed by ruby/ruby PR https://github.com/ruby/ruby/pull/4424.
Patches also applied to ruby-loco, both mingw & mswin passed. Ruby-loco's mswin runs full testing, unlike CI here...
MSP-Greg (Greg L)
03:30 PM Bug #17839 (Closed): Windows CI failures with net/http - fix at ruby/net-http
CI is currently broken on Windows builds.
Fix is at https://github.com/ruby/net-http/pull/20, adds Windows CI, updates workflow yaml, fixes host naming, etc
Actions runs now need approval for first time contributors. If someone co...
MSP-Greg (Greg L)
06:52 PM Bug #17836: JIT fails to create a precompiled header with Clang
Sorry, I forgot adding `Co-authored-by` in the commit message (please consider using GitHub if you care), but I merged your patch. Thanks. k0kubun (Takashi Kokubun)
06:50 PM Bug #17836 (Closed): JIT fails to create a precompiled header with Clang
Applied in changeset commit:git|9f8a50723f8a84b3e4755b418570148f422d1b28.
----------
Specify -c to emit pch with clang (#4423)
[Bug #17836]
k0kubun (Takashi Kokubun)
06:50 PM Revision b0b5a4e8 (git): * 2021-04-29 [ci skip]
git[bot]
06:49 PM Revision 9f8a5072 (git): Specify -c to emit pch with clang (#4423)
[Bug #17836] k0kubun (Takashi Kokubun)
05:11 PM Bug #17585: DWARF5 support?
Fedora Rawhide is using GCC11 since ~beginning of the year and I am not aware of any issues. Actually, Fedora 34 was released yesterday, so should there been any issues, we will soon find out :) vo.x (Vit Ondruch)
11:24 AM Bug #17585: DWARF5 support?
GCC 11 is released yesterday, and in [Changes, New Features, and Fixes](https://gcc.gnu.org/gcc-11/changes.html) it is said that:
```
To take full advantage of DWARF version 5 GCC needs to be build against binutils version 2.35.2 or ...
xtkoba (Tee KOBAYASHI)
11:44 AM Bug #17542 (Closed): Username and password are not decoded if retrieved from env
fixed at 842f00f45212019a3b07f8d8dac269d35beb9efa nagachika (Tomoyuki Chikanaga)
09:48 AM Revision 96fd1e1f (git): Removed unused macro HAVE_CONFIG_H
It seems like a vestige of ext/md5. nobu (Nobuyoshi Nakada)
09:48 AM Revision 795fb51f (git): NDEBUG is ignored since Ruby 3.0
nobu (Nobuyoshi Nakada)
08:58 AM Revision f985dafe (git): Guard for < Ruby 3.0
hsbt (Hiroshi SHIBATA)
08:48 AM Revision 7f1323c3 (git): [ruby/ostruct] Add compatibility for to_h with block in Ruby 2.5
https://github.com/ruby/ostruct/commit/da45de5068 Marc-Andre Lafortune
08:33 AM Revision 37b445ea (git): [ruby/ostruct] Compatibility with Ruby 2.5
https://github.com/ruby/ostruct/commit/ecd9fafdf8 Marc-Andre Lafortune
07:25 AM Feature #17837: Add support for Regexp timeouts
I wonder if even a lightweight SIGVTALRM may be too much of a performance hit? On the upside though not needing to think about a background thread is nice!
If we are doing a background thread implementation I would recommend dropping...
sam.saffron (Sam Saffron)
05:23 AM Feature #17837: Add support for Regexp timeouts
I like this idea. It might be better to use SIGVTALRM instead of a monitor thread. However, it may affect the performance of a program that repeatedly uses a small and trivial regexp. Anyone can try to implement it and evaluate the perfo... mame (Yusuke Endoh)
06:05 AM Feature #16989: Sets: need ♥️
Is there a chance this feature lands in 3.1? greggzst (Grzegorz Jakubiak)
05:56 AM Misc #17828: Deprecate use of master and slave
zzak (Zachary Scott) wrote in #note-5:
> For me, having different branch names is just a quality of life improvement. Every project at my company has switched to "main", and many OSS projects I hack on have as well. Having to remember w...
duerst (Martin Dürst)
12:38 AM Misc #17828: Deprecate use of master and slave
For me, having different branch names is just a quality of life improvement. Every project at my company has switched to "main", and many OSS projects I hack on have as well. Having to remember which one uses "main" and which one uses "m... zzak (zzak _)
04:49 AM Feature #17838 (Closed): `Set#intersect?` and enumerables
`Set#intersect?` currently accepts only a `set` argument.
It should accept an enumerable argument:
```ruby
[1, 2, 3].intersect?(Set[2, 3, 4]) # => true
Set[2, 3, 4].intersection([1, 2, 3]) # => Set[2, 3]
Set[2, 3, 4].intersect?(...
marcandre (Marc-Andre Lafortune)
03:02 AM Bug #17799: Seg fault in rb_class_clear_method_cache
I doubt if `rb_class_detach_module_subclasses` in `class.c` is worth investigating. The reason is as follows. As mentioned in #note-6, there is a large gap between Frame 6 and Frame 8 of the crashed thread which we cannot fill in, and so... xtkoba (Tee KOBAYASHI)
02:56 AM Revision 2afbe711 (git): [ruby/optparse] Add EditorConfig file
More info here: https://editorconfig.org/
For example, `ruby/ruby` has it: https://github.com/ruby/ruby/blob/05ebaee/.editorconfig
Also fix some offenses.
https://github.com/ruby/optparse/commit/29402e7e0e
AlexWayfer (Alexander Popov)
02:10 AM Revision 908785ef (git): [ruby/net-imap] Fix typo intentionaly -> intentionally [ci skip]
https://github.com/ruby/net-imap/commit/4057c662e7 kamipo (Ryuta Kamizono)
02:03 AM Revision 0296a644 (git): [ruby/net-http] Initialize OpenSSL early before creating TCPSocket
OpenSSL make take some time to initialize, and it would be best
to take that time before connecting instead of after.
From joshc on Redmine.
Fixes Ruby Bug #9459
https://github.com/ruby/net-http/commit/14e09fba24
jeremyevans (Jeremy Evans)
02:01 AM Revision 1229ad05 (git): [ruby/net-http] Fix the regexp used to clean the host
Introduced in https://github.com/ruby/ruby/commit/c1652035644
`/s` marks the regexp as encoded with Windows-31J which makes little
sense.
Nurse thinks the intent was to use `/m` for a multi-line regexp.
https://github.com/ruby/net-htt...
byroot (Jean Boussier)
02:01 AM Revision 842f00f4 (git): [ruby/net-http] Decode user and password from env configured proxy
If someone sets an env variable defining a http_proxy, containing a
username / password with percent-encoded characters, then the resulting
base64 encoded auth header will be wrong.
For example, suppose a username is `Y\X` and the passw...
Lukas Eipert
01:58 AM Revision 8a2b7b79 (git): [ruby/net-http] Replace Timeout.timeout in Net:HTTP#connect
Use Socket.tcp's connect_timeout option instead
https://github.com/ruby/net-http/commit/753cae3bbc
mohamedhafez (Mohamed Hafez)
01:51 AM Revision e22626f0 (git): [ruby/net-smtp] mod: bump to a new VERSION that could be checked for testings >0.2.1
https://github.com/ruby/net-smtp/commit/8f2c9323e2 Tom Freudenberg
01:48 AM Revision eebecdf1 (git): [ruby/net-smtp] Removed needless files from Gem::Specification#files
https://github.com/ruby/net-smtp/commit/69bba6b125 hsbt (Hiroshi SHIBATA)
01:47 AM Revision ff931d03 (git): [ruby/net-smtp] Replace Timeout.timeout with socket timeout
Timeout.timeout is inefficient since it spins up a new thread for
each invocation, use Socket.tcp's connect_timeout option instead
https://github.com/ruby/net-smtp/commit/6ae4a59f05
mohamedhafez (Mohamed Hafez)
01:46 AM Revision 4c8cce5b (git): [ruby/net-smtp] Net::SMTP.start() and #start() accepts ssl_context_params keyword argument
Additional params are passed to OpenSSL::SSL::SSLContext#set_params.
For example, `Net::SMTP#start(ssl_context_params: { cert_store: my_store, timeout: 123 })`
calls `set_params({ cert_store: my_store, timeout: 123 })`.
...
Tom Freudenberg
12:10 AM Revision 73455749 (git): test/net/ftp/test_ftp.rb: Use RubyVM::JIT instead of RubyVM::MJIT
mame (Yusuke Endoh)

04/27/2021

11:39 PM Feature #17837 (Closed): Add support for Regexp timeouts
### Background
ReDoS are a very common security issue. At Discourse we have seen a few through the years. https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
In a nutshell there are 100s of ways thi...
sam.saffron (Sam Saffron)
11:35 PM Feature #17830: Add Integer#previous and Integer#prev
As Matz gets cited more and more, I think it's best to let him decide. duerst (Martin Dürst)
06:30 PM Feature #17830: Add Integer#previous and Integer#prev
sawa (Tsuyoshi Sawada) wrote in #note-6:
> rafasoares (Rafael Soares) wrote in #note-5:
> ...
No, that's another quote. I'm referring to the one in the paragraph above. Complete excerpt here:
> He has often said that he is “trying t...
rafasoares (Rafael Soares)
06:13 PM Feature #17830: Add Integer#previous and Integer#prev
rafasoares (Rafael Soares) wrote in #note-5:
> He [matz] has often said that he is “trying to make Ruby *natural, not simple*”
> ...
Not the main issue, but I need to point this out. Assuming that you are referring to this passage from ...
sawa (Tsuyoshi Sawada)
04:13 PM Feature #17830: Add Integer#previous and Integer#prev
sawa (Tsuyoshi Sawada) wrote in #note-4:
> > I think Integer#pred is great as the inverse of #succ, but it reads a bit weird as the inverse of #next, which might be preferable for those going for a more "reads like English" approach.
>...
rafasoares (Rafael Soares)
06:39 AM Feature #17830: Add Integer#previous and Integer#prev
> I think Integer#pred is great as the inverse of #succ, but it reads a bit weird as the inverse of #next, which might be preferable for those going for a more "reads like English" approach.
I do not understand this logic. If "predecess...
sawa (Tsuyoshi Sawada)
11:33 PM Bug #17836 (Closed): JIT fails to create a precompiled header with Clang
A log message:
```
Creating precompiled header
Starting process: /usr/lib/llvm/12/bin/clang /usr/lib/llvm/12/bin/clang --target=x86_64-pc-linux-gnu -w -funwind-tables -fdeclspec -Wfatal-errors -fPIC -shared -w -pipe -Oz -fno-fast-math...
xtkoba (Tee KOBAYASHI)
11:11 PM Bug #17799: Seg fault in rb_class_clear_method_cache
xtkoba (Tee KOBAYASHI) wrote in #note-7:
> The stack trace seems somehow corrupted and not correct, possibly messed up by signal trampoline. It is true that there are some types of bugs that corrupt the call stack (e.g. `longjmp` with in...
stanhu (Stan Hu)
07:58 PM Bug #17799: Seg fault in rb_class_clear_method_cache
The stack trace seems somehow corrupted and not correct, possibly messed up by signal trampoline. It is true that there are some types of bugs that corrupt the call stack (e.g. `longjmp` with incorrect jump buffer). I have no idea whethe... xtkoba (Tee KOBAYASHI)
05:52 PM Bug #17799: Seg fault in rb_class_clear_method_cache
xtkoba (Tee KOBAYASHI) wrote in #note-5:
> It would be possible that the lines inserted affect other parts of the code.
> ...
Thanks! I wonder if this is a similar strict aliasing issue.
One thing I don't understand is this part of ...
stanhu (Stan Hu)
09:08 PM Bug #17827: Monitor is not fiber safe
Thanks for your work. @nagachika can you please backport this? 🙏 ioquatix (Samuel Williams)
04:53 PM Bug #17827: Monitor is not fiber safe
Fixed in https://github.com/ruby/ruby/commit/3a3b19b2bba49e5d6f1cf13764eb6dd701397be9.
This should be backported to 3.0 (I marked it as such).
I noticed something else while writing a test for this:
On 2.7:
```
ruby -e 'm=Mutex....
Eregon (Benoit Daloze)
04:47 PM Bug #17827 (Closed): Monitor is not fiber safe
Applied in changeset commit:git|3a3b19b2bba49e5d6f1cf13764eb6dd701397be9.
----------
Fix Monitor to lock per Fiber, like Mutex [Bug #17827]
Eregon (Benoit Daloze)
09:03 PM Bug #17835 (Closed): Net::HTTP should automatically add Accept-Encoding request header on HEAD request as well
Currently, Net::HTTP adds the Accept-Encoding request header by default except for HEAD method.
https://github.com/ruby/ruby/blob/v3_0_1/lib/net/http.rb#L1489-L1493
https://github.com/ruby/ruby/blob/v3_0_1/lib/net/http/generic_request....
jrsyo (Shohei Maeda)
07:23 PM Bug #14090: `TestGc#test_interrupt_in_finalizer` fails very rarely
user:jeremyevans0 I tried the PR and it does not seem to resolve the intermittent timeout issue in `test_interrupt_in_finalizer` when the mitigation is disabled. xtkoba (Tee KOBAYASHI)
05:56 PM Bug #14090: `TestGc#test_interrupt_in_finalizer` fails very rarely
xtkoba (Tee KOBAYASHI) wrote in #note-3:
> This seems to be still a problem with a recent revision of Ruby on a recent GNU/Linux environment:
@xtkoba Thank you very much for testing. Are you able to check whether https://github.com/...
jeremyevans0 (Jeremy Evans)
05:47 PM Bug #14090: `TestGc#test_interrupt_in_finalizer` fails very rarely
This seems to be still a problem with a recent revision of Ruby on a recent GNU/Linux environment:
```
Wed Apr 28 02:39:30 JST 2021
trial:3673
../revision.h unchanged
Run options:
--seed=50002
"--ruby=./miniruby -I../lib -I. -...
xtkoba (Tee KOBAYASHI)
02:08 AM Bug #14090: `TestGc#test_interrupt_in_finalizer` fails very rarely
I tried the following patch to disable the mitigation:
```diff
diff --git a/thread.c b/thread.c
index 4f2debdaf2..0fdef76445 100644
--- a/thread.c
+++ b/thread.c
@@ -601,13 +601,12 @@ rb_thread_terminate_all(rb_thread_t *th)
...
jeremyevans0 (Jeremy Evans)
06:12 PM Revision 8e2ac214 (git): test/net/ftp/test_ftp.rb: reduce the size of a long response
"9" * 999999999 (about 1 GB) was too large for some CI servers.
This commit changes the size to 999999 (about 1 MB).
http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20210427T141707Z.fail.html.gz
http://rubyci.s3.amazonaws.com/...
mame (Yusuke Endoh)
05:27 PM Revision fe11031b (git): test/net/ftp/test_ftp.rb: remove unused variable
mame (Yusuke Endoh)
05:13 PM Revision 99eebf82 (git): test/ruby/test_fiber.rb: reduce the count of object creation to cause GC
... on Solaris. This is the same as 547887138f19959f649b1c0dbcde5659ae3878ed.
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20210427T160003Z.fail.html.gz
```
[ 7667/20965] TestFiber#test_fork_from_fiber/export/home/users/...
mame (Yusuke Endoh)
04:47 PM Revision 72eacd73 (git): * 2021-04-28 [ci skip]
git[bot]
04:42 PM Revision 3a3b19b2 (git): Fix Monitor to lock per Fiber, like Mutex [Bug #17827]
Eregon (Benoit Daloze)
03:14 PM Feature #17016: Enumerable#accumulate
Thanks everyone continuing to discuss whether to add this method to the Ruby lazy Enumerable!
In case it is helpful, please permit me to clarify that this method (and the functional programming pattern it represents) is of **practical**...
RubyBugs (A Nonymous)
09:05 AM Feature #17016: Enumerable#accumulate
mame (Yusuke Endoh) wrote in #note-39:
> This ticket was discussed in the dev meeting, but no conclusion was reached.
> ...
That's true.
> Thus, FoldList is more suitable name than Accumulate in this case.
> ...
I don't thinks Fold...
duerst (Martin Dürst)
02:58 PM Revision 1c1c9153 (git): lldb: highlight the slot when using dump_page_rvalue
eightbitraptor (Matt V-H)
02:58 PM Revision f64bb9fc (git): lldb: dump_page_rvalue - dump a heap page containing an RVALUE
rather than having to do this in a two step process:
1. heap_page obj
2. dump_page $2 (or whatever lldb variable heap_page set)
we can now just
dump_page_rvalue obj
eightbitraptor (Matt V-H)
02:58 PM Revision c752a358 (git): lldb: Add Freelist Index to dump_page output
eightbitraptor (Matt V-H)
12:22 PM Revision 1b2abb65 (git): [ruby/net-ftp] Replace "iff" with "if and only if"
iff means if and only if, but readers without that knowledge might
assume this to be a spelling mistake. To me, this seems like
exclusionary language that is unnecessary. Simply using "if and only if"
instead should suffice.
https://git...
gmcgibbon (Gannon McGibbon)
12:22 PM Revision 2670509e (git): [ruby/net-ftp] Add test cases
https://github.com/ruby/net-ftp/commit/865232bb2a shugo (Shugo Maeda)
12:21 PM Revision 4ae27d80 (git): [ruby/net-ftp] Reduce resource cosumption of Net::FTP::TIME_PARSER
Reported by Alexandr Savca as a DoS vulnerability, but Net::FTP is a
client library and the impact of the issue is low, so I have decided
to fix it as a normal issue.
Based on patch by nobu.
https://github.com/ruby/net-ftp/commit/a93af6...
shugo (Shugo Maeda)
12:21 PM Revision 990baec4 (git): [ruby/net-ftp] Close the passive connection data socket if there is an error setting up the transfer
Previously, the connection leaked in this case. This uses
begin/ensure and checking for an error in the ensure block.
An alternative approach would be to not even perform the
connection until after the RETR (or other) command has been
...
jeremyevans (Jeremy Evans)
12:20 PM Revision a86c6cb3 (git): [ruby/net-ftp] Replace Timeout.timeout with socket timeout
Timeout.timeout is inefficient since it spins up a new thread for
each invocation, use Socket.tcp's connect_timeout option instead
when we aren't using SOCKS (we can't replace Timeout.timeout
for SOCKS yet since SOCKSSocket doesn't have ...
mohamedhafez (Mohamed Hafez)
12:19 PM Revision fb819d93 (git): [ruby/net-ftp] Re-apply 827e471d438fdec1ae329afb5912b8e06d534823
https://github.com/ruby/net-ftp/commit/3ca80368c4 hsbt (Hiroshi SHIBATA)
12:07 PM Revision ac739f42 (git): [ruby/matrix] Guard for < Ruby 3.0
https://github.com/ruby/matrix/commit/1ef660c627 hsbt (Hiroshi SHIBATA)
12:01 PM Revision 3af2e892 (git): [ruby/matrix] v0.4.1
https://github.com/ruby/matrix/commit/f7c9981907 Marc-Andre Lafortune
12:01 PM Revision c57ba9b9 (git): [ruby/matrix] v0.4.0
https://github.com/ruby/matrix/commit/baea4b90d4 Marc-Andre Lafortune
11:57 AM Revision acf599e6 (git): [ruby/matrix] Use Gemfile instead of Gem::Specification#add_development_dependency.
https://github.com/ruby/matrix/commit/1381fde5c1 hsbt (Hiroshi SHIBATA)
11:54 AM Revision 22d36c46 (git): [ruby/gdbm] Add dependency to gdbm package on mingw
RubyInstaller2 supports metadata tags for installation of dependent
MSYS2/MINGW libraries. The openssl gem requires the mingw-openssl
package to be installed on the system, which the gem installer takes
care about, when this tag is set.
...
Lars Kanis
11:52 AM Revision ad3f4c07 (git): [ruby/pathname] gemspec: Explicitly list 0 executables
This gem exposes no executables.
https://github.com/ruby/pathname/commit/c401d97d58
olleolleolle (Olle Jonsson)
08:07 AM Revision ea88f49a (git): test/ruby/test_exception.rb: suppress "warning: statement not reached"
mame (Yusuke Endoh)
08:05 AM Revision d405b1a8 (git): Make imemo_ast WB-protected again
by firing the write barrier of imemo_ast after nd_lit is modified.
This will fix the issue of https://github.com/ruby/ruby/pull/4416 more
gracefully.
mame (Yusuke Endoh)
08:05 AM Revision e48109d8 (git): Partially revert 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e
to make imemo_ast WB-protected again. Only the test is kept. mame (Yusuke Endoh)
07:34 AM Misc #17828: Deprecate use of master and slave
zzak (Zachary Scott) wrote in #note-3:
> I would defer to @hsbt on how difficult it would be to change the default branch in git.
Do you mean replacing "master"? Although I agree with avoiding the word "slave", I agree with Matz, and...
sawa (Tsuyoshi Sawada)
06:47 AM Misc #17828: Deprecate use of master and slave
I would defer to @hsbt on how difficult it would be to change the default branch in git. I'm happy to review and merge any patches that offer alternative (either code using alias for backwards compatibility) or documentation. zzak (zzak _)
 

Also available in: Atom