Activity
From 05/03/2022 to 05/09/2022
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...
05/06/2022
-
05:43 PM Feature #18481 (Closed): Porting YJIT to Rust (request for feedback)
- Updating this ticket to say that Rust YJIT has been upstreamed as part of this pull request:
https://github.com/ruby/ruby/pull/5826
Rust YJIT is now at feature parity with the original C YJIT.
To enable it, a `--enable-yjit` must ... -
02:18 PM Bug #18592 (Closed): RPATH of bundled native extensions is incorrect
-
07:28 AM Bug #18592: RPATH of bundled native extensions is incorrect
- I am sorry, this is a duplicate to issue #18373 and can be closed.
-
09:13 AM Revision 67950a4c (git): Fix missing paren [ci skip]
- 09:03 AM Revision d79e0832 (git): [rubygems/rubygems] Fix typo in documentation
- https://github.com/rubygems/rubygems/commit/800a973e00
- 09:02 AM Revision 7d6de74a (git): [rubygems/rubygems] Update man page for `require` option in `bundle add` command
- https://github.com/rubygems/rubygems/commit/08a0a5b7d1
-
07:43 AM Bug #18480: Dtrace enabled build fails on systems with DTRACE_REBUILD=yes
- And [PR #5891](https://github.com/ruby/ruby/pull/5891) addresses this issue.
05/05/2022
-
09:56 PM Misc #18747: DevMeeting-2022-05-19
- * [Bug #18730] Double `return` event handling with different tracepoints
* In one situation, enabling a TracePoint inside another runs the second hook within the same event https://bugs.ruby-lang.org/issues/18730#note-6
* Is it rea... -
09:37 PM Revision cae85c52 (git): Mark RCLASS_INCLUDER
- Since 4d8f76286beefbb8f7fba2479f6d0a0b4a47304c, we need to dereference
the includer field on iclasses, so we need to mark it to make sure
it's alive.
Sometimes during compaction we crash because the field is dangling,
though I have a ha... -
09:37 PM Revision 7448afcc (git): Fix potential GC issue while iterating over weak refs
- While walking over the list of subclasses for `include` and friends, we
check whether the subclass is a garbage object. After the check, we
allocate objects which might trigger GC and make the subclass garbage,
even though before the all... -
08:18 PM Feature #14602: Version of dig that raises error if a key is not present
- I personally don't mind `dig!`. I interpret the `!` as a general sign of caution, rather than some meaning specific to data structures (ie. self-modification). But, if we can't have `dig!`, how about `fetch_dig` or `dig_fetch`?
Whatever... - 08:03 PM Revision 4acafdf6 (git): * 2022-05-06 [ci skip]
-
08:02 PM Revision ae96ef9c (git): File rdoc (#5888)
- Treats:
::pipe?
::symlink?
::socket?
::blockdev?
::chardev? -
02:01 PM Revision ac75c710 (git): Link from printf methods to format spec doc (#5886)
-
10:18 AM Revision e87640cd (git): merge revision(s) 1cbdedec895070df1df96d05370cf8da084ab6fa:
- [ruby/zlib] Mask checksums to lower 32bits
Upper bits affect the result of `crc32` in zlib 1.2.12.
https://github.com/ruby/zlib/commit/9ab6d04af1
---
ext/zlib/zlib.c | 12 +++++++++---
te... -
10:09 AM Revision 0b625352 (git): [ruby/logger] Prefer String#[0, 1] over [0..0]
- [0..0] internally creates an extra Array object, and so is slower and much more memory consuming
https://github.com/ruby/logger/commit/20616ad34a
05/04/2022
- 08:05 PM Revision 4f25971f (git): * remove trailing spaces. [ci skip]
-
08:04 PM Revision 197f9e9d (git): [DOC] More on format specs (#5877)
- * Update doc/format_specifications.rdoc
Co-authored-by: Peter Zhu <peter@peterzhu.ca> - 07:49 PM Revision 8009d8a9 (git): * 2022-05-05 [ci skip]
-
07:49 PM Revision d7df8c69 (git): Unpoison freelist when iterating over it in gc_sweep_page
-
07:48 PM Revision 3a31b80b (git): Update lldb helper for iseq disassembly to use correct var name
-
05:54 PM Misc #18691: An option to build Ruby with build only flags not propagated to `rbconfig.rb`.
- A little related to this ticket, I sent PR to set `V = 1` in `mkmf.rb` by `configure --enable-mkmf-verbose`.
https://github.com/ruby/ruby/pull/5879
-
04:47 PM Misc #18756 (Closed): make V=1 or Q= for verbose?
- nobu (Nobuyoshi Nakada) wrote in #note-7:
> Do not use `Q=`.
> ...
Thanks for the info. I see a little bit difference of printed logs between `make Q=`, `make install Q=` and `make V=1 ECHO0=echo` and `make install V=1 ECHO0=echo`. But t... -
01:24 PM Revision bff31b32 (git): Remove unneeded cast
- `start` is of type uintptr_t so it does not need to be casted to VALUE.
-
11:59 AM Misc #18747: DevMeeting-2022-05-19
- - [Feature #18339] GVL instrumentation API
- The patch is ready and went through several reviews: https://github.com/ruby/ruby/pull/5500
- The overhead is close to zero if no callback is registered.
- May I merge it?
05/03/2022
-
09:45 PM Revision 9d61c451 (git): [rubygems/rubygems] Also speed up the case when nothing changed
- https://github.com/rubygems/rubygems/commit/fa0ac74883
-
09:45 PM Revision 42538ad7 (git): [rubygems/rubygems] Fix missing space in spec
- https://github.com/rubygems/rubygems/commit/fabc357e70
-
09:45 PM Revision 2cf43186 (git): [rubygems/rubygems] Make looping more concise with `select`
- https://github.com/rubygems/rubygems/commit/c43d5f979a
-
09:45 PM Revision ba4ec45c (git): [rubygems/rubygems] Don't converge specs in frozen mode
- https://github.com/rubygems/rubygems/commit/ea09bc4680
-
08:48 PM Revision 379f5a6e (git): Update reference for RCLASS_INCLUDER during compaction
- We didn't update the includer field during compaction so it could become
a dangling pointer after compaction. It's only recently that we started
to dereference the field, and we were only comparing the pointer before
then, so the omissio... -
08:08 PM Feature #18762: Add an Array#undigits that compliments Integer#digits
- @sawa If this feature is accepted and for whatever reason a Ruby version is used instead of C, yours is more performant Ruby code than mine. It might look like the following. We'd want to implement this in C like Integer#digits, right?
`... -
07:52 PM Feature #18762: Add an Array#undigits that compliments Integer#digits
- sawa (Tsuyoshi Sawada) wrote in #note-5:
> @shan (Shannon Skipper)
> ...
I think you'd just need to reverse it, since this result seems backwards. I think it's easy to get the implementation wrong and a handy method to have.
``` ruby
... -
06:25 PM Feature #18762: Add an Array#undigits that compliments Integer#digits
- @shan (Shannon Skipper)
Sorry. I had the code wrong. A similar code works for an array in backwards.
```ruby
[].inject(0){_1 * 10 + _2} # => 0
[2, 1].inject(0){_1 * 10 + _2} # => 21
[3, 2, 1].inject(0){_1 * 10 + _2} # => 321
[6... -
03:50 PM Feature #18762: Add an Array#undigits that compliments Integer#digits
- sawa (Tsuyoshi Sawada) wrote in #note-3:
> Using a chain of two methods `each_with_index` and `sum` as well as `**` for such a simple task is an overkill, and perhaps that is why you feel you want a built-in method. You can simply do:
... -
10:34 AM Feature #18762: Add an Array#undigits that compliments Integer#digits
- Using a chain of two methods `each_with_index` and `sum` as well as `**` for such a simple task is an overkill, and perhaps that is why you feel you want a built-in method. You can simply do:
```ruby
[2, 4].inject{_1 + _2 * 10} # => 42
``` -
05:44 PM Revision cf71e5f6 (git): Add a regression test for opt_plus with unknown type (#5878)
- 05:00 PM Revision 4d28553c (git): * 2022-05-04 [ci skip]
-
04:59 PM Misc #18756: make V=1 or Q= for verbose?
- Do not use `Q=`.
`Q`, `Q1` and `V1` are intermediate variables.
You may want to set `ECHO0=echo` unconditionally. -
04:23 PM Revision 529c98ab (git): [DOC] mention macros for public headers
-
01:07 PM Revision fe7c02c7 (git): Remove _with_gc functions in darray
- darray was used in YJIT which required the functions to not trigger GC.
YJIT has now moved to Rust and does not use darray anymore, so we can
remove the functions that don't trigger GC and only keep the ones that
trigger GC. -
12:03 PM Revision 5a578f10 (git): merge revision(s) 44c44b9b4af14f42a0dc6df9287c45d9689847bb:
- Ignore warnings at reading debug info for now
Something seems changed on FreeBSD 13.
---
test/ruby/test_rubyoptions.rb | 1 +
1 file changed, 1 insertion(+) -
02:24 AM Revision 6d8007fa (git): merge revision(s) 17e09f033c4d3b786672ba16d2c5d935482a2fad,bfc697f1e26f1406c45ec7309ca0d4c0b5ecedd6:
- Skip three tests on FreeBSD 13
Some tests that use signals frequently fail randomly on FreeBSD 13.
Maybe something around signals has changed in FreeBSD 13.
This change skips them tentatively.
---
... -
02:23 AM Revision 27fbba91 (git): merge revision(s) b4fd0e0c73aac0cae23237743bbf7dc1b1315b6b,dfe7faa6b60464c184fede59f227341f6c57cc97:
- Exclude TestThread#test_signal_at_join on FreeBSD 13 for now [ci
skip]
---
test/excludes/TestThread.rb | 3 +++
1 file changed, 3 insertions(+)
exclude name must be Regexp or Symbol
ht... -
01:42 AM Revision 7bf1932d (git): merge revision(s) 63932ec33e720f006204adfd90ca67d364742b48:
- Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://g...