Activity
From 01/23/2021 to 01/29/2021
01/29/2021
-
09:59 PM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- test-unit 3.4.0 enables it by default.
-
01:01 PM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- One worrying issue is even if we fix the main test frameworks and REPLs, it won't apply for those shipped in the stdlib in 2.7.2.
But maybe 2.7.3 could pick such changes, so at least users updating to latest 2.7.x would get deprecation ... -
12:57 PM Misc #17591 (Closed): Test frameworks and REPLs do not show deprecation warnings by default
- Various people in #16345 said that:
> The issue can be mitigated if all test frameworks enable all deprecation warnings.
> ...
And this was used as a base to disable deprecation warnings by default in Ruby 2.7.2.
However, it seems n... -
06:31 PM Bug #17583 (Assigned): Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
-
06:05 PM Feature #17593 (Assigned): load_iseq_eval should override the ISeq path
- Full context in https://github.com/Shopify/bootsnap/pull/343
Consider the following script
```ruby
system('mkdir', '-p', '/tmp/build', '/tmp/app')
File.write('/tmp/app/a.rb', 'p ["app/a", __FILE__, __dir__]')
File.write('/tmp/ap... -
05:06 PM Misc #17535: DevelopersMeeting20210216Japan
- * [Bug #17592] Allow reading class instance varaibles from non-main Ractor (marcandre)
* We need way to have global config that is mutated very little. `TVar` may be a solution; reading class instance variables would be simpler, backw... -
01:00 PM Misc #17535: DevelopersMeeting20210216Japan
- * [Bug #17591] Test frameworks and REPLs do not show deprecation warnings by default (eregon)
* I think ruby-core needs to have a clear message on this, and create PRs or issues for the main test frameworks/REPLs to show examples. -
05:03 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- From a discussion with @ko1, config could be (or should be?) using `TVar`.
We need a good solution that is builtin.
If `TVar` becomes builtin, then that is a possible solution. It seems like overkill for a mostly constant config (e... -
03:41 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- I think 1) or 2) is much better than 0).
And also this change will make it significantly easier to run existing code on Ractor, or to change the code to make it run with Ractor.
I think read-write would also be fine. But read-only is... -
03:31 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- Forgot to mention an example use-case: the URI global register for schemes see https://github.com/ruby/uri/pull/15
-
03:29 PM Feature #17592 (Closed): Ractor should allowing reading shareable class instance variables
- It would be very helpful if Ractor was allowing reading class instance variables from non-main Ractor.
Currently is raises an IsolationError:
```ruby
module Foo
singleton_class.attr_accessor :config
Foo.config = {example: ... -
03:06 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- self set to `nil` is a possibility, but it seems harder to debug than special purpose object. What is the "cost" of having a special object? Is there a downside?
Also `nil` has some additional methods that might make it even more conf... -
12:31 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- ko1 (Koichi Sasada) wrote in #note-10:
> choose `nil` for self for sharable Proc? No special constant is needed.
That sounds confusing, if e.g., the NoMethodError comes from a line like `[foo, bar.foo]`, is it because `self` is nil o... -
09:19 AM Bug #17543: Ractor isolation broken by `self` in shareable proc
- choose `nil` for self for sharable Proc? No special constant is needed.
-
12:28 PM Feature #12607: Ruby needs an atomic integer
- ko1 (Koichi Sasada) wrote in #note-36:
> But (I didn't measured yet) increment method call on VM needs method invocation overhead and it is relatively higher than `TVar#increment` overhead. Again, I didn't measure and it can be wrong.
... -
08:59 AM Feature #12607: Ruby needs an atomic integer
- > ko1 (Koichi Sasada) wrote in #note-26:
> ...
Yes. It is slower than single purpose atomic integers with hardware instruction with JIT.
But (I didn't measured yet) increment method call on VM needs method invocation overhead and it is... -
12:21 PM Bug #17429: Prohibit include/prepend in refinement modules
- ko1 (Koichi Sasada) wrote in #note-17:
> I like `Module#mix` for all modules (not only for refimement).
I think they need different semantics.
For refinements, we will need to do a deep copy of the method, or at least of the inline ... -
09:34 AM Bug #17429: Prohibit include/prepend in refinement modules
- I like `Module#mix` for all modules (not only for refimement).
-
09:39 AM Bug #17587: Segmentation fault with ractors and unix signals
- current master is stuck.
I'll check it. -
09:16 AM Feature #17566: Tune thread QoS / efficiency on macOS
- Actually, `Thread#priority` is not tested.
I'm not sure we can use this `pthread_set_qos_class_self_np` API for `priority` because it accepts an integer and there is no agreement which number is "high" and "low". Introducing another API... -
09:03 AM Bug #17545 (Assigned): Calling dup on a subclass of Proc returns a Proc and not the subclass
- This behavior is from ruby 1.9.
Matz, is it a bug?
```
@all-ruby -e 'class Test < Proc; end; p Test.new { puts "foo" }.dup.class'
:ok: 1.8
Test
:ok: 1.9 -- 98e27016c9 (2021-01-29T07:22:12Z)
Proc
``` -
08:47 AM Bug #17497: Ractor performance issue
- keithrbennett (Keith Bennett) wrote in #note-11:
> I too have seen strange results testing ractors. I used the code at https://github.com/keithrbennett/keithrbennett-ractor-test/blob/master/my_ractor.rb to do some arbitrary but predicta... -
08:46 AM Bug #17497: Ractor performance issue
- inversion (Yura Babak) wrote in #note-10:
> I also made 2 posts about strange performance testing results (with sources) and some conclusions.
> ...
With digest benchmark:
```
user system tot... -
08:41 AM Bug #17497: Ractor performance issue
- quoted from https://github.com/ruby/ruby/pull/4129#issuecomment-769613184
----
call the following methods as a task:
```ruby
def task_range_inject
(1..20_000_000).inject(:+)
end
```
with
* 4 times sequentially
* 4 t... -
07:22 AM Bug #17497 (Closed): Ractor performance issue
- Applied in changeset commit:git|1ecda213668644d656eb0d60654737482447dd92.
----------
global call-cache cache table for rb_funcall*
rb_funcall* (rb_funcall(), rb_funcallv(), ...) functions invokes
Ruby's method with given receiver. Ruby... -
08:40 AM Bug #17529 (Assigned): Ractor Segfaults with GC enabled
-
07:22 AM Revision 98e27016 (git): refactoring rb_method_call_status()
-
07:22 AM Revision 1ecda213 (git): global call-cache cache table for rb_funcall*
- rb_funcall* (rb_funcall(), rb_funcallv(), ...) functions invokes
Ruby's method with given receiver. Ruby 2.7 introduced inline method
cache with static memory area. However, Ruby 3.0 reimplemented the
method cache data structures and the... -
05:28 AM Bug #17589 (Closed): Pathname#each_line with chomp option raises TypeError
- Applied in changeset commit:git|9241211538189a58b477bd55b539357617fd42ed.
----------
Forward keyword arguments for Pathname#each_line [Bug #17589] -
04:16 AM Bug #17589: Pathname#each_line with chomp option raises TypeError
- https://github.com/ruby/ruby/pull/4128
-
03:52 AM Bug #17589 (Closed): Pathname#each_line with chomp option raises TypeError
- With Ruby 3.0,
```rb
require "pathname"
Pathname(__FILE__).each_line(chomp: true){ }
```
causes
> no implicit conversion of Hash into Integer (TypeError)
In case of Ruby 2.7.2, it does not raise but diplay:
> ...
-
05:27 AM Revision 92412115 (git): Forward keyword arguments for Pathname#each_line [Bug #17589]
-
05:20 AM Bug #17588: Cannot build with library path with spaces on MSVC
- As far as I tried years ago, cl.exe failed to pass library path with spaces to link.exe.
-
05:19 AM Bug #17590 (Closed): `M.prepend M` has hidden side effect
- `M.prepend M` raises ArgumentError, but it has hidden side effect.
```ruby
module M; end
class C; end
C.prepend M
C.include M
M.prepend M rescue nil
module M2; end
M2.prepend M
C.include M2
p C.ancestors # => [M, C, M2, M, M2... -
04:14 AM Feature #15752 (Feedback): A dedicated module for experimental features
- We consumed about this topic too long. I want this topic as pending in a year.
-
02:59 AM Revision acb6b395 (git): Fix failure when build in srcdir/build
- If `build` directory exists, `rake build` is `Rake::FileTask`.
So skip if exists. -
02:36 AM Revision 522adbc9 (git): Fixed Kernel#rand spec
- Float should not be compared by identity.
-
01:26 AM Revision f6387ae0 (git): Fix absolute path predicate on Windows
- A path starts with '/' is not an absolute path on Windows, because
of drive letter or UNC.
01/28/2021
-
09:03 PM Misc #17535: DevelopersMeeting20210216Japan
- * [Feature #15752] A dedicated module for experimental features (eregon)
* From the discussion about RubyVM in [Feature #17500], I think it became clear that RubyVM is not a good place to put experimental features.
* So, how about ... -
09:01 PM Feature #15752 (Open): A dedicated module for experimental features
- See https://bugs.ruby-lang.org/issues/17500#note-8
I think it is very clear MRI (and other Ruby implementations as well) need a place to put new experimental APIs.
Right now, RubyVM is used for new experimental APIs, but that's unc... -
08:56 PM Feature #17500: Move RubyVM::* to ExperimentalFeatures
- Thank you for both of your replies.
I took a while to respond, because I wasn't sure how to phrase this.
Essentially, it seems this main point was lost:
*Nobody* knows if some API will always be MRI-specific.
For instance, `RubyV... - 04:09 PM Revision c10be4e9 (git): * 2021-01-29 [ci skip]
-
04:08 PM Revision 2e32b919 (git): Update to ruby/spec@8cafaa5
-
03:43 PM Bug #17583: Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
- The crash threshold of `RUBY_THREAD_VM_STACK_SIZE` seems to coincide with the default value of `GC_MALLOC_LIMIT_MIN` (which is 16MB).
I think something is messed up by GC in an early stage of initialization. In fact, the crash seems t... -
03:21 PM Bug #17588: Cannot build with library path with spaces on MSVC
- It may be a copy paste issue, but does the line you edited (`windows.yml#L60`) end with a double quote?
-
02:46 PM Bug #17588 (Closed): Cannot build with library path with spaces on MSVC
- I checked out the ruby_2_7 from github, and I reproduced all steps in the github/workflows/windows.yml with success.
Then I edited the `configure` command here: https://github.com/ruby/ruby/blob/ruby_2_7/.github/workflows/windows.yml#... -
02:34 PM Misc #17586: Please run Windows CI in all std-lib repos
- > What's mean Windows CI? Is it mingw or mswin or else?
First of all, re ‘or else’, `mingw` is widely used, and there are commercial applications using `mswin`. Other platforms are much less common.
Everyone is aware of Windows Ru... -
09:50 AM Misc #17586: Please run Windows CI in all std-lib repos
- What's mean `Windows CI`? Is it `mingw` or `mswin` or else?
-
09:23 AM Revision 1b377b32 (git): Add fallback when PWD is not set
-
09:01 AM Revision 763d242f (git): Use PWD instead of source_root
- Because `.ext/common` is not relative from top source directory.
Fix failures with out-of-place build directory. -
09:00 AM Revision 7cd97a81 (git): Remove require_path from $LOADED_FEATURES
- because some features are already loaded.
-
09:00 AM Revision 00bd645f (git): Delete path including `/../` too
-
05:08 AM Bug #16930 (Closed): Excessive deprecation warnings for c++ compile units
- commit:06321ea26c186434e5b943a6739ffd6bd1eb06d9 is a workaround. To trigger our backporting process I change the status to Closed.
-
12:18 AM Bug #17538 (Closed): Assertion failure when rincgc is turned off
- Applied in changeset commit:git|d2ffd269a77021e6507a50995cd4af6eb5e33ea3.
----------
[Fixes #17538] Fix assertion failure when rincgc is turned off
Co-Authored-By: Matt Valentine-House <31869+eightbitraptor@users.noreply.github.com> - 12:18 AM Revision edaf0c25 (git): * 2021-01-28 [ci skip]
-
12:17 AM Revision d2ffd269 (git): [Fixes #17538] Fix assertion failure when rincgc is turned off
- Co-Authored-By: Matt Valentine-House <31869+eightbitraptor@users.noreply.github.com>
01/27/2021
-
11:49 PM Bug #17497: Ractor performance issue
- I've updated the software I used to measure this, and moved it to https://github.com/keithrbennett/keithrbennett-ractor-test.
-
08:56 PM Bug #17587 (Rejected): Segmentation fault with ractors and unix signals
- Segmentation fault when trapping signals and using a Ractor.
Can be reproduced by running the following
``` ruby
Ractor.new do
Signal.trap('INT') do
Ractor.yield("yoo hoO! big summer blowout")
end
`kill -2 #{$$}`
... -
05:40 PM Misc #17586 (Open): Please run Windows CI in all std-lib repos
- Please consider adding Windows CI to all std-lib repos.
Having ruby/ruby CI fail due to std-lib commits merged from their respective repos causes downstream issues, wasted time, etc.
See https://github.com/ruby/irb/pull/179 for an ... -
11:24 AM Bug #13758: TestRubyOptions#test_segv_setproctitle segfaults on AARCH64
- #17585 is similar issue on different platforms
-
09:36 AM Bug #17564 (Closed): Source command in irb exits after reading and evaluating the file
- Applied in changeset commit:git|e80e5a2f897088bc5284ea61817a910d1d334652.
----------
[ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564]
* using the appropriciate exception instead of `break` so that the session
c... -
09:33 AM Revision 80fb4758 (git): In test, need to pass a context to IRB::WorkSpace.new explicitly
-
06:02 AM Revision 69b42ae0 (git): [ruby/irb] specify the `VERBOSE` to `false` and fix tests to fit
- https://github.com/ruby/irb/commit/502c590925
-
06:02 AM Revision e80e5a2f (git): [ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564]
- * using the appropriciate exception instead of `break` so that the session
can be continue after the `irb_source` and `irb_load` commands
* suppress extra new line due to one more `#prompt` call
https://github.com/ruby/irb/commit/bdef... -
06:01 AM Revision 5b05b85d (git): [ruby/irb] add `IRB::FileInputMethod.open` to ensure closing associated File
- * tweak some methods not to raise exception after `#close`
* use it in `IRB::IrbLoader#{source_file,load_file}
https://github.com/ruby/irb/commit/ec2947acbd -
06:00 AM Revision c736714d (git): Clear unexpanded `mjit_std_cflag`
-
05:50 AM Revision 0d5a4d6d (git): Disable fast-math
- As `RUBY_TRY_CFLAGS` restores `CFLAGS`, appending to the variable
in its block has no effect. -
05:45 AM Revision b409a34b (git): Taint flags has been deprecated in 3.1
-
04:08 AM Bug #16930: Excessive deprecation warnings for c++ compile units
- I also agree the number of warnings is excessive. Could the cxxanyargs.hpp include be removed?
-
03:51 AM Bug #17578: mkmf experimental C++ Support
- cfis (Charlie Savage) wrote in #note-4:
> Just to be clear:
> ...
Yes, true for 2.7. The commit I mentioned before is basically changing `try_header`'s backend from `try_cpp` to `try_compile`. -
03:19 AM Bug #17578: mkmf experimental C++ Support
- Just to be clear:
find_header calls try_header
try_header is an alias to try_cpp.
And try_cpp calls cpp_command.
-
03:09 AM Bug #17578: mkmf experimental C++ Support
- Yes `try_cpp` is still a problem. I guess `find_header` does not use `try_cpp` though.
@nobu What do you think? It seems the problem exists and we need to take care. -
02:02 AM Bug #16926: Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
- Thank you for your investigations!
I will take a look at it.
BTW, can I push merge button on GitHub PR into stable branches? -
12:30 AM Revision a67afaaa (git): Update include/ruby/internal/fl_type.h
- https://github.com/ruby/ruby/pull/4100#pullrequestreview-576059827
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> -
12:30 AM Revision d205370b (git): include/ruby/internal/fl_type.h: refactor hoist out #if conditions
- cf: https://github.com/ruby/ruby/pull/4100#pullrequestreview-575952836
-
12:30 AM Revision f8a117f8 (git): kill CLONESETUP and DUPSETUP
- They are no longer how Object#clone/Object#dup are defined. In fact
DUPSETUP is not used from anywhere. CLONESETUP has only one usage.
Let's not expose them to extension libraries.
cf https://github.com/ruby/ruby/pull/4100#discussion_... -
12:30 AM Revision 73e948af (git): win32/win32.c:getcwd_value: delete OBJ_TAINT
- Makes no sense any longer.
-
12:30 AM Revision a2c069fc (git): win32/file.c:rb_file_expand_path_internal: delete OBJ_TAINT
- Makes no sense any longer.
-
12:30 AM Revision 3f4f10bb (git): attributes on enumerators are GCC6-ism
- See also https://gcc.gnu.org/gcc-6/changes.html
Clang has this feature when __has_extension(enumerator_attributes) is
set.
MSVC has #pragma deprecated instead. -
12:30 AM Revision c7d13877 (git): warnings on use of RUBY_FL_TAINT
- matz said in [ruby-core:94979]:
> 3.0:
> ...
This is it, for C extensions. -
12:30 AM Revision 0300dec3 (git): kill OBJ_TAINT etc.
- Now that RUBY_FL_TAINT is recycled to become new RUBY_FL_SHAREABLE.
Setting/clearing this flag from extension libraries break Ractor.
Especially problematic one is OBJ_INFECT, which would make non-shareable
objects travel across Ractor b... -
12:30 AM Revision 7ccdad7b (git): fix OBJ_UNTRUST etc.
- It seems I broke them in commit 9e6e39c3512f7a962c44dc3729c98a0f8be90341
Sorry! -
12:24 AM Revision 216e6605 (git): Add compaction notes for class/module creation C APIs
-
12:24 AM Revision 64613144 (git): Make rb_define_module_id_under() pin existing modules
- Just like rb_define_class_id_under(). Also makes
rb_define_module_under() consistent with rb_define_class_under() in the
same regard.
01/26/2021
-
11:05 PM Bug #17582: Build failure with bison-3.7.5
- Thanks nobu. I confirmed to build with bison-3.7.5
-
12:57 PM Bug #17582 (Closed): Build failure with bison-3.7.5
- Applied in changeset commit:git|b091889ed67f278b1652ddde88596e2160d5aef0.
----------
Removed YYUSE [Bug #17582]
Although it was used just to suppress an "unsed argument" warning
in the same manner as other bison-provided functions, it ... -
12:22 AM Bug #17582 (Closed): Build failure with bison-3.7.5
- I got the following error with bison 3.7.5 provided by homebrew on macOS Catalina.
```
parse.y:13337:5: error: implicit declaration of function 'YYUSE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
YYUSE(p);
^... -
09:04 PM Feature #15504: Freeze all Range objects
- @AlexWayfer
https://github.com/AlexWayfer/gorilla_patch/blob/master/lib/gorilla_patch/cover.rb#L8 -- may be for this particular case it is better to have version guard as an outer check?..
```ruby
if RUBY_VERSION < '2.6'
def co... -
08:52 PM Feature #15504: Freeze all Range objects
- I can't now mock Range objects with RSpec (`gorilla_patch` gem). What should I do? I see no work-around, like `+'foo'` for strings. `Range.new` gives frozen objects too.
I found a work-around: `(5..7).dup`, but it's weird anyway. -
05:22 PM Revision d7a844cb (git): Fix broken link in RDoc for String (#4123)
- Link was correct; its target was incorrect; now fixed.
-
05:12 PM Bug #17585: DWARF5 support?
- Just FTR, I have reported this initially against GCC:
https://bugzilla.redhat.com/show_bug.cgi?id=1920533 -
05:11 PM Bug #17585 (Closed): DWARF5 support?
- Fedora recently switched from DWARF4 to DWARF5 and since that time, I observe test suite errors on ppc64le:
~~~
1) Failure:
TestBugReporter#test_bug_reporter_add [/builddir/build/BUILD/ruby-3.0.0/test/-ext-/bug_reporter/test_bug_r... -
04:18 PM Revision 8a3f8166 (git): Re-enable RGENGC_DEBUG for platforms with HAVE_VA_ARGS_MACRO
- after this commit turned it off globally.
888cf28a7e3a07fc0a41688777a40910654005ad
Co-authored-by: peterzhu2118 <peter@peterzhu.ca> - 04:18 PM Revision a554e96a (git): * 2021-01-27 [ci skip]
-
04:17 PM Revision 479e4d13 (git): Fix RGENGC CHECK MODE >= 4
- [A previous commit](b59077eecf912a16efefc0256f6e94a000ce3888) removes some macro definitions that are used when RGENGC_CHECK_MODE >=4 because they were using data stored against objspace, which is not ractor safe
This commit reinstates ... -
03:35 PM Bug #17583: Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
- Seems `mark_object_ary` broken?
This should be the array of arrays.
```
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
frame #0: 0x00000001007698a9 miniruby`lookup_method_table... -
08:55 AM Bug #17583 (Closed): Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
- When I set large stack size like 100MB using RUBY_THREAD_VM_STACK_SIZE,
I get the segmentation fault.
The error looks happens when RUBY_THREAD_VM_STACK_SIZE is larger than around 17MB.
How to reproduce:
```
$ RUBY_THREAD_VM_STACK_... -
01:19 PM Revision ed6dc066 (git): CFLAGS includes ARCH_FLAG
-
12:57 PM Revision b091889e (git): Removed YYUSE [Bug #17582]
- Although it was used just to suppress an "unsed argument" warning
in the same manner as other bison-provided functions, it has been
dropped since Bision 3.7.5. And we always suppress that
warnings. -
12:10 PM Bug #17584 (Closed): Segmentation fault with Ruby 3.0
- In last week, I update Ruby 3.0 from Ruby 2.6.6 for my application. After that, I got the segmentation fault with following error.
```
[BUG] Segmentation fault at 0x0000000000000046
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86... -
12:05 PM Bug #16926 (Closed): Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
- I released RubyGems 3.1.6 https://blog.rubygems.org/2021/01/26/3.1.6-released.html
@nagachika Can you merge https://github.com/ruby/ruby/pull/4122 for Ruby 2.7.3? -
12:03 PM Bug #16904: rubygems: psych: superclass mismatch for class Mark (TypeError)
- I released RubyGems 3.1.6 https://blog.rubygems.org/2021/01/26/3.1.6-released.html and create the backport request for this into `ruby_2_7` branch.
-
08:45 AM Bug #17578: mkmf experimental C++ Support
- Thanks for the quick response.
I think that is different. try_cpp calls cpp_command:
``` ruby
def try_cpp(src, opt="", *opts, &b)
try_do(src, cpp_command(CPPOUTFILE, opt), *opts, &b)
...
end
```
And cpp_command... -
12:23 AM Bug #17578 (Assigned): mkmf experimental C++ Support
- I guess recent commit:4b6fd8329b46701414aba2eeca10013cf66ec513 has something to do with it. @cfis Can you try the current master? If that fixes your situation I guess we need to backport.
The canonical usage of `MakeMakefile['C++']`... -
05:32 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
- This minimum case hangs since https://github.com/ruby/ruby/commit/b9007b6c548f91e88fd3f2ffa23de740431fa969
* Save this minimum case as `rep17494_min.rb`, added some p method to see if it hangs or not.
```ruby
Object.prepend(Module... -
12:45 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
- The previous patch failed an assertion.
https://github.com/nobu/ruby/runs/1760739746?check_suite_focus=true#step:15:288
> | Assertion Failed: ../src/vm_method.c:990:search_method:me == NULL || !METHOD_ENTRY_INVALIDATED(me)
Maybe the rea... -
01:47 AM Bug #17429: Prohibit include/prepend in refinement modules
- @eregon @marcandre Thanks for your feedback.
The remaining issue is the name of the new method.
I came up with the following options:
1. Refinement#import
2. Refinement#mix
3. Refinement#include (different behavior from Module#i... -
01:30 AM Revision 1e2a8f7c (git): vcs.rb: fix for baseruby 2.2
- 01:07 AM Revision 33c5e9d1 (git): * 2021-01-26 [ci skip]
-
01:04 AM Bug #17581: Ruby 3.0 backtrace sometimes returns empty array
- This happens for all backtrace frames where there is an `iseq` but no `pc`. That part didn't change in the commit mentioned, so it must have been handled as a side effect of always looking at the entire backtrace, and filtering the resu...
-
01:04 AM Revision 6963e682 (git): vcs.rb: support `d` command in log-fix
-
12:58 AM Revision a56760b9 (git): vcs.rb: allow log-fix to insert an empty line
01/25/2021
-
09:24 PM Bug #17581 (Assigned): Ruby 3.0 backtrace sometimes returns empty array
- Agreed, it does look likely to be related to the commit. I'll see if I can debug and fix the issue.
-
09:11 PM Bug #17581 (Closed): Ruby 3.0 backtrace sometimes returns empty array
- ```ruby
class Foo
def bar
p caller(1,1)
end
end
[Foo.new].group_by(&:bar)
```
3.0: []
2.7: ["test2.rb:6:in `each'"]
A similar thing happens when asking for a larger part of the backtrace:
```ruby
class Foo
... -
05:40 PM Misc #17580 (Closed): Bignum referenced in Time documentation
- Since #12005 Bignum has been unified with Fixnum into Integer class, but it is still referenced in Time documentation.
> Since Ruby 1.9.2, Time implementation uses a signed 63 bit integer,
> ...
> nanosecond), Time works slower as wh... -
05:35 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
- For your specific case, a workaround might be to use a bind mount instead of symlink.
But in general I agree having a `follow_symlink` option would be nice to have, either in `Dir.glob` or in `Find.find`
-
04:45 PM Feature #16978: Ruby should not use realpath for __FILE__
- Dan0042 (Daniel DeLorme) wrote in #note-12:
> I think this is a bug and should be fixed, but IMO the proper fix is to use realpath for `__FILE__`
This is though one thinking about this again, but you are probably right. Maybe the big... -
02:35 PM Feature #16978: Ruby should not use realpath for __FILE__
- I think this is a bug and should be fixed, but IMO the proper fix is to use realpath for `__FILE__`
So in the example above when you do `require "openssl/digest"`, ruby will find `/usr/local/lib/ruby/3.0.0/openssl/digest.rb` and then ... -
04:33 PM Feature #17579: [Proposal] A suggestion for newline-separated shorthand notation, for the creation of Arrays containing strings that may contain ' ' (space) characters
- I would also use heredoc for this, maybe just with one tweak:
```ruby
options = <<~EOF.lines(chomp: true)
choice 1
choice 2
choice 3
EOF
#=> ["choice 1", "choice 2", "choice 3"]
```
There's a few things combined here ... -
03:11 PM Feature #17579: [Proposal] A suggestion for newline-separated shorthand notation, for the creation of Arrays containing strings that may contain ' ' (space) characters
- I'm curious what is your use case. I can't recall needing an array of such strings. If I did, I would probably put these in a YAML file.
-
01:00 PM Feature #17579: [Proposal] A suggestion for newline-separated shorthand notation, for the creation of Arrays containing strings that may contain ' ' (space) characters
- Didn't have time to read it fully but you can escape spaces:
```
2.7.1 :001 > %w(foo\ bar baz)
=> ["foo bar", "baz"]
```
Another option
```ruby
options = <<~EOF.lines.map(&:strip)
choice 1
choice 2
choice 3
choice 4
... -
11:15 AM Feature #17579 (Open): [Proposal] A suggestion for newline-separated shorthand notation, for the creation of Arrays containing strings that may contain ' ' (space) characters
- New year, new proposal! :)
Summary (TL;DR) of the proposal first: It is here proposed that ruby adds functionality to allow ruby users to create arrays, with (string) members inside that array that may contain ' ' (space) characters.
... -
04:32 PM Feature #17570: Move C heap allocations into GC heap for RVALUE object data
- nobu (Nobuyoshi Nakada) wrote in #note-2:
> Thank you for the great work.
> ...
Thank you for taking the time to look.
We're definitely aware that the impact to Compaction and incremental marking are major drawbacks. We will address... -
03:54 PM Feature #17330: Object#non
- FWIW, +1 from me
At first I thought the only uses were `non(&:zero?)` and `non(&:empty?)` which, while I find very elegant, are not enough to justify adding a method to Kernel. But I think zverok has shown enough other uses to make a ... -
09:33 AM Revision 19e6d271 (git): [ruby/rdoc] Support iso-strict format in git-log
- https://github.com/ruby/rdoc/commit/2a6c22da63
-
09:33 AM Revision 7fe22152 (git): [ruby/rdoc] Support other date formats in git-log
- https://github.com/ruby/rdoc/commit/ad8cf37d72
-
08:51 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
- This patch seems to avoid the loop for the time being.
```diff
diff --git i/class.c w/class.c
index a62ae669f84..61f3ece40f4 100644
--- i/class.c
+++ w/class.c
@@ -1369,7 +1369,7 @@ method_entry_i(ID key, VALUE value, void *data)... -
12:42 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
- @alpaca-tc Thannk you, I can reproduce that too.
```
zsh % LC_ALL=C gdb --args ./miniruby ~/tmp.rb
GNU gdb (Ubuntu 8.2-0ubuntu1~18.04) 8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <htt... -
06:26 AM Bug #17578 (Assigned): mkmf experimental C++ Support
- I've been working on the Rice gem (https://github.com/jasonroelofs/rice) that wraps C++ code for use in Ruby.
I noticed that some c++ support was added to mkmf for Ruby 2.7. However, if I try to use it find a header it fails to work. ... - 03:51 AM Revision 5411fb8c (git): * 2021-01-25 [ci skip]
-
03:51 AM Revision fd6d5c80 (git): Clear each test own temporary directories
01/24/2021
-
10:52 PM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- I checked the PR, I understand, thanks for the clear bug report.
I will review it in more detail, but it seems like a reasonable approach. -
07:58 PM Feature #17576: Partial Functions (procs, lambdas)
- Kinda reminded me of Elixir's [guards] (https://hexdocs.pm/elixir/guards.html).
-
07:03 PM Bug #17577 (Closed): Segfault when sending some Exceptions to a Ractor
- The following segfaults:
```ruby
r = Ractor.new { receive }
begin
foo # => raises a NoMethodError
rescue Exception => e
r.send(e)
end
p r.take
```
Note that some exceptions are ok:
```ruby
raise # => ok
raise NoMeth... -
02:26 PM Revision 30f11e73 (git): Revert "Remove temporary directory properly"
- This reverts commit 80bad36989bbc4ad6167fe9670327f95b78089ce,
because a few CI machines fail continuously. -
10:30 AM Revision 80bad369 (git): Remove temporary directory properly
- For each `make check`, rubygems test makes "tmp" directory and
some "gem_generate_index..." directories remain there.
* Do not create a (fixed name) directory in the current working
directory
* Should remove its own temporary directory - 09:34 AM Revision db80be3d (git): * 2021-01-24 [ci skip]
-
09:33 AM Revision 9aea4387 (git): Add 3.0 top sepc guards
- * Needs WEBrick
-
09:33 AM Revision 21340303 (git): Fix compile error of sockssocket
- The patch is provided by PhobosK (Phobos Kappa).
This should be backported to Ruby 3.0.
[Feature #17187] -
09:33 AM Revision 1ce4e90d (git): Remove check branch from ruby_3_0
-
09:31 AM Feature #17330: Object#non
- @nobu
> This seems readable enough and more flexible.
```ruby
return Faraday.get(url).then {_1.body if _1.successful?}
```
I argue that the idiom (return something/continue with something, conditionally) is so frequent, that i... -
02:42 AM Feature #17330: Object#non
- zverok (Victor Shepelev) wrote in #note-8:
> ```ruby
> ...
This seems readable enough and more flexible.
```ruby
return Faraday.get(url).then {_1.body if _1.successful?}
```
Or, make `successful?` to return `self` or `nil`, the... -
07:46 AM Revision 52ebaf71 (git): [ruby/rdoc] Skip non-date logs by git-log
- `RDoc::Parser::ChangeLog` mis-parses ChangeLog generated by
git-log, because of too heuristic `Time.parse`.
For instance, "commit 8187228de0142d3ac7950b7d977c2849e934c637"
results in "8187-08-16", that is, day 228 in the year 8187.
htt... -
07:46 AM Revision d5d1c417 (git): [ruby/rdoc] Sort by CommitDate if available
- https://github.com/ruby/rdoc/commit/455715e930
-
07:46 AM Revision fa048a0f (git): [ruby/rdoc] Add links to the commits
- https://github.com/ruby/rdoc/commit/1821628076
-
07:46 AM Revision f3f1a666 (git): [ruby/rdoc] Shorten commit hashes
- https://github.com/ruby/rdoc/commit/5d3e153963
-
07:46 AM Revision 127f735c (git): [ruby/rdoc] Tweak log entry markdown
- * add 3 levels to headings
* prefix commit log to labels to make unique IDs
https://github.com/ruby/rdoc/commit/5074c13209 -
07:46 AM Revision b88d1e6b (git): [ruby/rdoc] Make each commit entries h3
- https://github.com/ruby/rdoc/commit/11eefb2ae9
-
07:46 AM Revision bb570ce6 (git): [ruby/rdoc] Support ChangeLog generated by `git log`
- https://github.com/ruby/rdoc/commit/5e0a123ca1
- 07:46 AM Revision 68e7dc53 (git): [ruby/rdoc] Fix failing test by adding gettext as a development dependency
- The failing test was:
========================================================================================
rdoc/test/rdoc/test_rdoc_i18n_locale.rb:35:in `rescue in test_load_existent_po'
Omission: gettext gem is not found [test_load... -
07:12 AM Feature #13750: Improve String#casecmp? and Symbol#casecmp? performance with ASCII string
- When you avoid that case, you have a option around coderange: coderange is a cached information whether the string contains (1) only ASCII 7 bit characters (2) also has 8 bit characters (3) broken byte sequence (4) unknown. Some strings ...
-
06:57 AM Revision 1bd27a78 (git): Add test for String#casecmp?
- String#casecmp? also normalize upper case characters in legacy encodings.
-
05:59 AM Revision d6e43e47 (git): Moved --verbose, --verbose and --help options to last [ci skip]
- 05:35 AM Revision 38816887 (git): * 2021-01-24 [ci skip]
-
05:35 AM Revision 743c44ee (git): [ruby/irb] Indent correctly with method calling with receiver
- https://github.com/ruby/irb/commit/e7c68e74a0
-
05:35 AM Revision fc54af8a (git): [ruby/irb] Indent correctly with keyword "for" and "in"
- https://github.com/ruby/irb/commit/47c83ea724
01/23/2021
-
04:41 PM Feature #17330: Object#non
- @matz Thinking a bit more about it, what I frequently lack is a "singular reject": "drop this value if it doesn't match expectations".
```ruby
# HTTP-get something, don't return result unless successful:
response = Faraday.get(url)
... -
04:15 PM Feature #16978: Ruby should not use realpath for __FILE__
- Eregon (Benoit Daloze) wrote in #note-10:
> vo.x (Vit Ondruch) wrote in #note-7:
> ...
This is how it is constructed. Here is where the OpenSSL structure is created in traditional gem directories:
https://src.fedoraproject.org/rpms/ruby... -
10:31 AM Feature #16978: Ruby should not use realpath for __FILE__
- vo.x (Vit Ondruch) wrote in #note-7:
> In Fedora, to avoid duplication, we have openssl gem extracted into independent package, which links back to the StdLib to keep the Ruby functionality.
What does it look like on the filesystem?
... -
02:38 AM Feature #16978: Ruby should not use realpath for __FILE__
- Interestingly, ruby does _not_ use realpath for `__FILE__`, only for `__dir__` and `require_relative`
```
$ cat test.rb
p __dir__ => __FILE__
require_relative "b"
$ cat a/b.rb
p __dir__ => __FILE__
require_relative "c"
$ ln... -
02:52 PM Feature #17576: Partial Functions (procs, lambdas)
- Is there any real-world use-case? I don't see any of them.
Besides that, proposed syntax does not work well with normal blocks.
Matz.
-
11:23 AM Feature #17576 (Open): Partial Functions (procs, lambdas)
- We already have pattern matching and functions. Let's combine them and introduce a "partial procs" as first-class citizens.
What are partial procs? This is a function that works on a subset of arguments. The partial proc's main advan... -
12:31 PM Bug #17534 (Closed): Pattern-matching is broken with find pattern
- @palkan:
Thanks to fix!
@naruse:
Could you backport 1b89b99941548fdb65305dd9a412082e7fdba45a to 3.0? -
12:06 PM Revision 8cb999dd (git): Update power_assert to 2.0.0
-
11:56 AM Revision 4de228b6 (git): Sort autogenerated dependencies [ci skip]
-
11:54 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- hcatlin (Hampton Catlin) wrote in #note-15:
> Would anyone here think the code below was acceptable?
Mixing symbol keys and string keys together like that would no doubt be very confusing, but why would you choose to do that instead ... -
11:03 AM Bug #17575 (Closed): deprecated style `respond_to?` warning with `-W:no-deprecated`
- Applied in changeset commit:git|8dfae85adb96cf3da84bf38f2103969d4a7aed3f.
----------
Warn the defined location as deprecation as well as the main message
[Bug #17575] -
10:56 AM Bug #17575 (Closed): deprecated style `respond_to?` warning with `-W:no-deprecated`
- When `respond_to?` is defined in deprecated style, arity == 1, is warned and the defined location is also reported.
But if deprecation warning is disabled, the main message is disabled but the next line is still shown.
```
$ ruby -... -
10:58 AM Revision 8dfae85a (git): Warn the defined location as deprecation as well as the main message
- [Bug #17575]
-
10:42 AM Misc #17569: `uri` lib maintainership
- Would using an `@ivar` on the URI module work?
https://github.com/ruby/uri/pull/15#discussion_r563082346 -
03:15 AM Misc #17569: `uri` lib maintainership
- I don't know of another approach that is as easy and performant than to store a mostly fixed config like this. What did you have in mind?
-
09:56 AM Revision 62283f7a (git): coroutine/emscripten/: Experimentally support emscripten fiber API
-
08:38 AM Bug #17574: Hash#inspect segfault
- It very much look like a duplicate of https://bugs.ruby-lang.org/issues/16689
@01wsmith you should try Ruby 2.7.2, this bug as been fixed in 2.7.1. -
07:59 AM Bug #17574: Hash#inspect segfault
- ```
02:58:45|00|1~ irb
irb(main):001:0> x = {1 => {2 => 5}, 3 => {4 => 6}}
irb(main):002:0> y = x[1]
irb(main):003:0> y[11] = 3
irb(main):004:0> x.transform_values!(&:clone)
=> {1=>{2=>5, 11=>3}, 3=>{4=>6}}
irb(main):005:0> y[11] ... -
06:44 AM Bug #17574 (Feedback): Hash#inspect segfault
- I failed to reproduce this. Could you report your entire command logs and SEGV output to see a backtrace?
```
$ RUBYOPT=-v irb
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
irb(main):001:0> IRB::VERSION
=> "1.2.1"
irb(mai... -
12:12 AM Bug #17574 (Closed): Hash#inspect segfault
- While working in irb, I encountered an issue:
``` ruby
x = {1 => {2 => 5}, 3 => {4 => 6}}
y = x[1]
y[11] = 3
x.transform_values!(&:clone)
y[11] = nil
x
```
`x.inspect` causes irb to segfault.
I was not able to test this on ... -
07:07 AM Revision f12c33b6 (git): configure.ac: Add some compiler options for emscripten
- "-lc" and "-s ALLOW_MEMORY_GROWTH=1" are needed
-
07:05 AM Revision dd65aa95 (git): bignum.c: Make sure the argument of LONG2FIX is long
- ... because BDIGIT_DBL may be long long. POSFIXABLE and NEGFIXABLE
ensures that the value is representable as long, but it failed to build
on emscripten with -Werror -Wshorten-64-to-32. -
04:24 AM Revision 05f89dd1 (git): thread_pthread.c: pthread_kill is not available on emscripten
-
04:24 AM Revision 33fb87cc (git): io.c: popen is not available on emscripten
-
02:36 AM Bug #17564: Source command in irb exits after reading and evaluating the file
- I could reproduce the situation and I made a pull-request to fix this: https://github.com/ruby/irb/pull/177
Unexpectedly, there are many changes, but most of the measures are to pass existing tests and prevent file leaks. -
02:13 AM Revision 9efd590a (git): Rationalize floats in coerce [Bug #17572]
-
01:52 AM Revision 9de68a52 (git): Fix a warning
- ```
.../ruby/test/net/http/test_httpresponse.rb:81: warning: constant RubyVM::MJIT is deprecated
``` -
01:32 AM Bug #17572 (Closed): coerceで作成した(0.0/1)を計算に用いるとコアダンプする
- Applied in changeset commit:git|a55eb9a2af7950d180d9d31ffde2bce66710f44f.
----------
Make reciprocal properly of non-integral rational [Bug #17572] -
12:01 AM Bug #17572 (Closed): coerceで作成した(0.0/1)を計算に用いるとコアダンプする
- coerceで`(0.0/1)`等の値を作成することができ、こちらを計算に使用するとコアダンプして落ちます(出力は添付参照)
再現コード
``` ruby
1/0r.coerce(0.0+0i)[0]
```
よろしくおねがいします -
01:30 AM Revision a55eb9a2 (git): Make reciprocal properly of non-integral rational [Bug #17572]
-
01:20 AM Revision 37258b64 (git): [ruby/net-http] 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... -
01:11 AM Revision 47d6c557 (git): gc.c: stop overflow check on emscripten build
-
01:11 AM Revision 1dfddac3 (git): configure.ac: Stop -fstack-protector on emscripten build
-
01:07 AM Revision 6ef761a5 (git): vcs.rb: continue just with warning if failed to fetch notes
-
01:07 AM Revision ccd7b7ab (git): vcs.rb: include commit info in ChangeLog
-
12:50 AM Revision 1def8a60 (git): [rubygems/rubygems] Replace "iff" with "whether" and "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"
or "whether" should suffice.
https:... -
12:08 AM Bug #17573 (Closed): Crashes in profiling tools when signals arrive in non-Ruby threads
- Stackprof (and likely similar tools) works by setting up a timer to sends it a unix signal on an interval. From that signal handler it does a small amount of internal bookkeeping and calls `rb_postponed_job_register_one`.
This is a pr...