Activity
From 04/24/2021 to 04/30/2021
04/30/2021
-
10:47 PM Misc #17842: Example incorrect in documentation for Hash#dig
- Thanks for the fix! I merged your pull request.
-
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... -
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
-
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: ... - 10:46 PM Revision a867d552 (git): * 2021-05-01 [ci skip]
-
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} -
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 ... -
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... -
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:... -
02:36 PM Bug #17823: addr2line.c: Interpret `DW_RLE_start_length`
- PR: https://github.com/ruby/ruby/pull/4439
-
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. -
12:40 PM Bug #17606: Make failed on i386-cygwin (miniruby.exe aborted)
- PR: https://github.com/ruby/ruby/pull/4437
-
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)
... -
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 -
11:22 AM Feature #17647: Print register `r11` on 32-bit ARM Linux
- PR: https://github.com/ruby/ruby/pull/4436
-
02:58 AM Revision 6ee55455 (git): Update Time documentation
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.
-
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... -
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... -
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... -
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...-
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...
-
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...
-
07:13 PM Revision 5a451c4b (git): lldb: Warn when attempting to dump invalid pages
-
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.
-
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... - 04:40 PM Revision dfca24af (git): * 2021-04-30 [ci skip]
-
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... -
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. -
02:28 PM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
- PR: https://github.com/ruby/ruby/pull/4429
-
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.
-
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... -
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... -
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...
-
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).
-
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.
-
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... -
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 ++... -
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 ... -
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... -
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? -
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...
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. -
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
-
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... -
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... -
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... -
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.
-
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] - 06:50 PM Revision b0b5a4e8 (git): * 2021-04-29 [ci skip]
-
06:49 PM Revision 9f8a5072 (git): Specify -c to emit pch with clang (#4423)
- [Bug #17836]
-
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 :)
-
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 ... -
11:44 AM Bug #17542 (Closed): Username and password are not decoded if retrieved from env
- fixed at 842f00f45212019a3b07f8d8dac269d35beb9efa
-
09:48 AM Revision 96fd1e1f (git): Removed unused macro HAVE_CONFIG_H
- It seems like a vestige of ext/md5.
-
09:48 AM Revision 795fb51f (git): NDEBUG is ignored since Ruby 3.0
-
08:58 AM Revision f985dafe (git): Guard for < Ruby 3.0
- 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
- 08:33 AM Revision 37b445ea (git): [ruby/ostruct] Compatibility with Ruby 2.5
- https://github.com/ruby/ostruct/commit/ecd9fafdf8
-
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... -
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...
-
06:05 AM Feature #16989: Sets: need ♥️
- Is there a chance this feature lands in 3.1?
-
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... -
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...
-
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?(... -
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...
-
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 -
02:10 AM Revision 908785ef (git): [ruby/net-imap] Fix typo intentionaly -> intentionally [ci skip]
- https://github.com/ruby/net-imap/commit/4057c662e7
-
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 -
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... - 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... -
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 - 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
-
01:48 AM Revision eebecdf1 (git): [ruby/net-smtp] Removed needless files from Gem::Specification#files
- https://github.com/ruby/net-smtp/commit/69bba6b125
-
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 - 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 })`.
... -
12:10 AM Revision 73455749 (git): test/net/ftp/test_ftp.rb: Use RubyVM::JIT instead of RubyVM::MJIT
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... -
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.
-
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... -
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 ... -
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.
>... -
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... -
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... -
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... -
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...
-
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 ... -
09:08 PM Bug #17827: Monitor is not fiber safe
- Thanks for your work. @nagachika can you please backport this? 🙏
-
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.... -
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] -
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.... -
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.
-
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/... -
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. -... -
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)
... -
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/... -
05:27 PM Revision fe11031b (git): test/net/ftp/test_ftp.rb: remove unused variable
-
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/... - 04:47 PM Revision 72eacd73 (git): * 2021-04-28 [ci skip]
-
04:42 PM Revision 3a3b19b2 (git): Fix Monitor to lock per Fiber, like Mutex [Bug #17827]
-
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**... -
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... -
02:58 PM Revision 1c1c9153 (git): lldb: highlight the slot when using dump_page_rvalue
-
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 -
02:58 PM Revision c752a358 (git): lldb: Add Freelist Index to dump_page output
-
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... -
12:22 PM Revision 2670509e (git): [ruby/net-ftp] Add test cases
- https://github.com/ruby/net-ftp/commit/865232bb2a
-
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... -
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
... -
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 ... -
12:19 PM Revision fb819d93 (git): [ruby/net-ftp] Re-apply 827e471d438fdec1ae329afb5912b8e06d534823
- https://github.com/ruby/net-ftp/commit/3ca80368c4
-
12:07 PM Revision ac739f42 (git): [ruby/matrix] Guard for < Ruby 3.0
- https://github.com/ruby/matrix/commit/1ef660c627
- 12:01 PM Revision 3af2e892 (git): [ruby/matrix] v0.4.1
- https://github.com/ruby/matrix/commit/f7c9981907
- 12:01 PM Revision c57ba9b9 (git): [ruby/matrix] v0.4.0
- https://github.com/ruby/matrix/commit/baea4b90d4
-
11:57 AM Revision acf599e6 (git): [ruby/matrix] Use Gemfile instead of Gem::Specification#add_development_dependency.
- https://github.com/ruby/matrix/commit/1381fde5c1
- 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.
... -
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 -
08:07 AM Revision ea88f49a (git): test/ruby/test_exception.rb: suppress "warning: statement not reached"
-
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. -
08:05 AM Revision e48109d8 (git): Partially revert 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e
- to make imemo_ast WB-protected again. Only the test is kept.
-
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... -
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.
04/26/2021
-
11:49 PM Bug #15507: Thread#raise is delivered to GC context
- I've confirmed this issue would be fixed by https://github.com/ruby/ruby/pull/4366.
- 11:27 PM Revision ede26169 (git): Fix type-o in insns.def
- "redefine" -> "redefined"
-
11:26 PM Revision 4f88acc8 (git): Fix compiler warnings in objspace_dump.c when assertions are turned on
- Example:
```
In file included from ../../../include/ruby/defines.h:72,
from ../../../include/ruby/ruby.h:23,
from ../../../gc.h:3,
from ../../../ext/objspace/objspace_dump.c:15:
../../.... -
11:09 PM Feature #17834 (Open): Add a Bytes and BytesArray class that implement memoryview
- "this is a string".bytes should == Bytes.new('this is a string') # an immutable bytes object that implements memory view
``` ruby
bytestring = Bytes.new('this is a string')
mv = Fiddle::MemoryView.new(bytestring)
mv[0] # 116
``... -
10:47 PM Misc #17828: Deprecate use of master and slave
- As basic principles:
* I think `master` without corresponding `slave` is still OK (e.g. `master` branch in git).
* compatibility is more important than political correctness, so we are not going to **change** any API, for example, `S... -
02:36 PM Misc #17828: Deprecate use of master and slave
- [redacted due to inappropriate expression]
-
02:08 PM Misc #17828 (Closed): Deprecate use of master and slave
- In light of organizations like Basecamp and GitHub refraining from using words like "master" and "slave," it may be a good time for Ruby Core team to follow the practices. I also feel that this issue has been discussed before, and there ...
-
10:40 PM Feature #17833 (Open): add IO.readinto(b) where b is a bytes like object that is you can get a memoryview from
- ``` ruby
f = File.open(FILENAME,'rb')
bytearray = ByteArray.new(File.size(FILENAME)) # ByteArray implements memoryview
f.readinto(bytearray)
```
First, a ByteaArray is created and pre-allocated to the size of the data we're going ... -
10:38 PM Bug #9010: ./configure --prefix= cannot handle directories with spaces
- This appears to still be an issue in the master branch. It appears to be first hit when linking extensions (example uses `--prefix="/home/jeremy/local foo bar"`):
```
cc -shared -fPIC -o ../../../.ext/x86_64-openbsd6.9/-test-/RUBY_A... -
10:25 PM Bug #9009 (Closed): Wrong binding when tracing c-calls
- Applied in changeset commit:git|d585799d7303abeb1b0ca6fc868f0b2d76a26250.
----------
Document binding behavior for C call/return events for TracePoint/set_trace_func
C methods do not have bindings, so binding returns the binding of
the... - 10:25 PM Revision 6c1e9650 (git): * 2021-04-27 [ci skip]
-
10:23 PM Feature #17832 (Third Party's Issue): allow IO write to write memoryview object without copying or add IO#write_memoryview
- IO#write() - arguments that are not a string will be converted to string using to_s
want IO#write to be able to write memoryview objects without conversion to string
``` ruby
require 'fiddle'
include Fiddle
ptr = Fiddle::Pointer[... -
10:21 PM Revision d585799d (git): Document binding behavior for C call/return events for TracePoint/set_trace_func
- C methods do not have bindings, so binding returns the binding of
the nearest C method.
Fixes [Bug #9009] -
10:19 PM Feature #17831 (Third Party's Issue): add slice method to Fiddle::MemoryView
- ``` ruby
# Fiddle::MemoryView#slice(start, length)
# Fiddle::MemoryView#slice(range)
mv = Fiddle::MemoryView.new(memory_object)
while mv
puts mv[0]
mv = mv.slice(1..-1) # returns a new MemoryView object with the same MemoryVi... -
10:02 PM Bug #17827: Monitor is not fiber safe
- As discussed on that linked issue (https://github.com/rspec/rspec-support/issues/501#issuecomment-826315195),
the behavior should be the same as `Mutex` in this case, so it is a bug of the monitor stdlib. -
08:27 PM Bug #8484 (Closed): Restoring conditions through the ruby method call during VM processing
- Google Translate isn't helpful in this case, but I don't think this is a bug in any released version of Ruby. Basically, code was removed in commit:767c502252daf751a2efbd0acc5766cd5492e9fb, but then it was found to be necessary and rest...
-
07:59 PM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- jeremyevans0 (Jeremy Evans) wrote in #note-7:
> I tested every signal from `Signal.list` on Windows 10, and all signals work in some fashion, assuming you send the signal to the current process. For `Process.kill`:
> ...
I'm glad that... -
07:04 PM Bug #17820 (Rejected): `Errno::EINVAL` from `Process.kill` with available signal on Windows
- I tested every signal from `Signal.list` on Windows 10, and all signals work in some fashion, assuming you send the signal to the current process. For `Process.kill`:
* INT raises a standard Interrupt exception
* ILL/SEGV simulates ... -
07:54 PM Bug #6124 (Closed): remove the "spec-only gems" in Ruby 1.9.3 (was What is the purpose of "fake" gems in Ruby)
-
07:51 PM Bug #8744 (Closed): SIZEOF_UNSIGNED___INT128
- This appears to have been addressed between Ruby 2.2 and 2.3. `SIZEOF_UINT128_T` doesn't seem to be defined in Ruby 2.3, but in 2.4 and later versions, I'm seeing `#define SIZEOF_UINT128_T SIZEOF___INT128` and `#define SIZEOF___INT128 16`.
-
06:06 PM Feature #17830: Add Integer#previous and Integer#prev
- To be fair, the lack of a useful name for a method could also be a
reason it isn’t used. I don’t think that is the case here; I don’t
think that I’ve ever used Integer#succ, since it is _mostly_ only
useful in cases where `count += 1... -
05:56 PM Feature #17830: Add Integer#previous and Integer#prev
- marcandre (Marc-Andre Lafortune) wrote in #note-1:
> In general, I don't favor aliases as they usually increase cognitive load, make code less uniform and add very little.
In general, I agree. But in this case, we already have `Integ... -
05:41 PM Feature #17830: Add Integer#previous and Integer#prev
- I'm against this proposal.
In general, I don't favor aliases as they usually increase cognitive load, make code less uniform and add very little.
More importantly in this case, `Integer#pred` is not a frequently used method. Actual... -
05:27 PM Feature #17830 (Assigned): 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.
On that note, `#previous` reads better,... -
04:23 PM Misc #17829 (Open): Clang/LLVM correctness of x64-mingw32 build (`shorten-64-to-32` warnings)
- The attached log is from `make miniruby` for x64-mingw32 with Clang/LLVM. Warnings are silenced except for `-Wshorten-64-to-32`.
This might not be an issue solely for Clang/LLVM, because the size of each type is the same as that in GC... -
01:46 PM Revision 203eeeef (git): Revert "disable shareable_constant_value for CI"
- This reverts commit c647205c3eb1f17409a859149bb7d2ea38b43bed.
Maybe the root issue was fixed by 7ac078e5b67ba752a755d6bd9c3a99999767fd3a -
01:46 PM Revision 2c7d3b3a (git): node.c (rb_ast_new): imemo_ast is WB-unprotected
- Previously imemo_ast was handled as WB-protected which caused a segfault
of the following code:
# shareable_constant_value: literal
M0 = {}
M1 = {}
...
M100000 = {}
My analysis is here: `shareable_constant_value: li... -
12:15 PM Revision 5219b4dd (git): [ruby/irb] Added setup and teardown to TestIRB::TestInit
- Not to be affected by existing rc files in all tests.
https://github.com/ruby/irb/commit/bf434892b4 -
12:14 PM Revision 8fdc45c8 (git): [ruby/irb] Added `colorable` keyword option
- Currently `IRB::Color.colorize` and `IRB::Color.colorize_code`
refer `$stdin.tty?` internally.
This patch adds `colorable` keyword option which overrides it.
https://github.com/ruby/irb/commit/402e3f1907 -
12:14 PM Revision 687ab5dc (git): [ruby/irb] Assertions on non-tty
- https://github.com/ruby/irb/commit/ede12890d2
-
12:14 PM Revision 75f1ad8c (git): [ruby/irb] Added test_colorize
- https://github.com/ruby/irb/commit/10e290fc3a
-
12:14 PM Revision 6ddaad60 (git): [ruby/irb] Added assert_equal_with_term
- https://github.com/ruby/irb/commit/b690da96d8
-
12:13 PM Revision fc24b073 (git): [ruby/irb] Fix typo ture -> true [ci skip]
- https://github.com/ruby/irb/commit/783a0569e8
-
02:33 AM Revision c647205c (git): disable shareable_constant_value for CI
- To debug CI failures on FreeBSD, disable `shareable_constant_value`.
-
02:21 AM Revision 4ca27190 (git): spec/ruby/core/file/shared/read.rb: The behavior of FreeBSD was changed
- http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20210426T003001Z.fail.html.gz#rubyspec
-
02:07 AM Revision 2b487d36 (git): Remove test of removed reverse VM instruction
- since 5512353d97250e85c13bf10b9b32e750478cf474
- 01:07 AM Revision fcc6f6de (git): * 2021-04-26 [ci skip]
-
01:07 AM Revision 33f2ff3b (git): Fix some typos by spell checker
-
12:54 AM Feature #17816: Move C heap allocations for RVALUE object data into GC heap
- I read the patch this weekend. LGTM so far. But I want another +1 from someone else (hopefully from @ko1)
04/25/2021
-
09:30 PM Bug #17827 (Closed): Monitor is not fiber safe
- According to our discussion here https://github.com/rspec/rspec-support/issues/501 it seems like typical implementation of per-thread reentrant mutex is no longer valid and can lead to some deadlock situation.
```
#!/usr/bin/env ruby... - 02:52 PM Revision f9b62b5c (git): [Doc] Fix a typo s/algorthm/algorithm/
- 02:51 PM Revision ca5816e2 (git): [ci skip] Fix a typo s/certificiate/certificate/
- 02:51 PM Revision 04e6383f (git): [Doc] Fix a typo s/daguten/dakuten/
- 02:50 PM Revision 532c775e (git): [Doc] Fix a typo s/arround/around/
-
12:53 PM Bug #17826: Ractor#take hangs if used in multiple Threads
- It reproduces on the master branch as well (git commit cc5bab80e4b1124e30a8dc220bdcb80aaa539486).
If I connect with a debugger to the process, there are two threads left (out of 5 at the most, 1 main, 2 threads, and 2 ractors)
```
(gdb... -
11:07 AM Bug #17826 (Closed): Ractor#take hangs if used in multiple Threads
- Hello there.
I was playing with Ractors (the awesome technology and the big leap for Ruby) and encountered weird behavior.
I tried to schedule and run Ractors in multiple threads, and found out, that Ractor#take hangs even if the ... -
11:05 AM Feature #17825 (Open): Uniformize Float::INFINITY and Date::infinity.new
- With `Float` you can do
``` ruby
Float::INFINITY # Infinity
```
and with `Date` you can do
``` ruby
Date::Infinity.new # #<Date::Infinity:0x00007f8d46a59ee0 @d=1>
```
but not
``` ruby
Date::INFINITY # uninitialized constant ... - 07:46 AM Revision cc5bab80 (git): [Doc] Fix a typo s/visilibity/visibility/
- 07:46 AM Revision ad108e63 (git): [Doc] Fix a typo s/oher/other/
- 07:45 AM Revision e71bc56e (git): [Doc] Fix a typo s/evel/eval/
- 07:45 AM Revision 4d5f15a5 (git): * 2021-04-25 [ci skip]
- 07:45 AM Revision fc84e667 (git): [Doc] Fix a typo s/invokations/invocations/
-
05:33 AM Bug #17824: Gem::Deprecate#deprecate doesn't work with method with keyword arguments
- Thank you for your report. I've created a pull request to rubygems upstream. https://github.com/rubygems/rubygems/pull/4558
-
04:58 AM Bug #17824 (Closed): Gem::Deprecate#deprecate doesn't work with method with keyword arguments
- Method with keyword argument cannot be used with `Gem::Deprecate`. Here is an example:
```ruby
class Thing
extend Gem::Deprecate
def foo(name:)
puts name
end
def bar(name:)
foo(name: name)
end
deprecat...
04/24/2021
-
09:57 AM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- reset Backport field to backport git|4b36a597f48c857aa5eb9ed80fec0d02f6284646.
-
05:04 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- ruby_3_0 13f93ad16d3d1ecf96ece229cd4bc5ea294e1a71 merged revision(s) 611e711085c7e3984555a79626d025c8b876eced,a9c5c2d614f30a616970245fef3e7ffc151e2ecf.
-
04:17 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- And added https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/611e711085c7e3984555a79626d025c8b876eced too.
-
04:14 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- Added https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/a9c5c2d614f30a616970245fef3e7ffc151e2ecf as a related commit.
I will backport the changesets. -
05:04 AM Revision 13f93ad1 (git): merge revision(s) 611e711085c7e3984555a79626d025c8b876eced,a9c5c2d614f30a616970245fef3e7ffc151e2ecf: [Backport #17527]
- Test incorrect behaviour of `rb_io_wait_readable/writable`.
---
test/fiber/test_io.rb | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
Check errno before invoking scheduler in
... -
02:17 AM Revision dee58d7a (git): Add back checks for empty kw splat with tests (#4405)
- This reverts commit a224ce8150f2bc687cf79eb415c931d87a4cd247.
Turns out the checks are needed to handle splatting an array with an
empty ruby2 keywords hash.