Activity
From 05/07/2022 to 05/13/2022
05/13/2022
-
11:39 PM Bug #15307: TestJIT#test_{catching_deep_exception,compile_insn_throw,lambda_longjmp} segfaults with gcc-8 -fcf-protection
- It seems I faced this issue on gcc 11 on Ubuntu focal on the latest master branch 708e839dee57bc5ef8f5b21fb4fa620e89caeb52 .
Here is the result of GitHub Actions on Ubuntu focal. The used configure options are `./configure --enable-sh... -
11:00 PM Bug #18780 (Closed): Incorrect binding receiver for C API rb_eval_string()
% ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
(Though looking at the source code this problem still exists in ruby 3.0)
The rb_eval_string() is seemingly capable of everything that eval is capable of, ...-
08:26 PM Revision 708e839d (git): Fix compiler warning when USE_RVARGC=0
-
08:12 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- I am testing Samuel's PR: <https://github.com/ruby/ruby/pull/5895>.
To pass the security tool, `annocheck` with the PR, I am trying to build with minimal compiler flags.
I am using the following gcc on my local.
```
$ gcc --ver... - 08:02 PM Revision 51fab060 (git): * 2022-05-14 [ci skip]
-
08:02 PM Revision 9639dc91 (git): [ruby/logger] [DOC] Enhanced RDoc for Logger (https://github.com/ruby/logger/pull/77)
- Enhanced RDoc for Logger
https://github.com/ruby/logger/commit/c601ed0370
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
02:47 PM Revision 09c72f41 (git): Print function name in backtrace when available
- If we don't have `saddr` but have `sname` we should output `sname`.
-
02:23 PM Misc #18747: DevMeeting-2022-05-19
- * [Feature #18742] Introduce a way to tell if a method invokes the `super` keyword or not
* It's currently possible to do this with RubyVM::InstructionSequence, but non-portable and a bit slow.
* I think it would be useful and chea... -
01:54 PM Bug #18779 (Closed): `GC.compact` and other compaction related methods should be defined as rb_f_notimplement on non supported platforms.
- I received several bug report on native gems using `GC.verify_compaction_references` in their test suite.
Examples:
- https://github.com/msgpack/msgpack-ruby/pull/275/files
- https://github.com/Shopify/bootsnap/pull/414/files
... -
01:52 PM Revision 55ba4144 (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/a5a2f2da4a
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
01:52 PM Revision 1f1283b9 (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/e6f2c64fc6
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
01:52 PM Revision 45a92cc4 (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/3dc5a8d7a4
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
01:52 PM Revision 00635f8d (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/98919e09e5
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
01:52 PM Revision 2427a11b (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/073a892ad9
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com> -
01:52 PM Revision b9311e64 (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/6d91281f7f
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com> -
01:52 PM Revision e36a794f (git): [ruby/logger] Update lib/logger.rb
- https://github.com/ruby/logger/commit/34c0ba8baa
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com> -
01:52 PM Revision 90d8b721 (git): [ruby/logger] Enhanced RDoc for Logger
- https://github.com/ruby/logger/commit/16556d06d1
-
01:17 PM Feature #18742: Introduce a way to tell if a method invokes the `super` keyword
- Thank you for the suggestion, and I apologize for the late reply.
This works remarquably well.
```ruby
class UnboundMethod
def calls_super?
iseqs = [RubyVM::InstructionSequence.of(self)]
iseqs.any? do |iseq|
iseq... -
11:32 AM Feature #17316: On memoization
- I've been experimenting with doing memoization by passing a block to `attr_reader` / `attr_accessor`, e.g.
```ruby
attr_reader(:foo) { something_slow }
```
or
```ruby
attr_reader :foo do
something_slow
end
```
I prototyped this in ... -
09:54 AM Bug #18778 (Third Party's Issue): Crash on MacOS 12.1 (Monterey) , M1 Max CPU
- This is a duplicate of #18555 and many tickets. See https://github.com/ffi/ffi/issues/800#issuecomment-1008308614 for solution.
-
08:18 AM Bug #18778 (Third Party's Issue): Crash on MacOS 12.1 (Monterey) , M1 Max CPU
- This bug happens ALWAYS when I try to run CocoaPods.
-
06:23 AM Revision 4c9ddaac (git): [rubygems/rubygems] Fix `Gemfile.lock` versions leaking to `bundler/inline` install output
- The lockfile is completely ignored in inline mode, yet the previous
output would suggest it wasn't.
https://github.com/rubygems/rubygems/commit/763125a745 -
06:23 AM Revision 4962e5c4 (git): [rubygems/rubygems] Normalize parameter name
- The other sources use `options` which reads better.
https://github.com/rubygems/rubygems/commit/a672f9d602 -
02:45 AM Bug #18777: NDEBUG macro defined after including ruby.h
- shyouhei (Shyouhei Urabe) wrote in #note-1:
> This is intentional. Devs hate assertions. See also https://bugs.ruby-lang.org/issues/16837 .
Thanks for confirming.
Here is the workaround I use, should anybody with the same issue need a... -
01:43 AM Bug #18777 (Closed): NDEBUG macro defined after including ruby.h
- This is intentional. Devs hate assertions. See also https://bugs.ruby-lang.org/issues/16837 .
-
01:11 AM Feature #18776: Object Shapes
- > struct rb_id_table * edges;
and I understand `edges` manages the next transitions. Thanks.
-
01:06 AM Feature #18776: Object Shapes
- jemmai (Jemma Issroff) wrote in #note-5:
> When we add a new ivar, if there is no transition we have to find a new ID. Right now we're doing a linear scan of available IDs. Once we're confident in shape ID GC, we'll switch the algorit...
05/12/2022
-
11:44 PM Revision 2d103207 (git): Stop `build_extensions` when DESTDIR set
- Try to fix `make install without root privilege` failures on snapshot CIs.
example: https://github.com/ruby/actions/actions/runs/2315349280 -
09:34 PM Revision ebaf56c0 (git): YJIT: Implement getblockparam
- This implements the getblockparam instruction.
There are two cases we need to handle depending on whether or not
VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM is set in the environment flag.
When the modified flag is unset, we need to call rb_vm_... -
08:23 PM Bug #18777 (Closed): NDEBUG macro defined after including ruby.h
- Hello,
When using ruby 3+, including `ruby.h` results in the `NDEBUG` macro becoming defined, which deactivates assertions.
This simple (see attached `test.c` file) example illustrates this:
```C
#include <assert.h>
#include <ruby... -
08:20 PM Feature #18776: Object Shapes
- > If you call memoized methods in a different order, would that cause instances of the same class to have multiple shapes?
Yes. -
08:05 PM Feature #18776: Object Shapes
- If you call memoized methods in a different order, would that cause instances of the same class to have multiple shapes?
-
06:46 PM Feature #18776: Object Shapes
- byroot (Jean Boussier) wrote in #note-7:
> > it definitely would be easier if we had more than 16 bits
> ...
When we measured on Shopify core it was before we had started implementing shape GC. There were ~40k shapes, but that was t... -
06:19 PM Feature #18776: Object Shapes
- > it definitely would be easier if we had more than 16 bits
Yeah, my worry is that while the Shopify monolith is probably among the bigger codebases, ~40k out of ~65k is really not that much leeway. -
03:59 PM Feature #18776: Object Shapes
- byroot (Jean Boussier) wrote in #note-4:
> > We want object shapes to be enabled on 32 bit systems and 64 bit systems so that limits us to the bottom 32 bits of the Object header.
> ...
I'm not sure how popular 32 bit systems are, esp... -
03:56 PM Feature #18776: Object Shapes
- Thanks for the feedback, Koichi.
ko1 (Koichi Sasada) wrote in #note-3:
> * how to use parent id?
The `rb_shape` type is as follows:
```C
struct rb_shape {
VALUE flags;
struct rb_shape * parent;
struct rb_id_table * edges;... -
12:41 PM Feature #18776: Object Shapes
- > We want object shapes to be enabled on 32 bit systems and 64 bit systems so that limits us to the bottom 32 bits of the Object header.
Might be a silly question, but how popular are 32bits systems these days? Would it be acceptable... -
01:24 AM Feature #18776: Object Shapes
- Great patch.
I'm looking forward to seeing evaluation results.
Questions:
* how to use parent id?
* how to find next id with additional ivar?
- 07:20 PM Revision 14ae97de (git): * remove trailing spaces. [ci skip]
-
07:19 PM Revision a6ce73ef (git): Add documentation section to README
- 07:08 PM Revision 30d0f08c (git): * 2022-05-13 [ci skip]
-
07:08 PM Revision f07a0e79 (git): YJIT: Fix getting the EP with registers other than RAX (#5882)
- Before this commit we were accidentally clobbering RAX. Additionally,
since this function had RAX hardcoded then the function may not have
worked with registers other than RAX.
Co-authored-by: John Hawthorn <john@hawthorn.email> -
05:45 PM Feature #9045 (Closed): URIに含まれるエンコードされたID/パスワードがデコードされない
- Applied in changeset commit:git|fbebfe1697938a684f460cd28af36cf1f056513c.
----------
[ruby/uri] Add URI::Generic#decoded_#{user,password}
URI::Generic#{user,password} return the encoded values, which are
not that useful if you want to ... -
01:44 PM Feature #18654: Enhancements to prettyprint
- @akr okay, thank you for the consideration. I'm going to maintain it as a separate project in this case as I don't see a way around some of your concerns.
-
01:37 PM Feature #18642: Named ripper fields
- To respond to your points @mame:
* It can live in a gem, and it is in https://github.com/ruby-syntax-tree/syntax_tree. The issue is, it's hard to maintain completely outside the ruby/ruby repository because if things change it's hard ... - 10:36 AM Revision 75223433 (git): .github/workflows/compilers.yml: Add configure --enable-mkmf-verbose case.
- 10:36 AM Revision 019cbded (git): mkmf: Add a configure option to set verbose mode (V=1 or 0) in mkmf.rb.
- Note this change is only for `configure.ac`, not for Windows using
`win32/configure.bat`.
```
$ ./configure --help | grep mkmf
--enable-mkmf-verbose enable verbose in mkmf
```
Run the following command to enable the mkmf verbose mo... -
09:19 AM Revision 40ca208a (git): [ruby/uri] Improve URI.register_scheme tests and automatically upcase the given scheme
- * Also add docs and mention current limitations.
* For reference, https://stackoverflow.com/a/3641782/388803 mentions the
valid characters in schemes.
https://github.com/ruby/uri/commit/4346daac75 -
05:54 AM Revision fbebfe16 (git): [ruby/uri] Add URI::Generic#decoded_#{user,password}
- URI::Generic#{user,password} return the encoded values, which are
not that useful if you want to do authentication with them.
Automatic decoding by default would break backwards compatibility.
Optional automatic decoding via a keyword to... - 01:06 AM Revision 054ae999 (git): [ruby/uri] Update file.rb
- The module here is called `URI`, so it's probably reasonable to expect a requirement for the path to be RFC3986-compliant, but on the other hand, the class is called `File`, so it might be reasonable to expect that a path produced by e.g...
-
01:04 AM Bug #18464: RUBY_INTERNAL_EVENT_NEWOBJ tracepoint causes an interpreter crash when combined with Ractors
- Just checked, this is still an issue with 3.2.0-preview1. Is there any feedback on the patch I posted? Any other way you would suggest going about a solution? Thanks!
05/11/2022
- 10:53 PM Revision 9f9a0940 (git): Quick markup fix
-
10:53 PM Revision f6cc4b97 (git): Write Thread instead of Threade
-
09:02 PM Feature #18776 (Closed): Object Shapes
- # Object Shapes implementation
Aaron Patterson, Eileen Uchitelle and I have been working on an implementation of Object Shapes for Ruby. We are filing a ticket to share what we've been doing, as well as get feedback on the project in... -
08:43 PM Feature #18774: Add Queue#pop(timeout:)
- > shouldn't we also consider a hypothetical Queue::TimeoutError
IMHO, consistency with closed queues is really more important.
> ...
@eregon just beat me to it, but whenever I can I actually use non-exception versions of methods th... -
08:39 PM Feature #18774: Add Queue#pop(timeout:)
- If others feel strongly it should be an exception, I think it should be `Thread::TimeoutError` (we already have `Timeout::Error`, `Regexp::TimeoutError` and probably `IO::TimeoutError` in #18630).
I'd inherit from `StandardError` as tha... -
08:36 PM Feature #18774: Add Queue#pop(timeout:)
- I also think `nil` can work, but shouldn't we also consider a hypothetical `Queue::TimeoutError` similar to how all other timeouts work? Although I hate using exceptions for non-exceptional code paths.
-
08:29 PM Feature #18774: Add Queue#pop(timeout:)
- Indeed, I forgot to mention that. I think returning `nil` is easiest, most consistent and convenient.
I believe it is already common practice to use another element than `nil` in a Queue for special markers, so it seems a rare issue in ... -
07:51 PM Feature #18774: Add Queue#pop(timeout:)
- In https://bugs.ruby-lang.org/issues/17363 there was some discussion on what the return value or exception should be when timeout is reached, and it seems to be part of why the discussion stalled.
@ko1 said:
> return nil -> can't r... -
07:38 PM Feature #18774 (Closed): Add Queue#pop(timeout:)
- This has been mentioned many times but somehow was never added.
It is useful for many different use cases:
* Implementing Timeout#timeout without needing to create a Thread per call which is very inefficient (especially when the timeou... -
07:58 PM Bug #18775 (Closed): Backport ef525b012a709077ea2797e8642fae0b61234063
- Ref: https://github.com/ruby/ruby/pull/5892
cc @ioquatix
This bug can cause Ruby 3.1.2 to crash with a `[BUG] object allocation during garbage collection phase`. Seems worth backporting. -
07:54 PM Bug #18772 (Closed): Backport edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d
-
02:41 PM Bug #18772 (Closed): Backport edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d
- I believe edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d should be backported to Ruby 3.0
Ref: https://github.com/msgpack/msgpack-ruby/pull/281 -
07:40 PM Misc #18747: DevMeeting-2022-05-19
- * [Feature #18774] Add Queue#pop(timeout:) (eregon)
* OK?
* Anyone wants to implement it for CRuby?
-
11:44 AM Misc #18747: DevMeeting-2022-05-19
- - [Feature #14602] Version of `dig` that raises error if a key is not present
- Proposed names: in the issue `deep_fetch`, `dig!`, `dig(..., exception: true)`
- My preference would go to `deep_fetch`, but maybe we can find better?
... - 07:13 PM Revision 26a07b8b (git): Add a separate doc for contributing to stdlibs [ci skip]
- co-authored-by: Peter Zhu <peter@peterzhu.ca>
-
07:11 PM Revision 01916934 (git): [ruby/fileutils] Update lib/fileutils.rb
- https://github.com/ruby/fileutils/commit/4771925fee
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
07:11 PM Revision dbca60c5 (git): [ruby/fileutils] Enhanced RDoc for FileUtils
- https://github.com/ruby/fileutils/commit/a0ea474214
-
06:29 PM Feature #14602: Version of dig that raises error if a key is not present
- duerst (Martin Dürst) wrote in #note-2:
> Would a keyword parameter to dig work for you?
> ...
Keyword approach is not backwards compatible, because keywords are currently treated as positional arguments:
```ruby
{:name=>{:middle=>... -
06:12 PM Feature #14602: Version of dig that raises error if a key is not present
- Just a bit of "design space" analysis:
1. I think `dig!` is unusual for core Ruby. A lot of Rubyists are used that in Rails pairs like `find_by`/`find_by!` are raising/non-raising, but I don't remember any Ruby core API using this con... -
05:54 PM Revision 4da0f7a7 (git): [ruby/rdoc] Fix dead link in RDoc::Markup
- https://github.com/ruby/rdoc/commit/521c9ebd29
-
05:13 PM Feature #18773 (Rejected): deconstruct to receive a range
- Currently when you're pattern matching against a hash pattern, `deconstruct_keys` receives the keys that are being matched. This is really useful for computing expensive hashes.
However, when you're pattern matching against an array p... - 03:20 PM Revision 4978c486 (git): * 2022-05-12 [ci skip]
- 03:20 PM Revision e88ada46 (git): Ruby shovel operator (<<) speedup. (#5896)
- For string concat, see if compile-time encoding of strings matches.
If so, use simple buffer string concat at runtime. Otherwise, use
encoding-checking string concat. -
02:59 PM Revision c00feffb (git): Improve documentation on contributing to Ruby
- co-authored-by: Peter Zhu <peter@peterzhu.ca>
co-authored-by: Stan Lo <stan001212@gmail.com> -
02:00 PM Revision becafe1e (git): [ruby/fileutils] Enhanced RDoc for FileUtils
- https://github.com/ruby/fileutils/commit/c38fd02372
-
02:00 PM Revision dde9db64 (git): [ruby/fileutils] Enhanced RDoc for FileUtils
- https://github.com/ruby/fileutils/commit/7b60f2d63b
-
11:39 AM Bug #18763: The configure option “--with-openssl-dir” has lower precedence than pkg-config
- This issue has more details: https://github.com/postmodern/ruby-install/issues/412
So CRuby picks a mix of of 1.1 headers and 3.0 lib, when given `--with-openssl-dir`.
That sounds like a clear bug.
Setting `PKG_CONFIG_PATH` helps ... -
11:09 AM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
- FYI, related discussion in ruby-build: https://github.com/rbenv/ruby-build/pull/1974
I think Ruby 3.0 should support OpenSSL 3, even if that means dropping support for OpenSSL 1.0.1.
The OS using OpenSSL 1.0.1 are pretty old, I think... - 07:56 AM Revision 6758b76b (git): * 2022-05-11 [ci skip]
-
07:55 AM Revision 8f1a8e68 (git): [rubygems/rubygems] Fix error message on metadata mismatches
- Previously we were removing not installable specs. However, if those are
the only ones, that would result in a bad error message. If we still
choose them as a last resort, Bundler will later check metadata right
before installing a give ... -
07:55 AM Revision c582d986 (git): [rubygems/rubygems] Tweak negative expectations
- The follow a tweak on the yank message.
https://github.com/rubygems/rubygems/commit/f6817bfe58 -
07:55 AM Revision 54b15487 (git): [rubygems/rubygems] Extract a `next_ruby_minor` helper method for specs
- https://github.com/rubygems/rubygems/commit/66eae0ef1d
05/10/2022
-
07:19 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- @ioquatix Thank you for your investigation! I prepared `make test-annocheck` command for your convenient, and for us to test this case on CI. You can pick up my commit from https://github.com/ruby/ruby/pull/5900 .
-
06:16 PM Feature #18690: Allow `Kernel#then` to take arguments
- As a (maybe useful) sidenote, if we'll try to think in "useful atomic constructs" instead of "making existing multi-purpose", `Enumerator#with_object` is _almost_ what might help here:
```ruby
3.then.with_object(4) { |x, y| p [x, y] }
... -
06:02 PM Feature #18690: Allow `Kernel#then` to take arguments
- For your scenarios, as written, I agree with Benoit's #note-2 suggestions. ;) I also agree that core/stdlib `#then` should only ever yield a single value to its block. *However*, it's worth noting that multi-parameter blocks will autom...
-
05:37 PM Bug #18771 (Closed): IO.foreach/.readlines ignores the 4th positional argument
- The `IO.readlines` method has the following signature:
```
readlines(name, sep, limit [, getline_args, open_args]) → array
```
The last arguments `getline_args`, `open_args` are accepted as keyword arguments, so there are actuall... -
01:29 PM Bug #18770 (Closed): Inconsistent behavior of IO/StringIO's each methods when called with nil as a separator, limit and chomp: true
- IO's and StringIO's `#each` method (and similar ones - `#gets`, `#readline` etc) behave in a different way in the following case:
- separator is `nil`
- limit is passed
- `chomp: true` passed
In this case `StringIO#each` removes tr... -
12:47 PM Bug #18769 (Closed): StringIO#each hangs up on some input with `chomp: true`
- The mentioned StringIO method `#each` (as well as `#readlines` and `#each_line`) may hang up when passed a separator and `chomp: true`:
```ruby
require 'stringio'
StringIO.new('a||b||c').each("||", chomp: true) { |s| p s }
""
... -
12:06 PM Bug #18768 (Closed): Inconsistent behavior of IO, StringIO and String each_line methods when return paragraph and chomp: true passed
- In IO, StringIO and String methods that return lines (e.g. `each`, `each_line`, `gets`, `readline`, `readlines`) behave in a different way when the following parameters are passed
- separator is `""` and
- `chomp` is `true`.
They tr... -
09:41 AM Bug #18767 (Closed): IO.foreach hangs up when passes limit=0
- `IO.foreach` behaves in an unexpected way in a corner case when passes 0 as a limit parameter. It never stops and hangs up.
```ruby
IO.foreach('file.txt', 0) { |s| p s }
""
""
""
""
""
""
""
""
""
""
```
Expected behavi... -
06:24 AM Feature #18611: Promote best practice for combining multiple values into a hash code
- This makes me happy, thanks everyone!
-
04:07 AM Revision a85cdb5a (git): Write have instead of have have [ci skip
-
01:15 AM Revision d0983af6 (git): Fix the order of assert_eqaul and remove unused variables
-
12:24 AM Revision c7d2247e (git): Honor --with-thread option to enable pthread
05/09/2022
- 06:20 PM Revision 2999eb88 (git): * 2022-05-10 [ci skip]
-
06:20 PM Revision 40be4d42 (git): [ruby/psych] tr is typically 4 to 5 times faster than gsub
- https://github.com/ruby/psych/commit/8533be8fe7
-
05:34 PM Misc #18691: An option to build Ruby with build only flags not propagated to `rbconfig.rb`.
- > https://github.com/ruby/ruby/pull/5879
Anyone, could you review this PR? The CI is passed. Thank you.
-
03:04 PM Feature #14602: Version of dig that raises error if a key is not present
- For me this is a nice shortcut to safely access values in a large config hash. So I would use it if it became part of Ruby core.
I like the name `dig!` because it's short, but if that has too much of a Rails flavor rather than Ruby, t... -
02:21 PM Bug #18766: ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher
- technically it does show, the problem are the parameter for initialize, or better for `BasicObject#initialize`
The Error you get is this one:
```
irb(main):001:0> class X
irb(main):002:0> end
=> nil
irb(main):003:0> x= X.new("abe... -
02:07 PM Bug #18766: ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher
- @Hanmac oh I am aware that `require 'openssl'` is the correct way to load all of openssl. The bug in question is that it causes an ArgumentError to be raised, but does not show where the exception is being raised from. That is confusing ...
-
12:19 PM Bug #18766: ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher
- @postmodern : the problem is a missing require
`openssl/cipher` is a helper script that can't run without `openssl` or it makes funky results
```
irb(main):001:0> require "openssl/cipher"
=> true
irb(main):002:0> OpenSSL::Cipher... -
10:36 AM Bug #18766 (Rejected): ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher
- I discovered a mysterious ArgumentError when requiring 'openssl/cipher' instead of 'openssl' and initializing a OpenSSL::Cipher object. The ArgumentError does not indicate where the exception is being raised from.
## Steps To Reproduc... -
12:45 PM Revision 85479b34 (git): Don't allocate new page on finish sweeping
- We don't need to allocate a new page in gc_sweep_finish_size_pool.
It can be allocated when needed. -
12:45 PM Revision e28e9c63 (git): Fix heap_extend_pages when total_slots is 0
- Some size pools may not have any pages/slots, so total_slots is 0. This
causes a divide-by-zero in the calculation. This commit adds a special
case to catch the case when total_slots is 0 and returns the number of
pages for heap_init_slots. -
12:45 PM Revision f7d48037 (git): Grow size pools with no or few slots
- If the size pool has no or few pages/slots, then min_free_slots will
be a very small number (or even 0). Then the heap won't be eligible to
grow, causing GC thrashing or infinite loops. -
12:45 PM Revision b3f3cb0c (git): Call gc_sweep_finish_size_pool on size pools with no pages
- Size pools with no pages won't be swept so gc_sweep_finish_size_pool
will never be called on it, but gc_sweep_finish_size_pool must be called
to grow the size pool. -
12:45 PM Revision 033e58cf (git): Fix gc_page_sweep when last bitmap plane is not used
- Depending on alignment, the last bitmap plane may not used. Then it will
appear as if all of the objects on that plane is unmarked, which will
cause a buffer overrun when we try to free the object. This commit
changes the loop to calcula... -
12:45 PM Revision a41fbc2c (git): Increase SIZE_POOL_COUNT to 5
- Having more size pools will allow us to allocate larger objects
through Variable Width Allocation.
I have attached some benchmark results below.
Discourse:
On Discourse, we don't see much change in response times. We do see
a small... -
12:25 PM Revision 00e5e827 (git): [rubygems/rubygems] Cleanup old legacy code
- https://github.com/rubygems/rubygems/commit/531d6b5fee
-
09:48 AM Bug #17871: TestGCCompact#test_ast_compacts test failing again
- Right now the patch is only applied to master and Ruby 3.1. I want to see the backport to old Rubies.
https://github.com/ruby/ruby/commit/fc832ffbfaf581ff63ef40dc3f4ec5c8ff39aae6
This issue is related to #18560 .
* https://github.... - 09:21 AM Revision 0161dc3e (git): Update default gems list at ecf32dbfc03c39a75fdd8a4e4dc3cb [ci skip]
-
09:20 AM Revision ecf32dbf (git): [ruby/net-http] Bump version to 0.2.2
- https://github.com/ruby/net-http/commit/992d07cb41
- 09:19 AM Revision 95bb7e0a (git): Update default gems list at a370eb5a6360a789b7c5249d97169f [ci skip]
-
09:19 AM Revision a370eb5a (git): [ruby/io-wait] bump up to 0.2.3
- https://github.com/ruby/io-wait/commit/f59d1d12e0
-
08:56 AM Bug #18560: "Compaction isn't available on this platform" error running PG test suite on ppc64le
- I remember the Ruby disabled GC compaction on platforms that can't support it, on #17871 .
-
07:54 AM Bug #18765 (Assigned): Wrong description introduced by https://github.com/ruby/ruby/pull/4938/files
-
07:44 AM Bug #18765 (Closed): Wrong description introduced by https://github.com/ruby/ruby/pull/4938/files
- Commit https://github.com/ruby/ruby/pull/4938/files introduced problems and made the description wrong.
1) For methods `slice_after` and `slice_when`, it introduces expressions like "partition elements into arrays ('slices')", and fo... - 07:48 AM Revision 99f49047 (git): Update default gems list at 30632efeaad6f5837102ff4229777e [ci skip]
- 07:47 AM Revision 30632efe (git): [ruby/stringio] bump up to 3.0.3
- https://github.com/ruby/stringio/commit/64f225bf00
- 07:36 AM Revision 546f6ce4 (git): Update default gems list at fbbe7ac7e3256e78d01e0b92d74611 [ci skip]
- 07:36 AM Revision fbbe7ac7 (git): [ruby/stringio] Bump version
- https://github.com/ruby/stringio/commit/b79152d08f
-
06:02 AM Bug #18764: Build Error when Using msys2-mingw64 and Ruby 3.2
- gcc version: gcc.exe (Rev1, Built by MSYS2 project) 11.2.0
-
05:58 AM Bug #18764 (Closed): Build Error when Using msys2-mingw64 and Ruby 3.2
- There is no problem when use same build-system to build branch ruby_3_1 (commit: e87640cd9d3dfe2cad004224eb356ee406865c8a) and before.
Error describe:
Ruby version:
Ruby master commit: df0bcb3385746e010e100dfb4e66a25dddc2c8fd
Erro... - 05:19 AM Revision cea34bd8 (git): Add basic binary operators (and, or, xor, not) to `IO::Buffer`. (#5893)
-
05:05 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- I investigated this issue today.
It doesn't appear to just be a matter of adding a few properties, this actually involves correctly implementing an intel-specific shadow stack.
Assembly coroutine backend and x86 CET support (in QEMU): ... -
01:20 AM Revision df0bcb33 (git): test/fiber/test_scheduler.rb: Remove the test file from $LOADED_FEATURES
- to prevent the following failure on `make test-all --repeat-count=2`
http://ci.rvm.jp/results/trunk-repeat20-asserts@phosphorus-docker/3957774
```
1) Error:
TestFiberScheduler#test_autoload:
NameError: uninitialized constant TestFiber... -
12:09 AM Revision dc9a13ab (git): Fix rdoc of IO::Buffer [ci skip]
05/08/2022
- 11:03 PM Revision ef525b01 (git): Explicit handling of frozen strings in `IO::Buffer#for`. (#5892)
-
10:29 PM Revision 563f0d0a (git): Ignore rubyspec_temp fot Git
-
10:26 PM Revision e2c143ab (git): [ruby/getoptlong] Fixup https://github.com/ruby/getoptlong/commit/39faa7b390f0
- https://github.com/ruby/getoptlong/commit/c8b3c0c00d
- 10:14 PM Revision bb9b6afd (git): * 2022-05-09 [ci skip]
-
10:13 PM Revision f7539d57 (git): [ruby/getoptlong] ruby/ruby used sample, not examples
- https://github.com/ruby/getoptlong/commit/39faa7b390
- 02:05 PM Revision 98e3fdb4 (git): Update bundled gems list at 25eb63fa7fa7075764cd71920eb89d [ci skip]
-
02:04 PM Revision 25eb63fa (git): Bundle RBS 2.4.0 (#5894)
-
12:25 AM Bug #18763 (Closed): The configure option “--with-openssl-dir” has lower precedence than pkg-config
- I’m trying to compile Ruby 2.7.6 (latest stable release in 2.7 branch). In my environment, there are two OpenSSL installed, v1.1 and v3. The system pkg-config will find OpenSSL v3, but it isn’t compatible with Ruby 2.7, so I’d like to co...
05/07/2022
-
10:24 PM Bug #18663 (Closed): Autoload doesn't work with fiber context switch.
- I've merged the fix.
-
08:18 AM Bug #18663: Autoload doesn't work with fiber context switch.
- ❤️
-
05:41 AM Bug #18663: Autoload doesn't work with fiber context switch.
- https://github.com/ruby/ruby/pull/5788 fixes this issue.
I've confirmed that my PR fixes the given examples here.
There is a tiny bit of extra overhead; using a mutex has an object allocation, mutex lock and unlock, etc.
A light... - 10:23 PM Revision 6fa7d010 (git): * 2022-05-08 [ci skip]
- 10:22 PM Revision fd6cef79 (git): Use a proper mutex for autoloading features. (#5788)
- Object#autoload implements a custom per-thread "mutex" for blocking
threads waiting on autoloading a feature. This causes problems when used
with the fiber scheduler. We swap the implementation to use a Ruby mutex
which is fiber aware. - 09:31 AM Revision 679b6e43 (git): * 2022-05-07 [ci skip]
-
09:30 AM Revision 2a6f7936 (git): Replace with https://github.com [ci skip]
-
01:38 AM Feature #18654: Enhancements to prettyprint
- kddeisz (Kevin Newton) wrote in #note-4:
> The algorithm difference of printing after the whole doc tree is built versus printing while it's being built is an implementation detail
I designed PrettyPrint that can handle very big or infi...