Activity
From 04/21/2021 to 04/27/2021
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.
04/23/2021
-
11:44 PM Revision 1f2b5c6d (git): Remove part of comment that is no longer accurate
- In Ruby 2.7, empty keyword splats could be added back for backwards
compatibility. However, that stopped in Ruby 3.0. -
11:37 PM Revision a224ce81 (git): Remove unnecessary checks for empty kw splat
- These two checks are surrounded by an if that ensures the
call site is not a kw splat call site. -
11:31 PM Bug #17519 (Closed): set_visibility fails when a prepended module and a refinement both exist
- Applied in changeset commit:git|4b36a597f48c857aa5eb9ed80fec0d02f6284646.
----------
Fix setting method visibility for a refinement without an origin class
If a class has been refined but does not have an origin class,
there is a singl... -
11:31 PM Revision 4b36a597 (git): Fix setting method visibility for a refinement without an origin class
- If a class has been refined but does not have an origin class,
there is a single method entry marked with VM_METHOD_TYPE_REFINED,
but it contains the original method entry. If the original method
entry is present, we shouldn't skip the ... -
11:18 PM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- @nagachika can we please backport this for 3.0.2?
-
07:51 PM Bug #17823 (Closed): addr2line.c: Interpret `DW_RLE_start_length`
- I noticed some of the symbol names were missing from C backtrace for an i686-linux binary built with GCC 10.3 + DWARF 5, and found that the form `DW_RLE_start_length` is used in it. This form was left uninterpreted in `addr2line.c`, beca...
-
06:09 PM Feature #17816: Move C heap allocations for RVALUE object data into GC heap
- Is it ok if we commit this behind a compiler flag? I think it would help push development forward. If it doesn't work out, we can revert. @ko1 any thoughts?
-
05:33 PM Bug #17822 (Closed): Inconsistent visibility behavior with refinements
- Running the following script, case 0 raises `NoMethodError` for privacy violation,
while all other cases print `:refined`. Shouldn't all three cases be equivalent?
```ruby
class A; end
module M
refine(A) { def foo; :refined; e... -
04:26 PM Feature #17795: Around `Process.fork` callbacks API
- I very much agree with @Dan0042's point about `exit!`, finalizers, `at_exit` and subtleties.
This can be easily be handled with fork hooks, and it's a total nightmare otherwise, to the point many apps/libraries probably get it wrong
(e... - 04:25 PM Revision cb78aaed (git): * 2021-04-24 [ci skip]
- 04:25 PM Revision 7de7d096 (git): Fix wrong documentation
- It doesn't return `nil` but raises an exception, as explained a few lines after
-
01:11 PM Revision 71ee05c9 (git): test/ruby/test_assignment.rb: Avoid "assigned but unused variable"
-
10:09 AM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
- xtkoba (Tee KOBAYASHI) wrote in #note-11:
> I am afraid that in the Crash Report the C backtrace of the crashed thread is not complete and lacks the frames before the signal trampoline.
How can I help with it? I don't have any other ... -
04:36 AM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
- I am afraid that in the Crash Report the C backtrace of the crashed thread is not complete and lacks the frames before the signal trampoline.
-
04:54 AM Bug #17821 (Closed): Impossible to define only short versions of options in OptionParser
-
04:06 AM Bug #17821: Impossible to define only short versions of options in OptionParser
- This is because the notation `-na` is interpreted as a short style switch `-n` with a mandatory argument `a`, and overwritten with `-nb` which is also a short style switch `-n`.
See https://docs.ruby-lang.org/en/3.0.0/OptionParser.html -
04:27 AM Bug #17799: Seg fault in rb_class_clear_method_cache
- It would be possible that the lines inserted affect other parts of the code.
FYI, I once struggled with a similar problem (#17540), which I am not sure is relevant. -
04:23 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- To answer the questions above:
* gem install sassc works fine
* using different drives, d:/ works fine
I don't understand the reason for this change - it just makes building on mingw64 with mingw-64 on windows more broken. If the ... -
04:09 AM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- I mean for example the following script works even on Windows (MinGW32).
```ruby
Process.kill :TERM, Process.pid
``` -
03:53 AM Revision cf7b33d5 (git): Remove unneeded comment
- 01:35 AM Revision 5a4b3354 (git): * 2021-04-23 [ci skip]
-
01:35 AM Revision 3ea2a407 (git): Suppress warnings for unsued variable
04/22/2021
-
09:26 PM Bug #17799: Seg fault in rb_class_clear_method_cache
- I don't see any compiler optimizations that would explain why the behavior would be any different. I was hoping to see something optimized out (as described in the `volatile` section in https://ruby-hacking-guide.github.io/gc.html), but ...
-
04:00 PM Bug #17799: Seg fault in rb_class_clear_method_cache
- xtkoba (Tee KOBAYASHI) wrote in #note-2:
> My explanation in #note-1 is partly incorrect. What is wrongfully 0 is the value of the class itself, not the class serial.
Thanks. I haven't been able to reproduce the problem with optimiza... -
09:09 PM Bug #17821 (Closed): Impossible to define only short versions of options in OptionParser
- I have tried several approaches and either I'm being misled by the documentation or there's a bug.
I've tried this with two versions of ruby 2.7.2 and 3.0.1, both compiled using rbenv.
Here is the code:
```
require 'optparse'
op... -
09:09 PM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- xtkoba (Tee KOBAYASHI) wrote in #note-4:
> The signals (except for `EXIT`, that is a pseudo signal) listed in `Signal.list` are valid to be sent to `Process.pid` (`$$`).
Sorry, what? This method only [returns process ID](https://ruby... -
08:46 PM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- The signals (except for `EXIT`, that is a pseudo signal) listed in `Signal.list` are valid to be sent to `Process.pid` (`$$`).
I suppose it is not easy to make POSIX signals consistent with Windows. -
08:19 PM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- Also I found a very strange behavior with `Signal.trap`, not sure is it related, but I'm still sure that all signals should be synchronized and consistent.
So… `Signal.trap('KILL')` raises `Invalid argument - SIGKILL (Errno::EINVAL)`.... -
07:40 PM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- xtkoba (Tee KOBAYASHI) wrote in #note-1:
> This seems to be a well-known restriction. Only `KILL` (`9`) works for Windows.
> ...
Yes, I found this article, and wanted to add the link to the issue description, but didn't find an ability t... -
06:51 PM Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
- This seems to be a well-known restriction. Only `KILL` (`9`) works for Windows.
https://blog.simplificator.com/2016/01/18/how-to-kill-processes-on-windows-using-ruby/ -
05:52 PM Bug #17820 (Rejected): `Errno::EINVAL` from `Process.kill` with available signal on Windows
- Hello.
I've installed Ruby on Windows via [Chocolatey](https://community.chocolatey.org/packages/ruby).
I receive `Errno::EINVAL` from `Process.kill` with almost every signal. Only `0` seems working. `TERM` (`15`), `INT` (`2`) — do... -
08:58 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
- xtkoba (Tee KOBAYASHI) wrote in #note-9:
> user:meliborn Would you please follow this part of instructions:
> ...
-
08:52 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
- user:meliborn Would you please follow this part of instructions:
```
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/Diagnost... -
08:43 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
- Happened again. Attached full stack trace.
-
06:58 PM Feature #17795: Around `Process.fork` callbacks API
- > Or maybe don't stop active threads?
That's not possible. After `fork(2)` all but the thread that called `fork(2)` die in the children.
> ...
Very good idea. If the proper callback API is not accepted, but the idea of having a pr... -
03:23 PM Feature #17795: Around `Process.fork` callbacks API
- from dev meeting notes:
> akr: Process.daemon is very special, so it doesn't have to call the hooks (or update fork_level)
It should be noted that `Process.daemon` has the effect of stopping active threads, just like `fork`. Since on... -
02:34 PM Feature #17795: Around `Process.fork` callbacks API
- akr (Akira Tanaka) wrote in #note-17:
> Another idea is introducing Process.fork_level which can be used to detect fork instead of getpid.
If that's possible, then it should be equally possible to just [pre-]cache `Process.pid` and i... -
01:21 PM Feature #17795: Around `Process.fork` callbacks API
- Another instance I just stumbled upon, Dalli the dominant Memcached client checks `Process.pid` before every single command: https://github.com/petergoldstein/dalli/blob/c73e52bf2993877ad509938dd840f0544633e998/lib/dalli/server.rb#L210
-
03:36 PM Bug #17819 (Closed): fatal - machine stack overflow in critical region
-
03:29 PM Bug #17819: fatal - machine stack overflow in critical region
- nvm, I found the issue.
A custom exception was being thrown and that exception had that code which created infinite loop
- def to_s
- message
- end
which generated the fatal error. -
01:45 PM Bug #17819 (Closed): fatal - machine stack overflow in critical region
- Hello, I'm having a weird issue that occurs on very specific circumstances on my rails app.
I've noticed from previous issues that those kind of bugs seem to be an issue on my end
so if you have some time just to point me in the rig... -
11:55 AM Revision e628058c (git): Update bundled_gems
-
11:14 AM Bug #17817: --jit outputs ./tmp/_ruby_mjit_*.h: No such file or directory on with TMP
- The failure seems to happen when `TMP` is specified as a relative path.
-
05:55 AM Revision bbee6968 (git): [ruby/uri] Use Regexp#match? to avoid extra allocations
- `#=~` builds `MatchData`, requiring extra allocations as compared to
`#match?`, which returns a boolean w/o having to build the `MatchData`.
https://github.com/ruby/uri/commit/158f58a9cc - 05:55 AM Revision 291cfa71 (git): [ruby/uri] remove comment about URI::escape as it is removed
- https://github.com/ruby/uri/commit/0f0057e1b2
-
05:54 AM Revision d4a490f2 (git): [ruby/uri] Set required_ruby_version to 2.4 in gemspec
- Tests pass on Ruby 2.4, but not on Ruby 2.3.
https://github.com/ruby/uri/commit/594418079a -
05:54 AM Revision 10ad81eb (git): [ruby/uri] Only use UnboundMethod#bind_call if it is available
- This allows tests to pass on Ruby 2.4-2.6.
Fixes #19
https://github.com/ruby/uri/commit/67ca99ca87 -
05:54 AM Revision 3e27ca60 (git): [ruby/uri] Add tests for URI::RFC{2396,3986}_Parser#inspect
- https://github.com/ruby/uri/commit/d47dae2f8e
- 05:54 AM Revision c46a4b8c (git): [ruby/uri] Optimize URI#hostname and URI#hostname=
- https://github.com/ruby/uri/commit/3b7ccfd835
-
05:54 AM Revision 6e06c980 (git): [ruby/uri] Upstream Java proxy property checks from JRuby
- These Java properties, retrieved from JRuby's "Java env" ENV_JAVA,
allow JRuby users to use the same proxy properties the rest of the
Java platform uses.
This resolves https://bugs.ruby-lang.org/issues/11194
https://github.com/ruby/uri... -
05:38 AM Revision a9fe00c3 (git): [ruby/net-imap] Bump version to 0.2.1
- https://github.com/ruby/net-imap/commit/31f96ea884
-
05:38 AM Revision d785c5b8 (git): [ruby/net-imap] Set timeout for IDLE responses
- Fixes #14
https://github.com/ruby/net-imap/commit/39d39ff9bb -
05:37 AM Revision 67476031 (git): Merge net-imap-0.2.0
-
04:35 AM Revision 01f13145 (git): Separate test used by test_ractor for Ractor in test_time.rb
-
02:53 AM Revision 270b16e7 (git): [ruby/io-console] Move FFI console under lib
- Having the separate dir makes testing difficult and doesn't
reflect the structure the gem will eventually have. We can filter
these files out if necessary when building the CRuby gem.
https://github.com/ruby/io-console/commit/881010447c -
02:51 AM Revision 042860bd (git): [ruby/io-console] Enable building the C extension on TruffleRuby.
- https://github.com/ruby/io-console/commit/c17b8cf3a9
-
02:51 AM Revision 537fc3ad (git): Ignore JRuby files on io-console
-
02:51 AM Revision b18aab24 (git): [ruby/benchmark] gemspec: Explicitly have 0 executables
- This gem exposes no executables.
https://github.com/ruby/benchmark/commit/ff1ef7ae06 -
02:51 AM Revision 4f39a35b (git): [ruby/benchmark] Add comment about terminating newline in captions; fix test method name.
- https://github.com/ruby/benchmark/commit/02ce298d3e
-
02:51 AM Revision 2440d60a (git): [ruby/cgi] gemspec: Explicitly empty executables list
- The gem exposes no executables
https://github.com/ruby/cgi/commit/cd7106ad97 -
02:51 AM Revision f818b1ed (git): [ruby/cgi] Add test for escapeHTML/unescapeHTML invalid encoding fix in pure ruby version
- Also, remove pointless assert_nothing_raised(ArgumentError) while
here.
https://github.com/ruby/cgi/commit/c05edf5608 - 02:51 AM Revision 27569383 (git): [ruby/cgi] handle invalid encoding
- https://github.com/ruby/cgi/commit/2b1c2e21a4
-
02:51 AM Revision 53d153e4 (git): [ruby/time] Make Time friendly to Ractor
- https://github.com/ruby/time/commit/c784e4f166
-
02:33 AM Bug #16618 (Closed): Ensure called twice when raise in ensure
- Applied in changeset commit:git|609de71f043e8ba34f22b9993e444e2e5bb05709.
----------
fix raise in exception with jump
add_ensure_iseq() adds ensure block to the end of
jump such as next/redo/return. However, if the rescue
cause are in ... -
02:33 AM Bug #13930 (Closed): Exception is caught in rescue above ensure
- Applied in changeset commit:git|609de71f043e8ba34f22b9993e444e2e5bb05709.
----------
fix raise in exception with jump
add_ensure_iseq() adds ensure block to the end of
jump such as next/redo/return. However, if the rescue
cause are in ... -
02:33 AM Revision 609de71f (git): fix raise in exception with jump
- add_ensure_iseq() adds ensure block to the end of
jump such as next/redo/return. However, if the rescue
cause are in the body, this rescue catches the exception
in ensure clause.
iter do
next
rescue
R
ensure
raise
en...
04/21/2021
-
11:29 PM Revision 5512353d (git): Remove reverse VM instruction
- This was previously only used by the multiple assignment code, but
is no longer needed after the multiple assignment execution order
fix. -
11:27 PM Feature #17790: Have a way to clear a String without resetting its capacity
- That was what I was hoping the addition of memoryview would help with but the only way to interact with the memoryview in ruby is with Fiddle
If we had a ByteArray class that implemented memoryview
buffer = ByteArray.new('this is a ... -
09:03 PM Misc #17818: Reviving Travis CI
- Note I created the ticket from the following page in Travis.
https://support.travis-ci.com/
-
07:52 PM Misc #17818: Reviving Travis CI
- I just got a really quick response from Travis support in less than 2 hours. The content is quite positive!
```
Hello Jun ,
Please accept our sincere apologies for any inconvenience caused due to delays in processing your open-... -
06:31 PM Misc #17818 (Closed): Reviving Travis CI
- Related to #17720, chatting with @naruse and @hsbt in Ruby project, I thought it is better to revive Travis that had been deleted at the commit [1] at first before trying Cirrus CI, the new thing, even though we only might be able to use...
-
05:49 PM Bug #4443 (Closed): odd evaluation order in a multiple assignment
- Applied in changeset commit:git|50c54d40a81bb2a4794a6be5f1861152900b4fed.
----------
Evaluate multiple assignment left hand side before right hand side
In regular assignment, Ruby evaluates the left hand side before
the right hand side... - 05:49 PM Revision 9dbd0969 (git): * 2021-04-22 [ci skip]
-
05:49 PM Revision 50c54d40 (git): Evaluate multiple assignment left hand side before right hand side
- In regular assignment, Ruby evaluates the left hand side before
the right hand side. For example:
```ruby
foo[0] = bar
```
Calls `foo`, then `bar`, then `[]=` on the result of `foo`.
Previously, multiple assignment didn't work this w... -
04:25 PM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- This hasn’t yet been backported. When it has been, there will be a
release that includes the fixes to permit building with Xcode 12.
-a
On Wed, Apr 21, 2021 at 1:10 AM <[email protected]> wrote:
>
> Issue #17777 has been updated b... -
05:10 AM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- Newbie here, I just ran into this today on my Mac running MacOS 11.2.3 (Intel)
Based on the above it sounds like we would need to wait for 2.6.8 to update Ruby safely?
``` shell
tdehnke@Tonys-MacBook-Pro-15 12vBiz % rbenv install 2.6... -
02:57 PM Bug #17817: --jit outputs ./tmp/_ruby_mjit_*.h: No such file or directory on with TMP
- It was executed on my Fedora Linux 33.
```
$ cat /etc/fedora-release
Fedora release 33 (Thirty Three)
```
-
02:52 PM Bug #17817: --jit outputs ./tmp/_ruby_mjit_*.h: No such file or directory on with TMP
- I created the `tmp` directory in advance.
```
$ mkdir tmp
```
I see the following files are created after the above commands.
```
$ ls tmp/
_ruby_mjit_hp1287695u0.h.gch _ruby_mjit_p1287695u0.c
```
-
02:49 PM Bug #17817 (Closed): --jit outputs ./tmp/_ruby_mjit_*.h: No such file or directory on with TMP
- On the master branch: `3c8a67e8a5f51f337cf95b4038ed97bf8ca8b696`, I see the `ruby --jit` prints `fatal error: ./tmp/_ruby_mjit_hp1287695u0.h: No such file or directory` only if `TMP` is set. Is it a bug?
The ruby is built from the sou... -
11:45 AM Revision 3c8a67e8 (git): [ruby/pp] Bump version to 0.2.0
- https://github.com/ruby/pp/commit/a202dd2c9b
-
11:44 AM Revision 17441a6b (git): [ruby/pp] Support < Ruby 3.0
- https://github.com/ruby/pp/commit/3ee131ae92
-
11:43 AM Revision 2229fc8b (git): [ruby/resolv] gemspec: Explicitly list 0 executables
- This gem exposes no executables, and this makes that clearer.
https://github.com/ruby/resolv/commit/8797a9d3ce -
11:41 AM Revision c27e8f1c (git): [ruby/forwardable] gemspec: Explicitly empty the executables list
- This gem exposes no executables.
https://github.com/ruby/forwardable/commit/374b685927 -
11:41 AM Revision b68a4c19 (git): [ruby/base64] gemspec: Use an explicit file list
- This avoids shelling out to git.
https://github.com/ruby/base64/commit/f45f06f93f -
11:41 AM Revision fa00bf92 (git): [ruby/base64] gemspec: Explicitly empty executables list
- This gem exposes no executables.
https://github.com/ruby/base64/commit/9d2c49cb19 -
11:39 AM Revision 855997a4 (git): [ruby/abbrev] gemspec: Explicitly empty executables list
- https://github.com/ruby/abbrev/commit/f28839e7b8
-
11:38 AM Revision 4ac72d37 (git): [ruby/io-wait] gemspec: Explicitly list 0 executables
- This gem exposes no executables, and this clarifies this.
https://github.com/ruby/io-wait/commit/f491c6cc64 -
11:34 AM Revision 347c3b30 (git): Fix the regexp list for ignore list
-
08:48 AM Feature #17816: Move C heap allocations for RVALUE object data into GC heap
- Thanks @shyouhei I'll read through that ticked and the associated patch.
We're also seeing memory bloat when this feature is enabled at the moment. This is primarily because our naive allocator allows new pages to be allocated at the ... -
01:21 AM Feature #17816: Move C heap allocations for RVALUE object data into GC heap
- Great work!
Slightly off topic but this ticket reminds me Feature #9362 I proposed years ago. It was fast, but rejected nonetheless because of memory bloats. Heroku dynos thirsted memory than CPUs back then.
It seems this proposa... -
08:38 AM Revision 7c0c1c3e (git): This change broke the some files like date.gemspec and lib/logger.rb.
- Revert "sync_default_gems.rb: merge only files named as each gem"
This reverts commit 37b96d6773a2151fb3193cab6b9e3f7328915844. -
07:30 AM Feature #17795: Around `Process.fork` callbacks API
- There is some precedent @jeremyevans0 for library authors offering all the poisons to the users.
For example:
https://github.com/redis/redis-rb/blob/6542934f01b9c390ee450bd372209a04bc3a239b/lib/redis/client.rb#L384-L389
> inherit... -
04:03 AM Bug #17814 (Closed): inconsistent Array.zip behavior
- Applied in changeset commit:git|fb04c69418ceee696a114fe31279cf3a5ea16d30.
----------
array.c (rb_ary_zip): take only as many as needed from an Enumerator (#4389)
[Bug #17814] -
04:02 AM Revision fb04c694 (git): array.c (rb_ary_zip): take only as many as needed from an Enumerator (#4389)
- [Bug #17814]