Activity
From 05/28/2020 to 06/03/2020
06/03/2020
-
11:53 PM Revision e2d76478 (git): Enhanced Rdoc for Hash (#3178)
- * Enhanced Rdoc for Hash
* Fix typo in Hash Rdoc
* Enhanced Rdoc for Hash -
07:19 PM Bug #9573: descendants of a module don't gain its future ancestors, but descendants of a class, do
- With my recent changes to fix the bugs in the object model related to prepend and refinements, adding support for Module#prepend is now straightforward and breaks no tests or specs. I've added a pull request for it: https://github.com/r...
-
05:13 PM Bug #16932 (Closed): `defined?` on refined method call returns non-nil even before `using`
- Applied in changeset commit:git|8340c773e54feb399c9fab322e3ff6dd578ac04d.
----------
Properly resolve refinements in defined? on method call [Bug #16932] -
01:55 PM Bug #16932 (Closed): `defined?` on refined method call returns non-nil even before `using`
- From 2.0 to master (ee35a4dad3), the second `defined?(a.x)` before `using` returns truthy value.
``` ruby
class A
end
a = A.new
p defined?(a.x) #=> nil (OK)
m = Module.new do
refine(A) do
def x
end
end
end
... -
05:12 PM Revision 184f7831 (git): Properly resolve refinements in defined? on private call [Bug #16932]
-
05:12 PM Revision 8340c773 (git): Properly resolve refinements in defined? on method call [Bug #16932]
-
04:51 PM Bug #16852 (Closed): Refining Enumerable fails with ruby 2.7
- Applied in changeset commit:git|98286e9850936e27e8ae5e4f20858cc9c13d2dde.
----------
Ensure origins for all included, prepended, and refined modules
This fixes various issues when a module is included in or prepended
to a module or cla... - 04:51 PM Revision 3ced77a8 (git): * 2020-06-04 [ci skip]
-
04:50 PM Revision 98286e98 (git): Ensure origins for all included, prepended, and refined modules
- This fixes various issues when a module is included in or prepended
to a module or class, and then refined, or refined and then included
or prepended to a module or class.
Implement by renaming ensure_origin to rb_ensure_origin, making ... -
11:37 AM Feature #16897: General purpose memoizer in Ruby 3 with Ruby 2 performance
- FWIW this works :
```ruby
H = Hash.new { |h,k| h[k] = k ** 2 }
def sq(...); H.[](...); end
sq(44) # => 1936
sq(42) # => 1764
H # => {44=>1936, 42=>1764}
```
Can such an approach be used for your case? -
10:26 AM Feature #16897: General purpose memoizer in Ruby 3 with Ruby 2 performance
- Could you clarify which of the numbers above you think is too expensive for performance?
Looking at the numbers I don't see a big difference but it's also hard to compare because they are not in the same order. -
10:13 AM Revision ee35a4da (git): Append subsec part instead of creating new string
-
10:11 AM Revision 160511d8 (git): Quarantine specs which fail frequently with CHECK_LEAKS=true
-
08:28 AM Revision eb2b7fca (git): Fixed up 56ca006784d
- Run lldb just before sending ABRT or KILL signal. Some tests
terminate child processes by TERM signal intentionally. -
08:21 AM Bug #16917: "ruby -run -e httpd . " did not work
- 2020-06-03_15-04.png is running it with port 8081, and 2020-06-03_15-00.png is running it with port 8080. Just to be clear, `ruby -run -e httpd . -p 8081` with Ruby 2.7 also reproduces the same problem, right?
-
08:13 AM Bug #16917: "ruby -run -e httpd . " did not work
- I suspect that the directory has index.html. Do you run Ruby 2.5 in the same directory as 2.7?
-
07:05 AM Bug #16917: "ruby -run -e httpd . " did not work

Ruby 2.5 is OK-
07:01 AM Bug #16917: "ruby -run -e httpd . " did not work
- mame (Yusuke Endoh) wrote in #note-1:
> It works for me. Could you show us the terminal log and the html result (if you can connect to the server)?
only show hello world .
-
07:28 AM Feature #16352: Modify Marshal to dump objects larger than 2 GiB
- jeremyevans0 (Jeremy Evans) wrote in #note-3:
> Supporting the dumping of larger objects does seem like a useful feature, but as @shyouhei mentioned, it requires a format change, which would break backwards compatibility as a marshal du... -
07:13 AM Revision de5e0f7c (git): vm_invoke_proc_block: reduce recursion
- According to nobu recursion can be longer than my expectation. Limit
them here. -
07:13 AM Revision b61e82ea (git): vm_call_symbol: check stack overflow
- VM stack could overflow here. The condition is when a symbol is passed
to a block-taking method via &variable, and that symbol has never been
used for actual method names (thus yielding that results in calling
method_missing), and the V... -
07:13 AM Revision ba20e608 (git): vm_invoke_block: remove auto qualifier
- Was (harmless but) redundant.
-
07:13 AM Revision d4015cfe (git): add benchmark for different block handlers
-
07:13 AM Revision 6302b963 (git): vm_insnhelper.c: add space [ci skip]
- Just cosmetic change to improve readability.
-
07:13 AM Revision 054c2fdf (git): vm_invoke_symbol_block: reduce MEMCPY
- This commit changes the number of calls of MEMCPY from...
| send | &:sym
-------------------------|-------|-------
Symbol already interned | once | twice
Symbol not pinned yet | none | once
to:
... -
07:13 AM Revision 36322942 (git): vm_invoke_symbol_block: call vm_call_opt_send
- Symbol#to_proc and Object#send are closely related each other. Why not
share their implementations. By doing so we can skip recursive call of
vm_exec(), which could benefit for speed. -
07:13 AM Revision 973883aa (git): vm_invoke_block: force indirect jump
- This changeset slightly speeds up on my machine.
Calculating -------------------------------------
before after
Optcarrot Lan_Master.nes 38.33488426546287 40.89825082589147 f... -
07:13 AM Revision 796f9eda (git): vm_invoke_block: insertion of unused args
- This makes it possible for vm_invoke_block to pass its passed arguments
verbatimly to calling functions. Because they are tail-called the
function calls can be strength-recuced into indirect jumps, which is a
huge win. -
07:13 AM Revision ec87a58d (git): vm_invoke_block: eliminate goto
- Use recursion for better readability.
-
07:13 AM Revision 11c70b31 (git): vm_invoke_block: move logics around
- Moved block handler -> captured block conversion from vm_invokeblock to
each vm_invoke_*_block functions.
06/02/2020
-
11:24 PM Bug #15711: Remove use of _id2ref from DRb
- tenderlovemaking (Aaron Patterson) wrote in #note-16:
> We maintain two maps, an "id to address" and an "address to id" map. When compaction runs it just updates both of those maps. In terms of time and space, it's certainly not free,... -
11:23 PM Bug #15711: Remove use of _id2ref from DRb
- > Doesn't it cause a large overhead to maintain the $id_to_obj map? (#15626)
I don't know if it's "large" exactly. But we only need to maintain the map if someone ever accesses "id", and that is rare. Maybe not "never", but it's not ... -
10:05 PM Bug #15711: Remove use of _id2ref from DRb
- Doesn't it cause a large overhead to maintain the `$id_to_obj` map? (#15626)
If there was no `_id2ref`, we'd just need an atomic increment for object_id, right?
TruffleRuby implements `_id2ref` but it's very inefficient (basically se... -
09:39 PM Bug #15711: Remove use of _id2ref from DRb
- Now that MRI has monotonic object ids, does it really matter that we still use id2ref? The id no longer refers to an address, so I'm not sure that this method is so dangerous anymore.
-
09:37 PM Bug #15711: Remove use of _id2ref from DRb
- The commit 8980b53a48b1f55e09c5223008225e6bfa765405 added a new class WeakIdConv, but _id2ref is still used in `lib/drb/drb.rb`.
-
07:51 PM Feature #14267: Lazy proc allocation introduced in #14045 creates regression
- In my pull request, I propose the following definition of proc equivalence:
* The procs have the same class
* The procs either are both lambdas or both non-lambdas
* The procs either are both created from a method or both not create... -
05:39 PM Bug #16922: single quote should be escaped in xml
- I've added a pull request to escape `'` as `'`: https://github.com/ruby/ruby/pull/3177
@akr, can you let me know if this is correct? -
05:13 PM Feature #10911: IPAddr.new should ignore zone identifiers
- jeremyevans0 (Jeremy Evans) wrote in #note-4:
> Dan0042 (Daniel DeLorme) wrote:
> ...
It turns out that the socket library already supports this, at least on my operating system (and I would guess other operating systems supporting IPv... -
04:41 PM Bug #7840: -Wdeclaration-after-statement is valid for C/ObjC but not for C++
- declaration-after-statement warnings were removed in commit:ec336fb40e4df0c8615e584fbefb5e9e572cb9ec. implicit-function-declaration warnings are still present, though.
-
04:17 PM Bug #9790: Zlib::GzipReader only decompressed the first of concatenated files
- ko1 (Koichi Sasada) wrote in #note-10:
> * mame: can each_file return an Enumerator? Seems difficult to implement it
> ...
I'm not sure, but it seems the proposal here would be to make all Zlib::GzipReader methods transparently handle... - 03:53 PM Revision 87bc95e7 (git): * 2020-06-03 [ci skip]
-
03:53 PM Revision afefcade (git): [ci skip] Enhanced Rdoc for Hash (#3162)
- * Enhanced Rdoc for Hash
* Enhanced Rdoc for Hash -
02:57 PM Revision ae8362fd (git): Add a spec for the new NoMethodError display of the receiver
-
10:06 AM Bug #16931 (Closed): `defined?` against a protected method call on an inherited instance returns wrong `nil`
- Applied in changeset commit:git|d05f04d27dd86c67e4a8dfff4392f806cf577bdf.
----------
Fixed `defined?` against protected method call
Protected methods are restricted to be called according to the
class/module in where it is defined, not... -
10:01 AM Bug #16931 (Closed): `defined?` against a protected method call on an inherited instance returns wrong `nil`
- The following code shows `:callable` first, but `nil` next, since 1.9.
If the method is callable, `defined?` expression has to return truthy value.
``` ruby
class A
def foo
:callable
end
protected :foo
def t(x)
... -
10:01 AM Revision d05f04d2 (git): Fixed `defined?` against protected method call
- Protected methods are restricted to be called according to the
class/module in where it is defined, not the actual receiver's
class. [Bug #16931] -
09:58 AM Revision c53aebb1 (git): Split test_defined_method
-
08:21 AM Revision 56ca0067 (git): run lldb to investigate the stuck process.
- Before sending signals (ABRT, KILL), use lldb to show the
backtrace of a stuck process.
This commit also reverts recent changes for terminate(). -
04:42 AM Feature #16897: General purpose memoizer in Ruby 3 with Ruby 2 performance
- I know this is a bit of a hack but... it's possible to get some kind of key from `...` args:
```ruby
KEY = ->(*arguments, **options) {[arguments, options]}
CACHE = {}
def memoize(name)
method = self.method(name)
self.define_method(n... -
03:38 AM Revision 40ced763 (git): vm_insnhelper.c: merge opt_eq_func / opt_eql_func
- These two function were almost identical, except in case of
T_STRING/T_FLOAT. Why not merge them into one, and let the difference be
handled in normal method calls (slowpath). This does not improve
runtime performance for me, but at lea... -
12:06 AM Revision 27bef648 (git): Include the entire lambda expression in lambda rule
06/01/2020
-
10:57 PM Bug #11669: inconsitent behavior of refining frozen class
- Here's the backtrace showing why the frozen error is raised:
```
#0 rb_class_modify_check (klass=7782713867440) at eval.c:495
#1 0x00000713a3570c14 in rb_method_entry_make (klass=7782713867440, mid=51041, defined_class=77827138674... -
10:23 PM Bug #12594 (Closed): The class does not inherit from a module the modules that were included after the inclusion
- This was implemented in commit:3556a834a2847e52162d1d3302d4c64390df1694.
- 10:21 PM Revision 79a8ed07 (git): * 2020-06-02 [ci skip]
-
10:18 PM Revision d2c48705 (git): Update extension.rdoc for Ruby 3 keyword argument separation [ci skip]
- This removes the discussion of behavior removed in Ruby 3.
-
09:57 PM Bug #13397 (Closed): #object_id should not be signed
- With the change to use an incrementing object_id in Ruby 2.7, I don't think this is an issue anymore. The object_id counter is stored as a Ruby value, so at some point it probably goes from Fixnum to Bignum, but it should not go negative.
-
09:39 PM Bug #13758 (Closed): TestRubyOptions#test_segv_setproctitle segfaults on AARCH64
-
09:27 PM Feature #16928: Array#include_all? & Array#include_any?
- I am glad others have reported too. This confirms what I said about this being "very handy".
In response to Marc-Andre Lafortune saying "FYI, you can already do these with sets:"
Please note what I said about being: "more readable than... -
06:54 PM Feature #16928: Array#include_all? & Array#include_any?
- The first case (#include_all?) has also been requested before: #16039
-
04:46 PM Feature #16928: Array#include_all? & Array#include_any?
- FYI, you can already do these with sets:
```ruby
Set[1, 2] == Set[2, 1] # => true
Set[1,2].intersect?(Set[2]) # => true
```
The second case has been requested a few times already: #15198, ... -
03:40 PM Feature #16928 (Open): Array#include_all? & Array#include_any?
- Hi,
The Ruby Array class is currently missing #include_all? and #include_any? to check if current Array includes all elements of another Array or any.
I implemented in this Ruby Gem:
https://github.com/AndyObtiva/array_include_met... -
08:38 PM Bug #14004 (Closed): ri confused by method aliases and by Queue versus Thread::Queue
- Both `ri Queue#push` and `ri Array#append` should work now.
-
07:33 PM Feature #14267: Lazy proc allocation introduced in #14045 creates regression
- I don't think this is a bug, just a detail of the implementation that changed when the optimization was applied. The Proc objects created are distinct. As Proc#== and #eql? are not defined, Object#== and #eql? are used, and as the obje...
-
05:57 PM Bug #14271 (Closed): Random TestIO_Console#test_oflush failure
-
05:39 PM Bug #16930 (Third Party's Issue): Excessive deprecation warnings for c++ compile units
- According to @shyouhei, it is apparently a bug of GCC 10. He has already reported: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95302. They are just warnings, so please ignore.
-
05:26 PM Bug #16930 (Closed): Excessive deprecation warnings for c++ compile units
- I am using Arch Linux with the latest Ruby 2.7.1.
I am compiling a simple C++ program like this
``` cpp
#include <ruby.h>
int main() {
return 0;
}
```
And then compile as `g++ -c main.cxx -I/usr/include/ruby-2.7.0 -I/... -
05:35 PM Bug #14671 (Rejected): Refining Module#refine itself introduces strange state
- This is because Class undefs `refine`, and the refinement for Module is after the lookup chain for Class. Your code works fine if you call `refine` on a Module and not a Class, or if you remove the `undef` from Class. Ruby does not supp...
-
05:08 PM Bug #14558 (Closed): "Backtrace in reverse order" always upsets my brain!
- The backtrace order was switched back in commit:487d0c99d53208594702bb3ce1c657130fb8d65f.
-
03:47 PM Bug #14732 (Closed): CGI.unescape returns different instance between Ruby 2.3 and 2.4
- I'm not sure if this behavior change between Ruby 2.3 and 2.4 was originally expected. However, I don't see why we would want to revert to the previous, and the current behavior doesn't seem to be a bug. Please submit a feature request...
-
03:42 PM Feature #16929 (Open): Add GC.start(compact: true)
- I have been working on integrating compaction in to the normal GC process (in other words, making compaction automatic). I was thinking about adding `GC.start(compact: true)` (actually I put it in master without filing a ticket first, a...
-
03:37 PM Bug #14755 (Closed): Aborted (core dumped)
-
03:35 PM Bug #14843 (Closed): [BUG] Illegal instruction at 0x000000010c7acc0a
-
03:35 PM Bug #14874 (Closed): Segmentation fault under Cygwin
-
03:21 PM Bug #15795 (Closed): Some test fails on Haiku
-
03:06 PM Bug #16179 (Closed): ruby binaries generate "already initialized constant" warnings on AIX 6.1
-
10:20 AM Feature #16476: Socket.getaddrinfo cannot be interrupted by Timeout.timeout
- mame (Yusuke Endoh) wrote in #note-7:
> We discussed this issue at the dev-meeting, and it requires @Glass_saga's review.
> ...
Thanks for feedback!
I've opened https://github.com/ruby/ruby/pull/3171 with the approach you've described. P... -
09:26 AM Revision cadd2245 (git): Extracted `excessed_comma` to unify ripper and make the order stable
-
08:03 AM Revision 7b9527ce (git): add more 2 sec.
- After sending SEGV signal, but no response. Try to add 2 more
seconds. If we can not have a detailed log, we need to use
gdb/lldb to show the backtrace. -
01:15 AM Revision 3591703b (git): send SEGV to show backtrace.
- send SEGV to terminate the remaining process before sending
ABRT and KILL to show the backtrace. -
12:36 AM Bug #16927: String#tr won't return the expected result for some sign with diacritics
- This is because `String#tr` translates each codepoint, not each grapheme cluster, for now.
-
12:20 AM Revision 4cb8b49d (git): [DOC] relative filename `Kernel#.require` and `Kernel#.load` [ci skip]
05/31/2020
-
11:11 PM Revision 6a0405de (git): fix typo in Hash#delete docs
-
10:30 PM Revision b7e1de11 (git): Make sure rb_enc_str_new_static() is used when enc is NULL
- * The definition of the rb_enc_str_new_cstr macro depends on
HAVE_BUILTIN___BUILTIN_CONSTANT_P.
* It SEGV on mswin otherwise. - 04:23 PM Revision bb966b5d (git): * 2020-06-01 [ci skip]
-
04:22 PM Revision 34776105 (git): Update to ruby/spec@4e486fa
-
04:22 PM Revision f4502b00 (git): Update to ruby/mspec@e3abf6b
-
04:21 PM Bug #16759: MinGW 2.5 - SEGV bug with Binding#local_variable_set
- Could someone take a look at this please?
It seems a pretty serious bug to segfault/abort when using `Binding#local_variable_set`.
cc @nobu @usa -
04:17 PM Bug #16925: Backport request: net/http raises in ensure and replaces the original error
- Note that it's OK to backport just the fix in lib/net/http/response.rb
Non-master Ruby versions tests against latest ruby/spec, and I'll just change the [ruby_version_is guard](https://github.com/ruby/ruby/pull/3164/files#diff-e0a90a2... -
10:52 AM Bug #16925 (Closed): Backport request: net/http raises in ensure and replaces the original error
- Closing to trigger backport
-
10:52 AM Bug #16925 (Closed): Backport request: net/http raises in ensure and replaces the original error
- Could we backport https://github.com/ruby/ruby/pull/3164, part of [Bug #13882] ?
(Details in https://bugs.ruby-lang.org/issues/13882#note-6)
I think it would be worthwhile. -
04:00 PM Bug #16927 (Rejected): String#tr won't return the expected result for some sign with diacritics
- # Context
Not much interest for the bug here, but I always appreciate to be given more context. So, as part of a larger project, I needed to utter every number from zero to 255 with a single syllable written as a consonant-vowel-conso... -
03:55 PM Bug #16926 (Closed): Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
- This spec:
https://github.com/ruby/spec/blob/03f9a0e2f9c23a12614ffb603f32cd971d79616e/core/kernel/shared/require.rb#L246-L251
fails in 2.7.1, but not on Ruby <= 2.6 and not on master.
Could someone investigate why that is and if t... -
10:52 AM Bug #13882: Exception in `ensure` stops threads from exiting
- I merged that PR and requested a backport in #16925.
-
10:48 AM Revision 5a79d8e0 (git): Fix error raised by Net::HTTPResponse#inflater if the block raises
- * See https://bugs.ruby-lang.org/issues/13882#note-6
-
10:48 AM Revision 5b4b82b7 (git): Fix spec description for Net::HTTP.get
-
09:59 AM Feature #16828 (Assigned): Introduce find patterns
- > Accepted.
Thank you. I'll commit it.
> ...
Yes. This is exactly what I intend.
-
08:21 AM Bug #16814: Segmentation fault in GC while running test/ruby/test_fiber.rb on s390x
- @ReiOdaira thanks for your careful analysis. It is very useful! I will review the code and get back to you.
-
07:42 AM Bug #16814: Segmentation fault in GC while running test/ruby/test_fiber.rb on s390x
- On s390x, `FIBER_POOL_ALLOCATION_FREE` is enabled. The doubly linked list of `fiber_pool->vacancies` assumes that the head `fiber_pool_vacancy` has `NULL` in its `previous` field. However, when a fiber is released, `fiber_pool_vacancy_...
05/30/2020
- 06:19 PM Revision d6f8bdc0 (git): * 2020-05-31 [ci skip]
-
06:07 PM Revision 6dcd10ce (git): compile.c: Mark cursor in debug list
-
06:05 PM Revision 2c711273 (git): compile.c: Removed wrong conversion
-
03:49 PM Feature #16924 (Open): instance_eval equivalent for RubyVM::InstructionSequence
- # Abstract
Proposal to expose the ability to evaluate precompiled ISEQs in non-toplevel contexts.
# Background
A common pattern used for certain kinds of DSL is to instance_eval entire files, like this:
```ruby
___dsl_object.instanc... -
01:04 PM Revision e10798b3 (git): [DOC] refined `Kernel#.require` and `Kernel#.load` [ci skip]
-
12:20 PM Revision 57fd44d3 (git): Adjusted an indent
-
08:35 AM Bug #13882: Exception in `ensure` stops threads from exiting
- PR to fix the Net::HTTP/gzip case with specs to verify the fix: https://github.com/ruby/ruby/pull/3164
-
07:36 AM Bug #13882: Exception in `ensure` stops threads from exiting
- Regarding the http/gzip example, it seems unfortunate but it's probably the same for any exception raised in `ensure`: that exception might replace a more "critical" exception such as "kill Thread" exception/NoMemoryError/SignalException...
-
07:10 AM Bug #13882: Exception in `ensure` stops threads from exiting
- In the original example, it gets stuck on the second call to `sleep`.
Basically the "kill Thread" exception (which cannot be rescue-d directly) was thrown after Ctrl+C to the Thread.
However, that `ensure` raises another (RuntimeError)...
05/29/2020
-
11:42 PM Bug #13882: Exception in `ensure` stops threads from exiting
- This bug still seems to be affecting all more recent versions of Ruby up to and including 2.7.1.
I encountered this in the `newrelic_rpm` gem which was intermittently hanging on shutdown in a short-lived script. It turns out that if R... -
10:59 PM Bug #16439 (Closed): Resolv::DNS: timeouts if multiple IPv6 name servers are given and address contains leading zero
- Applied in changeset commit:git|04b5203a031d372b725e407519f10da6deda0e78.
----------
Convert ip addresses to canonical form in Resolv::DNS::Requester::UnconnectedUDP#sender
Otherwise, if the IP address given is not in canonical form, i... -
09:19 PM Bug #16439: Resolv::DNS: timeouts if multiple IPv6 name servers are given and address contains leading zero
- This isn't just a problem for IPv6, it happens for IPv4 as well (e.g. 127.0.0.01). It will happen in any case where the input is not in canonical form, where canonical form is the form that `Addrinfo#ip_address` gives you. I've added a...
-
10:59 PM Revision 9b8825b6 (git): Update NEWS / documentation with GC.start(compact:true)
-
10:59 PM Revision 04b5203a (git): Convert ip addresses to canonical form in Resolv::DNS::Requester::UnconnectedUDP#sender
- Otherwise, if the IP address given is not in canonical form, it
won't match, and Resolv will ignore it.
Fixes [Bug #16439] -
10:59 PM Feature #16923 (Closed): Switch reserved for numbered parameter warning to SyntaxError
- I propose to make `_1 = 1` a SyntaxError, instead of emitting a warning (it emits a warning in 2.7). I've implemented this proposal in a pull request: https://github.com/ruby/ruby/pull/3163
-
10:39 PM Bug #16344 (Closed): Can be assigned to numbered parameter when after used _1
- Assigning to the numbered parameter is now a SyntaxError even if it is a local variable in scope, so current master has your expected behavior.
Related to this, accessing the numbered parameter inside a block in master accesses the nu... -
10:25 PM Feature #16352: Modify Marshal to dump objects larger than 2 GiB
- It's currently expected that Marshal cannot dump objects larger than 2GiB, so this isn't a bug, though arguably RangeError would be more appropriate than TypeError if the data is too large. Supporting the dumping of larger objects does ...
-
10:24 PM Revision 02b216e5 (git): Combine sweeping and moving
- This commit combines the sweep step with moving objects. With this
commit, we can do:
```ruby
GC.start(compact: true)
```
This code will do the following 3 steps:
1. Fully mark the heap
2. Sweep + Move objects
3. Update references
B... -
10:15 PM Bug #16357 (Closed): `Segmentation fault (core dumped)` or `[BUG] object allocation during garbage collection phase`
-
10:10 PM Bug #16369 (Third Party's Issue): Segfault : crashed on child side of fork pre-exec thread_pool.rb
- This crashes inside the pg gem: `https://github.com/ged/ruby-pg/blob/v1.1.4/ext/pg_connection.c#L3221-L3240`. My guess is you are not disconnecting before forking and you end up sharing connections between processes, which can easily ca...
-
09:29 PM Feature #16373: RDoc for some of the Kernel methods cannot be found in Kernel module
- The current RDoc behavior is by design, so this isn't a bug, it's a feature request.
I agree it would be best for RDoc to reflect the reality that Kernel methods are defined in Kernel and not object, because if they were defined in Ob... -
09:21 PM Bug #16398 (Closed): Active Support unit test error since caac5f777ae288b5982708b8690e712e1cae0cf6
-
09:20 PM Bug #16410 (Closed): Spec failure - "File.utime allows Time instances in the far future to set mtime and atime"
-
08:52 PM Bug #16416 (Closed): Suspicious include directories.
- Looking at my include directories, I see directories such as:
```
/path/to/include/ruby-2.7/ruby-2.6/x86_64-openbsd
/path/to/include/ruby-2.7/ruby-2.7/x86_64-openbsd
```
but nothing similar for 2.8 even though 2.8 is also instal... -
08:20 PM Feature #16470: Issue with nanoseconds in Time#inspect
- Even though this appears to be a bug, it's actually intentional behavior, introduced in commit:5208c431bef3240eb251f5da23723b324431a98e, and there are tests and specs for it. So changing this behavior would be a feature request.
I th... -
08:17 PM Misc #16911: Travis: unstable non-x86_64 jobs
- Related to the unstable non-x86_64 jobs in Travis, I am asking Drone CI to support ppc64le/s390x here.
https://discourse.drone.io/t/supporting-ppc64le-and-s390x/7385/
I understand Ruby project does not use Drone CI, as we need to use... -
08:00 PM Bug #16921: s390x: random test failures for timeout or segmentation fault
- Thanks for the info! I will try the environment variable, and will let you know here.
-
12:22 PM Bug #16921: s390x: random test failures for timeout or segmentation fault
- Try an environment variable `RUBY_TEST_TIMEOUT_SCALE`. If you set `RUBY_TEST_TIMEOUT_SCALE=10`, all timeout tests wait 10 times longer.
-
12:06 PM Bug #16921 (Closed): s390x: random test failures for timeout or segmentation fault
- I observed the following error related to timeout or segmentation fault on Ruby 2.7.1 s390x in Fedora builds. The tests somtimes fail. It seems the s390x machine used in CI is slow. It's great if we can change the timeout casually if it ...
-
06:53 PM Revision c1f6552b (git): [ci skip] Enhanced Rdoc for Hash (#3155)
- * Enhanced Rdoc for Hash
* Respond to review -
06:19 PM Bug #16922 (Closed): single quote should be escaped in xml
- This is Lisbeth from Taiwan. I'm trying to convert a string to xml by using 'string'.encode(xml: :attr) but single quote doesn't escape as expected
Here's the spec shows which character needs to be escaped: https://www.w3.org/TR/xml/#dt... -
05:52 PM Feature #16597: missing poll()
- rebased
-
05:03 PM Bug #16919 (Assigned): IRB でマジックコメントの : の後に任意の文字を入力するとエラーが発生する
-
09:12 AM Bug #16919 (Closed): IRB でマジックコメントの : の後に任意の文字を入力するとエラーが発生する - # 再現手順
``` ruby
irb(main):001:0> #coding:u
```
# 実際に起きた結果
```
irb(main):001:0> #coding:Traceback (most recent call last):
38: from /usr/local/opt/ruby/bin/irb:23:in `<main>'
37: from /usr/local/opt/ruby/bin/irb:23:in `load'
3... -
04:57 PM Bug #16522 (Closed): Ruby 2.7 logs deprecation warning when Warning[:deprecated] is set to false.
- I took another look at this and I think we can silence the deprecation warnings with `-W:no-deprecated` even if we can't deduplicate the warnings. Attached is a patch that implements this. I'm not sure if the approach in ruby.h is acce...
-
04:54 PM Bug #16920: TestThread#test_signal_at_join fails on aarch64
- > I have never seen the test fail on Debian/Ubuntu aarch64. So use Ubuntu! (joke)
I love Debian. :) It's my pleasure when I spend time with people in Debian community.
> ...
Yeah, it makes sense.
> Can you reproduce the issue w... -
12:32 PM Bug #16920: TestThread#test_signal_at_join fails on aarch64
- I have never seen the test fail on Debian/Ubuntu aarch64. So use Ubuntu! (joke)
It is difficult to investigate the issue with no access to the machine...
Can you reproduce the issue with ruby master? Can you try another Fedora+a... -
11:53 AM Bug #16920 (Closed): TestThread#test_signal_at_join fails on aarch64
- I observed the following error on Ruby 2.7.1 building in Fedora aarch64 CI. It was just one time error. It does not always happen.
```
1) Error:
TestThread#test_signal_at_join:
Timeout::Error: execution of assert_separately expir... -
04:52 PM Revision e73e504e (git): spec: add wsl guard
- WSL 2 is officially released. It uses Linux kernel, so almost all specs
for Linux work on WSL, except one: gethostbyaddr. I guess network
resolution in WSL is based on Windows, so the behavior seems a bit
different from normal Linux.
... -
04:15 PM Revision 0d1f0cd9 (git): runnable.rb: ignore broken symlink error on Windows [ci skip]
-
04:09 PM Revision 0d30f428 (git): [DOC] mentioned "explicit relative path" [ci skip]
- `Kernel#.require` and `Kernel#.load` do not search also "explicit
relative path" files, not only absolute paths, in the load path. -
03:27 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- @Eregon good catch, I'll submit a PR with extra specs early next week and tag you.
-
10:13 AM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- FWIW it also applies to missing methods and other NameError, which sounds nice but would deserve a spec in `spec/ruby/core/exception/name_error_spec.rb`:
```
$ ruby -e 'c=Class.new { def self.name; "MyClass"; end }; c.foo'
master:
-... - 03:17 PM Revision 2c8821c0 (git): * 2020-05-30 [ci skip]
-
03:16 PM Revision 58bc9762 (git): test/ruby/test_process.rb: GID.from_name may raise Errno:ESRCH
- getgrnam(3) says:
```
ERRORS
0 or ENOENT or ESRCH or EBADF or EPERM or ...
The given name or gid was not found.
```
Process::GID.from_name raises an ArgumentError for 0, but Errno::ESRCH
for ESRCH. Actually, WSL 2 ... -
02:49 PM Revision 3ed79a97 (git): doc/contributing.rdoc: Removed obsolete platforms [ci skip]
-
02:07 PM Bug #16918 (Closed): Dir.mktmpdir should yield a copy of the dir to protect cleanup
- Applied in changeset commit:git|2ecfb88ee50510955acd3ae9fc94a5f109e7f109.
----------
Correctly remove temporary directory if path yielded is mutated
Another approach would be to freeze the string, but that could
cause backwards compati... -
04:59 AM Bug #16918: Dir.mktmpdir should yield a copy of the dir to protect cleanup
- Makes sense to me what headius wrote, so if there are no side effects (I have too
little experience with Dir.mktmpdir myself) +1 to the suggestion from me.
-
02:52 AM Bug #16918: Dir.mktmpdir should yield a copy of the dir to protect cleanup
- I agree this is a bug and have added a pull request to fix it: https://github.com/ruby/ruby/pull/3159
-
01:14 AM Bug #16918 (Closed): Dir.mktmpdir should yield a copy of the dir to protect cleanup
- If you modify the dir string passed into the block from `Dir.mktmpdir`, the logic to clean up the temporary directory may fail:
```
$ rvm ruby-2.6.5 do ruby -rtmpdir -e "Dir.mktmpdir('foo') {|dir| dir << 'bar'}"
Traceback (most rece... -
02:06 PM Revision 2ecfb88e (git): Correctly remove temporary directory if path yielded is mutated
- Another approach would be to freeze the string, but that could
cause backwards compatibility issues.
Fixes [Bug #16918] -
05:45 AM Revision 0bd025ad (git): Add a debug_counter for JIT cancel on leave
-
04:50 AM Revision d300a734 (git): RUBY_ASSERT_NOASSUME
- If __builtin_assume() is enables and RUBY_DEBUG=0, RUBY_ASSERT(expr)
will be compiled to __builtin_assume(expr) and compiler can assume
expr is true and apply aggressive optimizations. However we observed
doubtful behavior because of com... -
03:39 AM Feature #16786: Light-weight scheduler for improved concurrency.
- What about borrowing a little from Crystal? The non-blocking API could be:
``` ruby
spawn do
# non-blocking fiber
end
```
I like how it has a completely different interface without introducing a new term. -
02:25 AM Revision 03d7f3cd (git): add indent for debug disasm output
-
02:25 AM Revision 6ba2d3e4 (git): export debug utility functions
-
12:41 AM Revision d32e2bb0 (git): Allow references to $$ in Ripper DSL
05/28/2020
-
10:04 PM Bug #16504: `foo(*args, &args.pop)` should pass all elements of args
- I've added a pull request that fixes this issue: https://github.com/ruby/ruby/pull/3157
It's not a perfect fix, but a perfect fix would require disabling a commonly used optimization, resulting in additional array allocations in commo... -
10:01 PM Revision c7ceaa6d (git): Extract "free moved list" function
- Extract a function to free the moved list. We'll use this function
later on to compact at the same time as sweep. -
07:38 PM Bug #16558 (Closed): What is special about GB2312
-
07:37 PM Feature #16559: Net::HTTP#request injects "Connection: close" header if #started? is false, wasting HTTP server resources
- I don't think this is a bug fix, this just makes a different tradeoff. This can help cases where the computer you are connecting to is overloaded by TIME_WAIT sockets. However, by the same token, it causes TIME_WAIT sockets to accumula...
-
06:11 PM Feature #16378: Support leading arguments together with ...
- Eregon (Benoit Daloze) wrote in #note-10:
> @jeremyevans0 or @nobu Could you implement it on `master`?
I've implemented basic support, which passes make check: https://github.com/jeremyevans/ruby/commit/672901facca6f88ae40b4ea8ef59ef... -
11:44 AM Feature #16378: Support leading arguments together with ...
- Interesting, I never saw the reply above from matz.
Looking at my email I received one but it wasn't attached to the rest of the conversation for this issue for some reason.
Great to hear it's now accepted.
I think we should have ... - 05:45 PM Revision fd7849ce (git): * 2020-05-29 [ci skip]
-
05:43 PM Revision b8fadf3a (git): Respect BIGNUM_DEBUG defined by command line option
- And fixed typo in compilers.yml.
-
02:57 PM Bug #16668 (Closed): Syntax error in tool/vcs.rb
- Applied in changeset commit:git|9a3371be8f5274d1dca64b93c7b9a379e32ea2f5.
----------
Check that BASERUBY is at least Ruby 2.2 in configure
BASERUBY needs to be at least Ruby 2.2 since
46acd0075d80c2f886498f089fde1e9d795d50c4.
I think ... -
02:57 PM Revision 07b2102a (git): Remove Ruby <2.2 support from tool/lib/vcs.rb
- BASERUBY now requires at least Ruby 2.2, so there is no point
trying to support older ruby versions here. -
02:57 PM Revision 9a3371be (git): Check that BASERUBY is at least Ruby 2.2 in configure
- BASERUBY needs to be at least Ruby 2.2 since
46acd0075d80c2f886498f089fde1e9d795d50c4.
I think it's better to explicitly fail early as soon as BASERUBY
is used in this case, versus trying to debug later failures.
This modifies things t... -
11:47 AM Feature #16891: Restore Positional Argument to Keyword Conversion
- Regarding delegation, I agree we need to support at least leading arguments together with `...`.
I filed #16378 6 months ago (before the 2.7 release), it was rejected and then later accepted.
I think we should backport that to 2.7 as i... -
11:06 AM Feature #16891: Restore Positional Argument to Keyword Conversion
- I like the current plan for keyword argument separation. Promotion of hash to keywords is very confusing and cause many problems designing clean interfaces in Ruby. Kudos to @jeremyevans0 and everyone else here for providing calm and rat...
-
11:21 AM Revision 28ce7582 (git): Enhanced Rdoc for Hash (#3151)
-
09:47 AM Bug #16917: "ruby -run -e httpd . " did not work
- works for me as well on fresh 2.7.1 installation (compiled locally)
-
09:32 AM Bug #16917 (Feedback): "ruby -run -e httpd . " did not work
- It works for me. Could you show us the terminal log and the html result (if you can connect to the server)?
-
03:05 AM Bug #16917 (Third Party's Issue): "ruby -run -e httpd . " did not work
ruby -run -e httpd . -p 8080
no file list show
only show HelloWorld .
-
05:41 AM Revision 7473b4c1 (git): Explicitly loading with envutil.rb
-
05:39 AM Revision f186f2d0 (git): Use Module#name instead of #inspect
- Coverage measurement had failed since 7d5da30c9e9c572f6ef0aaccc1ca0e724966e2ee
https://github.com/ruby/actions/runs/708557030?check_suite_focus=true