Project

General

Profile

Activity

From 06/01/2021 to 06/07/2021

06/07/2021

11:12 PM Revision 8c87efaa (git): [ruby/psych] Fix the test that does not work with libyaml-0.1.7
https://github.com/ruby/psych/commit/542cf9754f mame (Yusuke Endoh)
09:54 PM Bug #17941: POSIX timers are not fork-safe on 2.7.x
Here is a small C program which aborts on Ruby 2.7+ on Linux but works on Ruby 2.5:
```
#include <ruby.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <signal.h>
int main(int argc, char ...
jbrownEP (James Brown)
08:46 PM Bug #17941 (Closed): POSIX timers are not fork-safe on 2.7.x
I have an application which runs under a pre-fork-model web server (uwsgi).
When a worker exits, SIGCHLD will be delivered to the parent process, which is handled by `sighandler` and `rb_thread_wakeup_timer_thread`. This calls `ubf_ti...
jbrownEP (James Brown)
08:14 PM Bug #17940: Bus Error
There is too little information to judge now, but my prejudication is that this is the same issue as in #17922 (and a whole bunch of other similar issues for a specific extension.) xtkoba (Tee KOBAYASHI)
07:21 PM Bug #17940 (Feedback): Bus Error
In general, if you are using FFI and get a Bus Error, it is unlikely to be a bug in Ruby. It is more likely this is an issue where third party software was written for x86 and doesn't work correctly on M1 Macs. It's hard to determine ex... jeremyevans0 (Jeremy Evans)
07:01 PM Bug #17940 (Closed): Bus Error
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi/library.rb:275: [BUG] Bus Error at 0x00000001050bc000
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]
-- Crash Report log information ----------------------------...
abdulaalsj@g.cofc.edu (summer abdulaal)
06:47 PM Revision a49a08ab (git): * 2021-06-08 [ci skip]
git[bot]
06:47 PM Revision 459a9f82 (git): Don't create objects during GC
If we crash during GC, allocating new objects in the segv handler can
cause an infinite loop. This commit is to avoid creating new objects in
the crash handler
tenderlovemaking (Aaron Patterson)
06:27 PM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
At the May 2021 developer meeting, it was decided that `ENV.dup` should raise and `ENV.clone` should warn, so I closed my previous pull request and added a pull request for that behavior: https://github.com/ruby/ruby/pull/4557 jeremyevans0 (Jeremy Evans)
04:51 PM Feature #17938: Keyword alternative for boolean positional arguments
> This applies for any argument really. No other way than to read the docs (or know from a previous reading) to answer that precisely.
I get what you're saying, but I don't think it's a fair comparison. In the following example I think ...
matheusrich (Matheus Richard)
01:46 PM Feature #17938: Keyword alternative for boolean positional arguments
We need to name keyword arguments consistently among similar methods. Otherwise, we will face confusion as you mentioned, I agree.
Matz.
matz (Yukihiro Matsumoto)
01:13 PM Feature #17938: Keyword alternative for boolean positional arguments
Another problem is
```ruby
object.respond_to?(:symbol, include_all: false)
object.methods(regular: true)
```
does not solve anything.
It's unclear what `include_all` or `regular` mean without looking at the docs.
And if one looks ...
Eregon (Benoit Daloze)
02:34 AM Feature #17938: Keyword alternative for boolean positional arguments
Although it requires migration complexity and ugliness for the time being, I think it's OK.
We may need to investigate the performance of method calls with optional keyword arguments since some methods (e.g. `respond_to?`) are called o...
matz (Yukihiro Matsumoto)
04:18 PM Misc #17886: DevelopersMeeting20210617Japan
* [Bug #17561] The timeout option for Addrinfo.getaddrinfo is not reliable on Ruby 2.7.2 (jeremyevans0)
* Usage of getaddrinfo_a was reverted before 3.0, but still causes problems in 2.7.
* Do we want to revert commit 0e9d56f5e73ed...
jeremyevans0 (Jeremy Evans)
07:18 AM Misc #17886: DevelopersMeeting20210617Japan
* [Feature #12913] A way to configure the default maximum width of pp (mame)
* How about `pp(obj, pp_out: $stderr, pp_width: 100)`?
mame (Yusuke Endoh)
04:04 PM Misc #17936: Run Travis at push on forked repository
I sent the PR here.
https://github.com/ruby/ruby/pull/4556
jaruga (Jun Aruga)
03:41 PM Bug #15928: Constant declaration does not conform to JIS 3017:2013
This was discussed at the May 2021 developer meeting. @naruse is against breaking backwards compatibility for this in 3.1, so I'll repropose this after the release of 3.1. jeremyevans0 (Jeremy Evans)
02:19 PM Feature #17845: Windows Ruby - ucrt build?
The attached patch is essentially a cleanup of that by @Biswa96 from GitHub. With this `./configure rb_cv_msvcrt=ucrt140` should work for Mingw-w64 with the default crt being UCRT [1].
[1] https://sourceforge.net/p/mingw-w64/mailman/m...
xtkoba (Tee KOBAYASHI)
01:47 PM Feature #17930: Add column information into error backtrace
I agree with the idea too. Let's see how it works.
Matz.
matz (Yukihiro Matsumoto)
11:44 AM Revision 26fcec5a (git): [DOC] fix metacharacter markups [ci skip]
nobu (Nobuyoshi Nakada)
11:44 AM Revision c741ea0b (git): timev.rb: moved class rdoc from time.c
nobu (Nobuyoshi Nakada)
11:44 AM Revision 4bd538e8 (git): dir.rb: moved class rdoc from dir.c
nobu (Nobuyoshi Nakada)
10:24 AM Revision bb4a1020 (git): Do not use YAML module in tests of Psych
hsbt (Hiroshi SHIBATA)
10:21 AM Revision d7146dfd (git): Use assert_raise instead of assert_raises
hsbt (Hiroshi SHIBATA)
10:15 AM Revision 85b94144 (git): [ruby/psych] Bump version to 4.0.1
https://github.com/ruby/psych/commit/4049939006 hsbt (Hiroshi SHIBATA)
10:15 AM Revision fd6225c7 (git): [ruby/psych] Implement YAML.safe_dump to make safe_load more usable.
In case where Psych is used as a two way serializers,
e.g. to serialize some cache or config, it is preferable
to have the same restrictions on both load and dump.
Otherwise you might dump and persist some objects payloads
that you late...
byroot (Jean Boussier)
10:15 AM Revision 43088315 (git): [ruby/psych] Make YAML.load_file use YAML.load instead of safe_load
YAML.load and YAML.safe_load are different a little; the former allows
Symbol by default but the latter doesn't. So YAML.load_file and
YAML.safe_load_file should reflect the difference.
Fixes #490
https://github.com/ruby/psych/commit/f...
mame (Yusuke Endoh)
10:09 AM Feature #17853: Add Thread#thread_id
Thank you, @naruse and @nobu! komamitsu (Mitsunori Komatsu)
08:45 AM Revision dd765f9e (git): Get rid of updating Unicode files
Some certificates on Unicode.org have expired. nobu (Nobuyoshi Nakada)
07:22 AM Revision bc126d91 (git): Skip make update-unicode for BASERUBY CI
Unfortunately it often fails depending on the status of www.unicode.org.
https://github.com/mame/ruby/runs/2761346164?check_suite_focus=true
```
./tool/downloader.rb:248:in `rescue in download': failed to download 12.1.0/ucd/UnicodeData...
mame (Yusuke Endoh)
07:16 AM Feature #12913: A way to configure the default maximum width of pp
So, some people (including @ko1) have a custom to pass keyword arguments to Kernel#pp:
```
foo = 42
bar = 43
pp(foo: foo, bar: bar) #=> {:foo=>42, :bar=>43}
```
Unfortunately, introducing keyword arguments to `Kernel#pp` breaks...
mame (Yusuke Endoh)
01:23 AM Revision a9d76172 (git): * 2021-06-07 [ci skip]
git[bot]
01:22 AM Revision ad22e889 (git): Fix Typo
Utkarsh Mathur
12:47 AM Bug #17939: Segmentation fault at Ruby 3.0.0 w/ CGI.escapeHTML
This segfault issue looks like #17518, which has been already fixed in 3.0.1. I have no idea about the other issue (puma hungs forever). mame (Yusuke Endoh)

06/06/2021

07:48 PM Bug #17939 (Rejected): Segmentation fault at Ruby 3.0.0 w/ CGI.escapeHTML
It reproduces with 2.7, and it seems like the patched gem allocates a lot of memory. Because I'm still in the middle of making the change to this gem, I'll re-report this after finishing up the patch. k0kubun (Takashi Kokubun)
07:39 PM Bug #17939: Segmentation fault at Ruby 3.0.0 w/ CGI.escapeHTML
I tried to check if this reproduces with 3.0.1 as well, but it seems to hit another issue that puma hangs forever and I wasn't able to confirm it. k0kubun (Takashi Kokubun)
07:23 PM Bug #17939 (Rejected): Segmentation fault at Ruby 3.0.0 w/ CGI.escapeHTML
When I run https://github.com/k0kubun/gitstar-ranking with a Gemfile modified to use haml.gem at https://github.com/k0kubun/haml/commit/e3d921e5f6287aa4a4aec15f096a78dd56bd8f46 instead of hamlit.gem, I randomly get SEGV on pages like htt... k0kubun (Takashi Kokubun)
02:02 PM Revision cf92b3cc (git): ast.rb: reduce nesting
nobu (Nobuyoshi Nakada)
01:45 PM Revision c9af563e (git): * 2021-06-06 [ci skip]
git[bot]
01:45 PM Revision 2e972406 (git): prelude.c.tmpl: strip comment-only or empty lines at the beginning
nobu (Nobuyoshi Nakada)
09:56 AM Bug #17835: Net::HTTP should automatically add Accept-Encoding request header on HEAD request as well
Opened: https://github.com/ruby/net-http/pull/26 jrsyo (Shohei Maeda)
09:43 AM Feature #17938: Keyword alternative for boolean positional arguments
I'm negative about this, because of the overhead and complexity it would introduce while supporting both forms, and because it seems difficult (and annoying) to ever remove the current positional argument.
FWIW, some IDEs shows argume...
Eregon (Benoit Daloze)

06/05/2021

05:10 PM Feature #17845: Windows Ruby - ucrt build?
The test `TestEnv#test_huge_value` showed a difference between msvcrt and ucrt for x64-mingw32:
```
1) Failure:
TestEnv#test_huge_value [C:/CIFS/ruby-trunk/test/ruby/test_env.rb:472]:
Exception raised:
<#<Errno::EINVAL: Invalid ...
xtkoba (Tee KOBAYASHI)
11:33 AM Feature #17853: Add Thread#thread_id
@nobu that looks great! ivoanjo (Ivo Anjo)
09:29 AM Feature #17853: Add Thread#thread_id
```diff
diff --git i/thread.c w/thread.c
index cbef44a9d4a..c627e5c8f2a 100644
--- i/thread.c
+++ w/thread.c
@@ -3456,6 +3456,14 @@ rb_thread_to_s(VALUE thread)
if (!NIL_P(target_th->name)) {
rb_str_catf(str, "@%"PRI...
nobu (Nobuyoshi Nakada)
09:21 AM Misc #17502: C vs Ruby
@ko1 Could you reply to this?
I feel C code in the middle of Ruby code is not so great, and if moving C code to strings in Ruby is just to add `Primitive.attr! 'inline'` (like for `Float#zero?`),
it seems much simpler and nicer to ad...
Eregon (Benoit Daloze)
07:59 AM Feature #17938: Keyword alternative for boolean positional arguments
When you want to make arguments self-explanatory, I wonder if it is not sufficient to write as follows:
```ruby
obj = Object.new
obj.respond_to?(:symbol, include_all = false)
# or
obj.methods(include_inherited = true)
```
xtkoba (Tee KOBAYASHI)
07:22 AM Misc #17683: Current status of beginless range (experimental or not)
AFAIK, there was no such message as "Beginless range is experimental, and the behavior may change in future versions of Ruby!" in the first place. I am not responsible for this, but my feeling is that this feature is not quite unstable now. xtkoba (Tee KOBAYASHI)
06:48 AM Misc #17683: Current status of beginless range (experimental or not)
Hello, is there anyone who is responsible for this? I need this information for the book I'm writing now. jnchito (Junichi Ito)
04:57 AM Feature #17135 (Closed): Improve performance of Integer#size method
Applied in changeset commit:git|3208a5df2dfb429752a130a36274464e9924cf44.
----------
Improve perfomance for Integer#size method [Feature #17135] (#3476)
* Improve perfomance for Integer#size method [Feature #17135]
* re-run ci
* Let ...
S_H_ (Shun Hiraoka)
04:57 AM Revision 3208a5df (git): Improve perfomance for Integer#size method [Feature #17135] (#3476)
* Improve perfomance for Integer#size method [Feature #17135]
* re-run ci
* Let MJIT frame skip work for Integer#size
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
S_H_ (Shun Hiraoka)
03:28 AM Revision 033e76e7 (git): * 2021-06-05 [ci skip]
git[bot]
03:27 AM Revision 67ca2cce (git): Update bundled_gems
znz (Kazuhiro NISHIYAMA)

06/04/2021

07:00 PM Feature #17938 (Open): Keyword alternative for boolean positional arguments
Some Ruby methods accept optional boolean arguments. This kind of parameter is known to be confusing since you cannot tell just looking at the method call what the parameter mean. For example:
```ruby
object.respond_to?(:symbol, fals...
matheusrich (Matheus Richard)
05:47 PM Feature #17763: Implement cache for cvars
This is the script/app I used to measure https://github.com/k0kubun/railsbench eileencodes (Eileen Uchitelle)
05:46 PM Feature #17763: Implement cache for cvars
I ran benchmarks using railsbench and the branch with the CVAR cache is a lot faster, 657 requests per second over the 615 requests per second on master.
Master:
```
$ RAILS_ENV=production INTERVAL=100 WARMUP=1 BENCHMARK=10000 rub...
eileencodes (Eileen Uchitelle)
03:31 PM Bug #17937 (Closed): Segmentation fault in Enumerator#next on Apple M1, Mac OS Big Sur 11.2.2
If this is already fixed in 2.7.3, I think we can close this. We cannot change 2.7.1. jeremyevans0 (Jeremy Evans)
03:16 PM Bug #17937 (Closed): Segmentation fault in Enumerator#next on Apple M1, Mac OS Big Sur 11.2.2
A simple code in the irb console fails:
```
irb(main):003:0> [1,2,3].to_enum.next
[BUG] Segmentation fault at 0x0000000004809020
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [-darwin20]
...
-- Control frame information --------...
tim.kovalev (Tim Kovalev)
03:08 PM Bug #17925: Pattern matching syntax using semicolon one-line
It is a known restriction that the code is parsed as `case (expression in 42)`.
Let me consider if it is possible to make that a priority.
nobu (Nobuyoshi Nakada)
09:36 AM Misc #17936 (Closed): Run Travis at push on forked repository
I want to change the current condition to run Travis to improve developer's experience.
In my understanding, currently on ruby/ruby, Travis is executed at pull-request and push timing to only `master` or `ruby_N_N` branches by [the br...
jaruga (Jun Aruga)
08:37 AM Feature #12075: some container#nonempty?
I want to mention that some of the method names proposed so far would break symmetry.
Note that "empty" is a property of the container, not the elements. When you have `a = [1]`, what is questioned whether it is empty or not is `a`, but...
sawa (Tsuyoshi Sawada)
06:04 AM Feature #12075: some container#nonempty?
I like `Array#some?` and `Hash#some?`. It is so frequent to write `!ary.empty?`.
I think the main concern is only about `empty?`, not other predicate methods. So I'm skeptical about the need of the generalization like `ary.not(:empty?)`...
mame (Yusuke Endoh)
04:56 AM Feature #15567: Allow ensure to match specific situations
Also there is a problem with the proposed work around:
```
begin
rescue Exception => exception
raise
ensure
if exception
abort
else
commit
end
end
```
This only works provided you don't have any other `re...
ioquatix (Samuel Williams)
04:22 AM Feature #15567: Allow ensure to match specific situations
Here are some examples of situations where `$!` is used inside `ensure` block. In every case, there is a potential buggy behaviour.
https://github.com/drbrain/net-http-persistent/blob/75574f2546a08aa2663b06a2e005bcf2ee304f13/lib/net/h...
ioquatix (Samuel Williams)
03:41 AM Bug #13298: mingw SEGV TestEnumerable#test_callcc
Note that there are two related issues, for which the solutions conflict with each other:
* #9710: no __builtin_setjmp on x64-mingw
* #15348: use __builtin_setjmp on mingw64
xtkoba (Tee KOBAYASHI)
01:37 AM Bug #13298: mingw SEGV TestEnumerable#test_callcc
I have a similar problem with a recent 3.1.0dev version, in which the attached test case (named `x64-mingw32-callcc-test.rb`) dies silently.
I suppose that the code inserted by commit:a6ae274c3b06174401276fde2636f17720508532 (dated Ju...
xtkoba (Tee KOBAYASHI)
12:24 AM Revision 91c542ad (git): lldb_cruby.py: push non-flonum float to history [ci skip]
nobu (Nobuyoshi Nakada)
12:12 AM Revision 3c57c087 (git): lldb_cruby.py: fix non-flonum float inspection [ci skip]
nobu (Nobuyoshi Nakada)

06/03/2021

08:57 PM Revision 9f3240d4 (git): * 2021-06-04 [ci skip]
git[bot]
08:56 PM Revision 38c5f273 (git): Support an arbitrary number of header bits (< BITS_BITLENGTH)
NUM_IN_PAGE(page->start) will sometimes return a 0 or a 1 depending on
how the alignment of the 40 byte slots work out. This commit uses the
NUM_IN_PAGE function to shift the bitmap down on the first bitmap plane.
Iterating on the first...
tenderlovemaking (Aaron Patterson)
12:18 PM Bug #17935: Backport 86c262541ad07528842d76dab4b9b34bd888d5f4 and 7e14762159643b4415e094f9d2a90afaf7994588 to Ruby 3.0
ruby_3_0 2dd18df4a35a4b2dd0cf2dec7759898246fc6935 merged revision(s) 86c262541ad07528842d76dab4b9b34bd888d5f4,7e14762159643b4415e094f9d2a90afaf7994588. nagachika (Tomoyuki Chikanaga)
11:44 AM Bug #17935 (Closed): Backport 86c262541ad07528842d76dab4b9b34bd888d5f4 and 7e14762159643b4415e094f9d2a90afaf7994588 to Ruby 3.0
nagachika (Tomoyuki Chikanaga)
07:01 AM Bug #17935: Backport 86c262541ad07528842d76dab4b9b34bd888d5f4 and 7e14762159643b4415e094f9d2a90afaf7994588 to Ruby 3.0
Sorry, I made a follow-up fix commit:7e14762159643b4415e094f9d2a90afaf7994588 as well. k0kubun (Takashi Kokubun)
05:20 AM Bug #17935 (Closed): Backport 86c262541ad07528842d76dab4b9b34bd888d5f4 and 7e14762159643b4415e094f9d2a90afaf7994588 to Ruby 3.0
Please consider backporting commit:86c262541ad07528842d76dab4b9b34bd888d5f4 and commit:7e14762159643b4415e094f9d2a90afaf7994588 to ruby_3_0. This is a bug introduced by changes in Ruby 3.0 that causes SEGVs. k0kubun (Takashi Kokubun)
12:18 PM Bug #17928: Backport 1aac0e88193a82ed36b43e852c46414181b66455 to Ruby 3.0
ruby_3_0 9680ee97e0b3e87c0fc9a65c01de1ee50a1a178b merged revision(s) 1aac0e88193a82ed36b43e852c46414181b66455. nagachika (Tomoyuki Chikanaga)
11:46 AM Revision 2dd18df4 (git): merge revision(s) 86c262541ad07528842d76dab4b9b34bd888d5f4,7e14762159643b4415e094f9d2a90afaf7994588: [Backport #17935]
Fix a race condition around mjit_recompile
This fixes SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true.
When mjit_recompile is called when mjit_compile is compiling the exact
same i...
nagachika (Tomoyuki Chikanaga)
11:46 AM Revision 9680ee97 (git): merge revision(s) 1aac0e88193a82ed36b43e852c46414181b66455: [Backport #17928]
Mark inlined ISeqs during MJIT compilation (#4539)
[Bug #17584]
---
common.mk | 6 ++++++
mjit.c | 18 +++++++++++-----
mjit_compile.c | 24 +++++++++++++++------
mjit_worke...
nagachika (Tomoyuki Chikanaga)
11:07 AM Revision 93be7a4c (git): Suppress clobbered warnings on Travis-CI ppc64le-linux
nobu (Nobuyoshi Nakada)
10:15 AM Bug #17934: clipboard gem fail on Ruby 3.0.1
In Windows x64, SIZE_T and HGLOBAL (and other handles) in Fiddle shoule be map to void*(64 bits), not uint(32 bits).
So gem clipboard V1.3.5 got a pointor failure.
Attachment fix this bug, just for Windows platform.
fitmap (Justin Peal)
08:47 AM Revision dc254120 (git): Expose `rb_fiber_transfer` and `rb_fiber_transfer_kw`.
Samuel Williams
06:59 AM Revision 7e147621 (git): Do not doubly hold an MJIT lock
This is a follow-up of 86c262541ad07528842d76dab4b9b34bd888d5f4.
CRITICAL_SECTION_START/FINISH are not needed when it's called from an
MJIT worker.
Also, ZALLOC needs to be calloc because ZALLOC may trigger GC, which an
MJIT worker must...
k0kubun (Takashi Kokubun)
06:11 AM Revision 9f3888d6 (git): Warn more duplicate literal hash keys
Following non-special_const literals:
* T_REGEXP
nobu (Nobuyoshi Nakada)
06:11 AM Revision 37eb5e74 (git): Warn more duplicate literal hash keys
Following non-special_const literals:
* T_BIGNUM
* T_FLOAT (non-flonum)
* T_RATIONAL
* T_COMPLEX
nobu (Nobuyoshi Nakada)
06:11 AM Revision a023db49 (git): Assertions for duplicate literal hash key warnings
nobu (Nobuyoshi Nakada)
05:26 AM Revision 31b9ce36 (git): Note about 07c05b6fe931337e928a89ac5ebf654862dc0eca
k0kubun (Takashi Kokubun)
05:11 AM Revision 86c26254 (git): Fix a race condition around mjit_recompile
This fixes SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true.
When mjit_recompile is called when mjit_compile is compiling the exact
same iseq (and after it called mjit_capture_cc_entries), iseq->body->jit_u...
k0kubun (Takashi Kokubun)
04:50 AM Revision 007e439f (git): Do not expect ec on rb_vm_bugreport
because a SEGV might happen on an MJIT worker. As you can clearly see
from `if (vm && ec) {`, ec is not guaranteed to exist here.
k0kubun (Takashi Kokubun)
03:23 AM Revision b957c3db (git): [rubygems/rubygems] Rename test/rubygems/test_{case,utilities}.rb to avoid "test_" prefix
This changes "test/rubygems/test_case.rb" to "test/rubygems/helper.rb",
and "test/rubygems/test_utilities.rb" to "test/rubygems/utilities.rb".
The two files are a helper for tests, not test files. However, a file
starting with "test_" p...
mame (Yusuke Endoh)
03:05 AM Feature #17054 (Closed): Some NilClass methods are faster if implemented in Ruby
Applied in changeset commit:git|28b481938b5c8211aad53ba82fe4ddd978ffc00f.
----------
Implemented some NilClass method in Ruby code is faster [Feature #17054] (#3366)
S_H_ (Shun Hiraoka)
03:04 AM Revision 28b48193 (git): Implemented some NilClass method in Ruby code is faster [Feature #17054] (#3366)
S_H_ (Shun Hiraoka)

06/02/2021

10:47 PM Feature #15567 (Open): Allow ensure to match specific situations
ioquatix (Samuel Williams)
10:47 PM Feature #15567: Allow ensure to match specific situations
Thanks for the discussion. I'll try to summarise my position briefly.
> Maybe we should open a new issue so that Timeout.timeout uses an Exception and not throw?
I agree Timeout should raise an exception internally and we should ch...
ioquatix (Samuel Williams)
08:54 PM Feature #15567: Allow ensure to match specific situations
> A timeout error in my mind is more similar to a TERM signal, and Ruby handles that using an exception.
I think that's a good point.
I agree for similar things like Ctrl+C/SIGINT which is an `Interrupt` exception (< SignalException ...
Eregon (Benoit Daloze)
05:39 PM Feature #15567: Allow ensure to match specific situations
Eregon (Benoit Daloze) wrote in #note-21:
> Thanks for the link.
> ...
Yes, it's used anytime you want to return a response immediately. I just used redirect as an example.
> If `redirect` would use a regular exception, and for ins...
jeremyevans0 (Jeremy Evans)
04:59 PM Feature #15567: Allow ensure to match specific situations
Thanks for the link.
Is `throw` used for other things than `redirect`?
If `redirect` would use a regular exception, and for instance pass `[]` as the backtrace, it would probably be as efficient, but then gives the possibility to d...
Eregon (Benoit Daloze)
02:51 PM Feature #15567: Allow ensure to match specific situations
Eregon (Benoit Daloze) wrote in #note-19:
> > Eregon (Benoit Daloze) throw should not abort the transaction, it should be committed.
> ...
Rails 7 is going to start treating non-local, non-exception exits as rolling back the transactio...
jeremyevans0 (Jeremy Evans)
11:34 AM Feature #15567: Allow ensure to match specific situations
> I suspect that there is existing buggy code which has ensure blocks and checks $! which fails in the case I mentioned.
Typically that's an anti-pattern.
In 99% cases, the ensure code should do its logic regardless whether there is ...
Eregon (Benoit Daloze)
09:13 PM Revision bc65cf1a (git): use a bool instead of int
tenderlovemaking (Aaron Patterson)
07:49 PM Revision ad734a8c (git): Allocate exact space for objspace_each_objects
We are only iterating over the eden heap so `heap_eden->total_pages`
contains the exact number of pages we need to allocate for.
`heap_allocated_pages` may contain pages in the tomb.
peterzhu2118 (Peter Zhu)
04:35 PM Bug #17926: spec/ruby/core/file/atime_spec.rb: a random failing test on Travis ppc64le
> Note that this failure was observed 4 days ago, at the build no #43628 - job number 509310540 first as far as I know. Since then, the failure rate is 4/35 = 11% so far.
Ah. No. The 11% is not correct. Skipping the 4 builds after my ...
jaruga (Jun Aruga)
04:22 PM Bug #17926: spec/ruby/core/file/atime_spec.rb: a random failing test on Travis ppc64le
Note that this failure was observed 4 days ago, at the build no `#43628` - job number `509310540` first as far as I know. Since then, the failure rate is 4/35 = 11% so far.
https://www.travis-ci.com/github/ruby/ruby/builds
jaruga (Jun Aruga)
09:37 AM Bug #17926: spec/ruby/core/file/atime_spec.rb: a random failing test on Travis ppc64le
I am trying to skip the test on Travis ppc64le for now.
https://github.com/ruby/ruby/pull/4546
jaruga (Jun Aruga)
06:31 AM Bug #17926: spec/ruby/core/file/atime_spec.rb: a random failing test on Travis ppc64le
The failure happened on Travis ppc64le again yesterday.
https://travis-ci.com/github/ruby/ruby/jobs/510153529#L2250
jaruga (Jun Aruga)
03:07 PM Revision 2a685da1 (git): * 2021-06-03 [ci skip]
git[bot]
03:07 PM Revision e451f0f6 (git): Fix `_MSC_VER` warnings
fd0 (Daisuke Fujimura)
02:35 PM Bug #17934 (Third Party's Issue): clipboard gem fail on Ruby 3.0.1
jeremyevans0 (Jeremy Evans)
11:57 AM Bug #17934: clipboard gem fail on Ruby 3.0.1
Indeed.
And this seems to be another instance of LLP64 issues which wrongfully assume `sizeof(long) == sizeof(void *)`. Running on i386-mingw32 works as expected.
(Edited. LLP64, not ILP32.)
xtkoba (Tee KOBAYASHI)
11:20 AM Bug #17934: clipboard gem fail on Ruby 3.0.1
More likely to be an issue of https://github.com/janlelis/clipboard
The error means the clipboard gem tries to write to the NULL address, which is a bug.
Eregon (Benoit Daloze)
11:01 AM Bug #17934: clipboard gem fail on Ruby 3.0.1
Feel free to report it to https://github.com/ffi/ffi/issues. (BTW it is reproducible for me.) xtkoba (Tee KOBAYASHI)
09:50 AM Bug #17934 (Third Party's Issue): clipboard gem fail on Ruby 3.0.1
gem install clipboard (Which was used well in Ruby 2.XX):
Fetching clipboard-1.3.5.gem
Successfully installed clipboard-1.3.5
Parsing documentation for clipboard-1.3.5
Installing ri documentation for clipboard-1.3.5
Done installing ...
fitmap (Justin Peal)
01:54 PM Revision 750f8075 (git): Update to ruby/spec@c6e9285
Eregon (Benoit Daloze)
12:34 PM Revision 22e2a6a9 (git): Update to ruby/spec@a0b7d0d
Eregon (Benoit Daloze)
12:34 PM Revision a4fbc7e2 (git): Update to ruby/mspec@0091e8a
Eregon (Benoit Daloze)
10:38 AM Revision 2048dfc5 (git): Skip a `File.atime` test randomly failing on Travis ppc64le.
See <https://bugs.ruby-lang.org/issues/17926>. Jun Aruga
10:06 AM Misc #17932: 90s design (please lets move to 21st century)
hsbt (Hiroshi SHIBATA) wrote in #note-4:
> I always welcome to your improvement at https://github.com/ruby/b.r-l.o .
Ok, I will. :)
WaKeMaTTa (Mohamed Ziata)
10:04 AM Misc #17932: 90s design (please lets move to 21st century)
xtkoba (Tee KOBAYASHI) wrote in #note-3:
> I do not understand what "search is broken" means. Could you explain what you tried to do? Searching in Ruby Issue Tracking System seems to just work for me.
You can see it in the screenshot...
WaKeMaTTa (Mohamed Ziata)
09:10 AM Feature #17763: Implement cache for cvars
> It seems you missed to write the result.
It's in the first comment: https://bugs.ruby-lang.org/issues/17763#note-1
Ruby master / Rails 6.1:
```
Warming up ———————————————————
logger 155.251k I/100ms
Calculatin...
byroot (Jean Boussier)
02:13 AM Feature #17763: Implement cache for cvars
> We also benchmarked ActiveRecord::Base.logger since logger is a cvar and there are 63 modules in the inheritance chain. This is an example of a real-world improvement to Rails applications.
> ...
It seems you missed to write the resul...
ko1 (Koichi Sasada)
08:40 AM Feature #17795: Around `Process.fork` callbacks API
Agreed, but I think @Dan0042's `Process._fork_` proposal is better. byroot (Jean Boussier)
07:46 AM Feature #17795: Around `Process.fork` callbacks API
Since there seems to be no agreement on what a better and high-level API would look like, would it be reasonable to go back to the "Make Kernel.fork a delegator" proposal from <https://github.com/ruby/ruby/pull/4361>?
That patch seems...
ivoanjo (Ivo Anjo)
08:16 AM Revision 070caf54 (git): Refactor rb_vm_insn_addr2insn calls
It's been a way too much amount of ifdefs. k0kubun (Takashi Kokubun)
07:09 AM Revision c32ce2cb (git): Clarify these are just for MJIT
and not for third-party libraries.
See: e6484a153038703447b50fcac26349249922ab28
k0kubun (Takashi Kokubun)
04:41 AM Revision 0f97aaa6 (git): Suppress false warning by MSVC
https://github.com/ruby/ruby/runs/2707566811#step:10:147
```
D:\a\ruby\ruby\src\mjit_worker.c(1212): warning C4090: 'function': different 'const' qualifiers
```
nobu (Nobuyoshi Nakada)
02:35 AM Revision 9137caaf (git): [ruby/rdoc] Add a dependency on psych gem 4.0.0 or newer
https://github.com/ruby/rdoc/commit/ebe185c877 aycabta (aycabta .)
02:35 AM Revision 77e1b477 (git): [ruby/rdoc] Add an alias for test-unit with older versions of RubyGems
https://github.com/ruby/rdoc/commit/b8d68fdd87 aycabta (aycabta .)

06/01/2021

11:36 PM Feature #15567: Allow ensure to match specific situations
@eregon `throw` should not abort the transaction, it should be committed. ioquatix (Samuel Williams)
11:15 PM Feature #15567: Allow ensure to match specific situations
I suspect that there is existing buggy code which has ensure blocks and checks `$!` which fails in the case I mentioned.
I think the ensure block should be able to capture the current exception without using a global.
I like the pr...
ioquatix (Samuel Williams)
10:25 PM Revision 04a5ee6a (git): * 2021-06-02 [ci skip]
git[bot]
10:25 PM Revision f9b9d1c5 (git): Use the current object as the compaction index
Instead of keeping track of the current bit plane, keep track of the
actual slot when compacting. This means we don't need to re-scan
objects inside the same bit plane when we continue with movement
tenderlovemaking (Aaron Patterson)
04:40 PM Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
ruby_2_7 87d02eacd26d0b2884016315baf2440d100f177e merged revision(s) 9edc162583a4f685332239f6249745ad9b518cbe. usa (Usaku NAKAMURA)
04:40 PM Revision 87d02eac (git): merge revision(s) 9edc162583a4f685332239f6249745ad9b518cbe: [Backport #17781]
[ruby/resolv] Fix confusion of received response message
This is a follow up for commit 33fb966197f1 ("Remove sender/message_id
pair after response received in resolv", 2020-09-11).
As the @senders instance vari...
U.Nakamura
01:56 PM Misc #17886: DevelopersMeeting20210617Japan
* [Feature #17930] Add column information into error backtrace (mame)
* I've resurrected @yui-knk's patch. What do you think? Is the memory consumption acceptable?
mame (Yusuke Endoh)
01:45 PM Bug #17933: `Net::HTTP#write_timeout` doesn't work with `body_stream`
> Are you talking about moving the write_timeout implementation from Net::BufferedIO to IO.copy_stream?
No. `IO.copy_stream` is a low level API that leverage `sendfile(2)` and other similar APIs so that the data transfer happens in th...
byroot (Jean Boussier)
01:18 PM Bug #17933: `Net::HTTP#write_timeout` doesn't work with `body_stream`
byroot (Jean Boussier) wrote in #note-2:
> Previous discussion where `write_timeout` was added and it was noted that `copy_stream` didn't have a timeout: https://bugs.ruby-lang.org/issues/13396
> ...
Are you talking about moving the `w...
miguelfteixeira (Miguel Teixeira)
12:35 PM Bug #17933: `Net::HTTP#write_timeout` doesn't work with `body_stream`
Previous discussion where `write_timeout` was added and it was noted that `copy_stream` didn't have a timeout: https://bugs.ruby-lang.org/issues/13396
There was talks about the possibility to add it, which everybody agreed it would be b...
byroot (Jean Boussier)
10:23 AM Bug #17933: `Net::HTTP#write_timeout` doesn't work with `body_stream`
> it's unclear if it will break some existing functionality
Well, `copy_stream` can only use its optimizations with real IO objects, so functionally this would still work, but the performance would be heavily degraded. But this optimi...
byroot (Jean Boussier)
01:27 PM Revision 9024c7f1 (git): Make `Thread#native_thread_id` not-implemented if unsupported
Raise `NotImplementedError` on unsupported platforms regardless
the argument consistently.
nobu (Nobuyoshi Nakada)
10:38 AM Revision 6e7e9a80 (git): Expose assert_all? for ruby/csv repo
hsbt (Hiroshi SHIBATA)
08:00 AM Revision c57610dc (git): Add static modifier to C function in hash.c (#3138)
* add static modifier for rb_hash_reject_bang func
* add static modifier for rb_hash_reject func
* add static modifier for rb_hash_values_at func
* add static modifier for rb_hash_assoc func
* add static modifier for rb_hash_rassoc func
S_H_ (Shun Hiraoka)
07:59 AM Revision d627b75e (git): Add static modifier to C function in re.c (#3153)
* add static modifier for rb_reg_eqq func
* add static modifier for rb_check_regexp_type func
S_H_ (Shun Hiraoka)
07:38 AM Revision b70fdf1b (git): Refactor rb_define_class_variable function (#4400)
S_H_ (Shun Hiraoka)
07:37 AM Revision 588446c3 (git): Remove unneeded rb_ary_ptr_use_start defination in internal/array.h (#4427)
S_H_ (Shun Hiraoka)
07:37 AM Revision 45662c54 (git): Remove unneeded rb_str_initialize defination in internal/string.h (#4465)
S_H_ (Shun Hiraoka)
07:34 AM Revision a2cf0607 (git): Refactor rb_class_path_cached function (#4485)
S_H_ (Shun Hiraoka)
07:32 AM Revision 1055b37e (git): Refactor rb_define_class_variable function (#4492)
S_H_ (Shun Hiraoka)
07:15 AM Revision e1b03b0c (git): Enable VM_ASSERT in --jit CIs (#4543)
k0kubun (Takashi Kokubun)
05:56 AM Revision 0d32a18f (git): Make --without-mjit-tabs work again
vm_sync.{c,h} don't have tabs k0kubun (Takashi Kokubun)
05:46 AM Revision b9019c1a (git): Revert "Try enabling VM_ASSERT in --jit CIs"
This reverts commit e9e3b65d836b5796882b5bf28717e4586366ceec.
We were not ready for it
https://github.com/ruby/ruby/runs/2715306375?check_suite_focus=true
k0kubun (Takashi Kokubun)
05:01 AM Revision 028f1887 (git): Change the default --jit-max-cache to 10000
This is useful for large applications like Rails.
https://k0kubun.medium.com/ruby-3-jit-can-make-rails-faster-756310f235a
k0kubun (Takashi Kokubun)
04:57 AM Revision 2209e152 (git): Decompose the captured_cc code for investigation
I'm investigating SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true.
Because a lot of things are going on on this line, it's hard to identify
the cause, especially because we can't get the core file of the fa...
k0kubun (Takashi Kokubun)
04:50 AM Revision e9e3b65d (git): Try enabling VM_ASSERT in --jit CIs
k0kubun (Takashi Kokubun)
04:14 AM Revision 45651e80 (git): * 2021-06-01 [ci skip]
git[bot]
04:12 AM Revision 07c05b6f (git): Drop JIT_ISEQ_SIZE_THRESHOLD
Compiling everything seems to contributed to improving the final
performance in general. MJIT's compilation is slow anyway, especially
when you need to wait for JIT compaction.
This might make sense for short-time benchmarks like Optcar...
k0kubun (Takashi Kokubun)
 

Also available in: Atom