Activity
From 03/13/2023 to 03/19/2023
03/19/2023
-
09:15 PM Revision 2f29044d (git): RJIT: Optimize Kernel#block_given?
-
09:04 PM Revision 83ad1cac (git): RJIT: Optimize Kernel#respond_to?
-
08:41 PM Revision 95c4ced3 (git): RJIT: Optimize Array#empty?
-
08:36 PM Revision cd5a8d01 (git): RJIT: Optimize String#+@
-
08:25 PM Revision 21212827 (git): RJIT: Optimize String#<<
-
12:57 PM Revision bcd0aa89 (git): Fix -Wclobbered warning from gcc 12
- A variable modified in `EXEC_TAG` block should be `volatile`.
```
ractor.c: In function 'ractor_try_yield':
ractor.c:1251:97: warning: argument 'obj' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
1251 | ractor_try_yield(rb_e... -
09:51 AM Bug #19485 (Closed): Unexpected behavior in squiggly heredocs
- Applied in changeset commit:git|e7342e76dfd26237c604e42f9a59a1eaa578c94e.
----------
[Bug #19485] [DOC] Mention tabs in indentation of heredoc identifier
Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com> -
09:10 AM Revision e7342e76 (git): [Bug #19485] [DOC] Mention tabs in indentation of heredoc identifier
- Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com>
-
07:22 AM Feature #19541 (Feedback): Proposal: Generate frame unwinding info for YJIT code
- ## What is being propsed?
Currently, when Ruby crashes with yjit generated code on the stack, `rb_print_backtrace()` is unable to actually show any frames underneath the yjit code. For example, if you send SIGSEGV to a Ruby process ru... -
07:06 AM Revision 9654a28c (git): RJIT: Drop duplicated obj_is_kind_of
-
06:42 AM Revision c4e27187 (git): RJIT: Workaround USE_RVARGC=0 CI
-
06:35 AM Revision 32e0c97d (git): RJIT: Optimize String#bytesize
-
06:24 AM Revision 106cca51 (git): RJIT: Optimize String#empty?
-
06:13 AM Revision ca9355e1 (git): RJIT: Optimize Kernel#instance_of?
-
05:59 AM Revision 824cf889 (git): RJIT: Optimize Kernel#is_a?
-
05:32 AM Revision cc9330f8 (git): RJIT: Reorder opt_case_dispatch branches
-
05:03 AM Revision d07d1c71 (git): RJIT: Upgrade Ubuntu on CI
- to upgrade libcapstone on CI
-
04:49 AM Revision 71bcab45 (git): RJIT: Implement setclassvariable
-
04:42 AM Revision 8510f33c (git): RJIT: Implement intern
-
04:39 AM Revision 4a8de3fa (git): RJIT: Fix toregexp
-
04:37 AM Revision 9c2792c3 (git): RJIT: Implement toregexp
-
04:28 AM Revision d189f8d8 (git): RJIT: Prefix rjit_options with rb_
-
04:26 AM Revision 4e440d69 (git): RJIT: Install libcapstone-dev on CI
- for test_assembler.rb to work
-
04:24 AM Revision 2eefd71e (git): RJIT: Implement newrange
-
04:20 AM Revision 81e19b7d (git): RJIT: Implement getglobal
-
04:15 AM Revision 9f8e9149 (git): RJIT: Implement checkkeyword
03/18/2023
-
05:45 PM Bug #19539 (Closed): Heredocs with leading spaces inconsistency
- Applied in changeset commit:git|67dd52d59cde0d2f1ebb3e299b605ed239b59f5b.
----------
[Bug #19539] Match heredoc identifier from end of line
Not to ignore leading spaces in indented heredoc identifier. -
12:47 PM Bug #19539 (Closed): Heredocs with leading spaces inconsistency
- This is more like technical inconsistency that bothers me. Not sure someone will use this in real life, but still.
This works fine:
```
puts <<' ABC'
marker with spaces
ABC
```
But this is not:
```
puts <<-' ABC'... -
05:17 PM Bug #19540 (Rejected): Undefined variable error when combining modifier if with one-line pattern matching
- This isn't a bug, this is how Ruby works. It is unrelated to pattern matching, you get the same behavior for `x if x = foo` and `x unless x = foo`. It may be unexpected if you are not used to it, though.
-
02:33 PM Bug #19540 (Rejected): Undefined variable error when combining modifier if with one-line pattern matching
- If I try to use modifier `if` with a one-line pattern matching, the variable assigned by the pattern cannot be used inside the expression to the left of the "if":
```
x if [1] in [x]
(irb):1:in `<main>': undefined local variable or me... -
04:35 PM Revision 67dd52d5 (git): [Bug #19539] Match heredoc identifier from end of line
- Not to ignore leading spaces in indented heredoc identifier.
-
02:37 PM Revision e8e7ff13 (git): [ruby/reline] Fix: line longer than terminal width breaks rendering
- (https://github.com/ruby/reline/pull/516)
https://github.com/ruby/reline/commit/ae5f9b87ab -
02:36 PM Bug #19537: Regexp caching algorithm since v3.2.0 causes invalid memory access
- I have not understand the implementation in detail, but maybe this patch fixes the problem.
(No new tests have been added, existing tests pass.) -
02:28 PM Bug #18743: Enumerator#next / peek re-use each others stacktraces
- Hello again. I've modified the patch to also link to the old exception via `cause`. Let me know if it's now a reasonable solution.
Thanks,
Marcelo -
01:07 PM Bug #19536 (Closed): Frozen status loss when moving objects
- Applied in changeset commit:git|cb22d78354e201ca74eba68a8b4edefb593e6754.
----------
Fix frozen status loss when moving objects
[Bug #19536]
When objects are moved between size pools, their frozen status is lost
in the shape. This wil... -
01:07 PM Revision cb22d783 (git): Fix frozen status loss when moving objects
- [Bug #19536]
When objects are moved between size pools, their frozen status is lost
in the shape. This will cause the frozen check to be bypassed when there
is an inline cache. For example, the following script should raise a
FrozenErro... -
07:00 AM Revision dc28ccbb (git): RJIT: Implement getspecial insn
-
06:47 AM Bug #19532: Handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding is broken
- The change itself looks fine, but also I’m for obsoleting CESU-8.
-
06:46 AM Revision 93e05aaa (git): RJIT: Implement putspecialobject insn
- 06:43 AM Revision 2c8f2871 (git): Fix handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding
-
06:27 AM Revision 45a17013 (git): RJIT: Implement throw insn
-
06:17 AM Revision 39cd74d2 (git): RJIT: Use RJIT_STATS on --enable-rjit=dev
- RUBY_DEBUG is too slow.
-
06:02 AM Revision 05553034 (git): merge revision(s) 96d1acfdf6c6b42f2029f44d5b5920961d6efa92: [Backport #19161]
- [Bug #19161] Check for TLS usability
On all platforms using GCC, even other than darwin.
---
configure.ac | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-) -
05:53 AM Bug #19469: Crash when resizing generic iv list
- ruby_3_2 f3abe5ba645839fb2a686aee18d3466b59256af0 merged revision(s) 0700d0fd1c77b4fddf803dea3c10be654df600ff,62c2082f1f726cb90d8c332fbedbecf41d5d82ec.
-
05:31 AM Revision 644c9985 (git): RJIT: Support --rjit-stats on release build as well
03/17/2023
-
09:32 PM Revision b9f411b3 (git): YJIT: Simplify using the BITS associated constant
- All the integer types have it.
-
08:16 PM Revision 6ba07df4 (git): YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod (#7555)
-
08:16 PM Revision 7fc796f9 (git): YJIT: Delete --yjit-global-constant-state (#7559)
- It was useful for evaluating 6068da8937d7e4358943f95e7450dae7179a7763
but I think we should remove it now to make the logic around
invalidation more straight forward. -
08:15 PM Revision 2a26a5e6 (git): YJIT: Add and use Branch::assert_layout()
- This assert would've caught a bug I wrote while developing
ruby/ruby#7443 so I figured it would be good to commit it
as it could be helpful in the future. - 08:11 PM Revision 5d0a1ffa (git): YJIT: Rest and block_arg support (#7557)
- * YJIT: Rest and block_arg support
* Update bootstraptest/test_yjit.rb
---------
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> - 08:04 PM Revision 2d97f874 (git): * remove trailing spaces. [ci skip]
-
08:04 PM Revision c7862c68 (git): [ci skip] Move rp helper to new LLDB format
- For now, the old function still exists as `old_rp`, in order to debug
issues with this command. -
07:30 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
- byroot (Jean Boussier) wrote in #note-3:
> > I think it's best to make the too-complex-shape objects use an ordered hash
> ...
I sent a patch [here](https://github.com/ruby/ruby/pull/7560) that implements this solution. -
05:29 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
- > BTW it'd be nice to have some kind of standard performance warnings for Ruby.
Interesting. I guess we could have `Warnings[:performance] = true`, with it disabled by default. I love the idea. -
04:25 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
- > I think it's best to make the too-complex-shape objects use an ordered hash
I would also lean on that solution, as it's the one that give a behavior that is consistent with shapes without too much changes.
> ...
Interesting.
... -
01:06 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
- BTW it'd be nice to have some kind of standard performance warnings for Ruby.
For instance there would be one for TOO_COMPLEX Shape, for megamorphic calls, etc.
TruffleRuby already has some of these, but an integrated way to enable/dis... -
01:02 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
- I chatted with @tenderlovemaking. I think it's best to make the too-complex-shape objects use an ordered hash (such case is already much slower anyway).
TruffleRuby doesn't have a too-complex shape, so that case is not a concern for Truf... -
07:48 AM Bug #19535 (Closed): Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
- ### Context
I've been helping the Mastodon folks in investigating a weird Marshal deserialization bug they randomly experience since they upgraded to Ruby 3.2: https://github.com/mastodon/mastodon/issues/23644
Ultimately the bug co... -
07:23 PM Feature #19538: Performance warnings
- So the example that sparked the idea was SHAPE_TOO_COMPLEX. It would be useful to emit a warning such as:
`warning: SomeClass has too many shapes`.
Other potential ideas could be to warn when constant caches are invalidated, or thi... -
06:26 PM Feature #19538: Performance warnings
- When does the option print a warning, for example?
-
05:39 PM Feature #19538 (Closed): Performance warnings
- Suggested by @Eregon.
There are program behaviors that are supported, but that we know aren't good for performance, however it's hard for users to know about them.
Now that we have warning categories, we could add a `:performance` ... -
07:20 PM Feature #19406 (Closed): Allow declarative reference definition for rb_typed_data_struct
- Applied in changeset commit:git|7142328a94c85cc5f23630396f248b32133f87ab.
----------
[Feature #19406] Allow declarative definition of references
When using rb_data_type_struct to wrap a C struct, that C struct can
contain VALUE referen... - 07:20 PM Revision cc68d692 (git): * remove trailing spaces. [ci skip]
-
07:20 PM Revision 5897a6f6 (git): Update Makefile dependencies
-
07:20 PM Revision 4f5e29f9 (git): Document the declarative marking api
-
07:20 PM Revision 22b34929 (git): Implement declarative references for enumerator
-
07:20 PM Revision 405966e2 (git): Implement declarative references for dir_data_type
-
07:20 PM Revision 7142328a (git): [Feature #19406] Allow declarative definition of references
- When using rb_data_type_struct to wrap a C struct, that C struct can
contain VALUE references to other Ruby objects.
If this is the case then one must also define dmark and optionally
dcompact callbacks in order to allow these objects t... -
06:53 PM Revision 9fd94d6a (git): YJIT: Support entry for multiple PCs per ISEQ (GH-7535)
-
05:50 PM Bug #19531 (Closed): ObjectSpace::WeakMap: replaced values still clear the key they were assigned to
- Applied in changeset commit:git|3592b24cdc07ed89eecb39161f21fe721a89a5de.
----------
ObjectSpace::WeakMap: clean inverse reference when an entry is re-assigned
[Bug #19531]
```ruby
wmap[1] = "A"
wmap[1] = "B"
```
In the example above... -
05:50 PM Revision 3592b24c (git): ObjectSpace::WeakMap: clean inverse reference when an entry is re-assigned
- [Bug #19531]
```ruby
wmap[1] = "A"
wmap[1] = "B"
```
In the example above, we need to remove the `"A" => 1` inverse reference
so that when `"A"` is GCed the `1` key isn't deleted. -
05:41 PM Revision ccd2dbc4 (git): core_assertions.rb: Relax `assert_linear_performance`
- * Use an `Enumerable` as factors, instead of three arguments.
* Include `assert_operator` time in rehearsal time.
* Round up max expected time. -
04:30 PM Revision 10e4fa3a (git): YJIT: Use raw pointers and shared references over `Rc<RefCell<_>>`
- `Rc` and `RefCell` both incur runtime space costs.
In addition, `RefCell` has given us some headaches with the
non obvious borrow panics it likes to throw out. The latest
one started with 7fd53eeb46db261bbc20025cdab70096245a5cbe
and is y... -
04:06 PM Revision c62cf60d (git): Skip a flaky test that might not work
-
03:19 PM Revision 418cf344 (git): [ruby/irb] Fix 2 minor issues in test suite
- * undefine Kernel#irb_original_require in without_rdoc method
* Don't rescue all LoadErrors/NameErrors in test_rendering.rb, just
the one for require 'yamatanooroti'
https://github.com/ruby/irb/commit/52b79806ea -
03:12 PM Revision a206ee67 (git): Assume that FL_FINALIZE is in finalizer_table
- If the flag FL_FINALIZE is set, then it's guaranteed to be in the
finalizer_table, so we can directly assume that without checking. -
02:36 PM Bug #19537 (Closed): Regexp caching algorithm since v3.2.0 causes invalid memory access
- Some types of regular expressions causes invalid memory access on `#match`. Length of strings to match does not matter.
For example, for regex `/^([ab]{1,3})(a?)*$/`, `"aac"` can crash ruby.
This bug may be caused in caching algorith... -
02:29 PM Revision 11f299fa (git): YJIT: skip intermediate arrays in print_sorted_exit_counts (#7547)
- Early total_exits condition.
Replace Array#sort_by/first(how_many) with Array#max_by(how_many).
Replace Array#map/max with Array#max_by, match print_counters style for longest_name_length. -
02:17 PM Bug #19536 (Closed): Frozen status loss when moving objects
- GitHub PR: https://github.com/ruby/ruby/pull/7553
When objects are moved between size pools, their frozen status is lost in the shape. This will cause the frozen check to be bypassed when there is an inline cache. For example, the fol... -
09:50 AM Revision c65d7b4b (git): When running `bundle lock --update <name>`, checkout locked revision of unrelated git sources directly
- Since Bundler 2.4, we will try to checkout any branch specified in the
Gemfile, while until Bundler 2.3 we would directly checkout the locked
revision.
This should not make any difference in most situations, but in some edge
cases, like... -
09:50 AM Revision 0b9e51c4 (git): Don´t consider platform specific candidates when `force_ruby_platform` set
- This was working fine for direct dependencies using
`force_ruby_platform` explicitly through Gemfile, but not for indirect
dependencies. In general, indirect dependencies do not have this
property set, but in truffleruby this is differen... -
09:50 AM Revision 12f0be14 (git): Don't ignore pre-releases when there's only one candidate
- This should be a very rare edge case, however, it does happen when using
a .dev version of Bundler because in that case, that's the only version
that the resolver considers, and it should not be ignored.
We could've special cased this s... -
09:50 AM Revision ddc4fd56 (git): Normalize git sources
- Just like gem sources, a "style-only" change, like adding a trailing
slash, should not expire them. -
09:50 AM Revision 7800d4ee (git): util/rubocop -A --only Style/MultipleComparison
-
09:50 AM Revision f8fe151c (git): util/rubocop -A --only Style/TernaryParentheses
-
09:50 AM Revision 31c572f4 (git): util/rubocop -A --only Style/SymbolArray
-
09:50 AM Revision 1ca67f13 (git): util/rubocop -A --only Style/RedundantSelf
-
09:50 AM Revision 5211900d (git): util/rubocop -A --only Style/SymbolProc
-
09:50 AM Revision b304cf32 (git): util/rubocop -A --only Layout/ParameterAlignment
-
09:50 AM Revision 03736159 (git): util/rubocop -A --only Layout/SpaceInsideArrayLiteralBrackets
-
09:50 AM Revision 3e1f767c (git): util/rubocop -A --only Layout/DotPosition
-
09:50 AM Revision b6d3c069 (git): util/rubocop -A --only Performance/Casecmp
-
09:50 AM Revision 866831d8 (git): [rubygems/rubygems] util/rubocop -A --only Style/Semicolon
- https://github.com/rubygems/rubygems/commit/97f062be05
-
09:50 AM Revision ab644ae4 (git): [rubygems/rubygems] util/rubocop -A --only Style/CharacterLiteral
- https://github.com/rubygems/rubygems/commit/aa058ff6b8
-
09:50 AM Revision 72d09a56 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantBegin
- https://github.com/rubygems/rubygems/commit/b595d3cf0f
-
09:50 AM Revision a532e9dc (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantSortBy
- https://github.com/rubygems/rubygems/commit/3e4f5dc008
-
09:50 AM Revision 2db76738 (git): [rubygems/rubygems] util/rubocop -A --only Style/DoubleNegation
- https://github.com/rubygems/rubygems/commit/01c2b5542f
-
09:50 AM Revision be4cc74e (git): [rubygems/rubygems] util/rubocop -A --only Style/IfUnlessModifierOfIfUnless
- https://github.com/rubygems/rubygems/commit/97e0af2518
-
09:50 AM Revision ee747573 (git): [rubygems/rubygems] util/rubocop -A --only Style/BarePercentLiterals
- https://github.com/rubygems/rubygems/commit/02d8147243
-
09:50 AM Revision bf69d1fc (git): [rubygems/rubygems] util/rubocop -A --only Style/OrAssignment
- https://github.com/rubygems/rubygems/commit/965fc82cfd
-
09:50 AM Revision f4b073ef (git): [rubygems/rubygems] util/rubocop -A --only Style/UnlessElse
- https://github.com/rubygems/rubygems/commit/184c03270c
-
09:50 AM Revision 4868cfcf (git): [rubygems/rubygems] util/rubocop -A --only Style/IdenticalConditionalBranches
- https://github.com/rubygems/rubygems/commit/64f437a428
-
09:50 AM Revision 6ad269dc (git): [rubygems/rubygems] util/rubocop -A --only Style/RescueStandardError
- https://github.com/rubygems/rubygems/commit/80b57da926
-
09:50 AM Revision 70164eec (git): [rubygems/rubygems] util/rubocop -A --only Style/RescueModifier
- https://github.com/rubygems/rubygems/commit/b490379eab
-
09:50 AM Revision fef0313e (git): [rubygems/rubygems] util/rubocop -A --only Style/PreferredHashMethods
- https://github.com/rubygems/rubygems/commit/ae3bdc0e85
-
09:50 AM Revision 38664ede (git): [rubygems/rubygems] util/rubocop -A --only Style/NonNilCheck
- https://github.com/rubygems/rubygems/commit/2b056b25c3
-
09:50 AM Revision 4cd8a46f (git): [rubygems/rubygems] util/rubocop -A --only Style/ParenthesesAroundCondition
- https://github.com/rubygems/rubygems/commit/c766a65885
-
09:50 AM Revision 7b8a24ad (git): [rubygems/rubygems] util/rubocop -A --only Style/EmptyCaseCondition
- https://github.com/rubygems/rubygems/commit/dae8fc70a4
-
09:50 AM Revision 3fe5909e (git): [rubygems/rubygems] util/rubocop -A --only Style/SelfAssignment
- https://github.com/rubygems/rubygems/commit/7c1168c623
-
09:50 AM Revision f86296fa (git): [rubygems/rubygems] util/rubocop -A --only Style/EmptyElse
- https://github.com/rubygems/rubygems/commit/04227104ac
-
09:50 AM Revision 4ab23df2 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantParentheses
- https://github.com/rubygems/rubygems/commit/295691d4dc
-
09:50 AM Revision b8914a9d (git): [rubygems/rubygems] util/rubocop -A --only Style/StabbyLambdaParentheses
- https://github.com/rubygems/rubygems/commit/23ce9793e5
-
09:50 AM Revision d8c5fa96 (git): [rubygems/rubygems] util/rubocop -A --only Style/YodaCondition
- https://github.com/rubygems/rubygems/commit/3594945391
-
09:50 AM Revision 66bd2c1a (git): [rubygems/rubygems] util/rubocop -A --only Style/CommentAnnotation
- https://github.com/rubygems/rubygems/commit/4e77a1d1d5
-
09:50 AM Revision 52ea7afa (git): [rubygems/rubygems] util/rubocop -A --only Style/NegatedIf
- https://github.com/rubygems/rubygems/commit/aa95ee27a2
-
09:50 AM Revision 9ab860f9 (git): [rubygems/rubygems] util/rubocop -A --only Style/ColonMethodCall
- https://github.com/rubygems/rubygems/commit/823113f39e
-
09:50 AM Revision bd57322b (git): [rubygems/rubygems] util/rubocop -A --only Style/DefWithParentheses
- https://github.com/rubygems/rubygems/commit/91391ceedf
-
09:50 AM Revision 03b82d18 (git): [rubygems/rubygems] util/rubocop -A --only Style/SingleLineMethods
- https://github.com/rubygems/rubygems/commit/fa2e835ed2
-
09:50 AM Revision d2cebb4e (git): [rubygems/rubygems] util/rubocop -A --only Style/NumericLiterals
- https://github.com/rubygems/rubygems/commit/860669b08a
-
09:50 AM Revision 712d6e67 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantInterpolation
- https://github.com/rubygems/rubygems/commit/add44e56eb
-
09:50 AM Revision 0b632b9c (git): [rubygems/rubygems] util/rubocop -A --only Style/ClassCheck
- https://github.com/rubygems/rubygems/commit/1c3356a872
-
09:50 AM Revision 567db606 (git): [rubygems/rubygems] util/rubocop -A --only Style/NestedParenthesizedCalls
- https://github.com/rubygems/rubygems/commit/a875fdb535
-
09:50 AM Revision 3d4c3f9e (git): [rubygems/rubygems] util/rubocop -A --only Style/ParallelAssignment
- https://github.com/rubygems/rubygems/commit/5c88c77873
-
09:50 AM Revision 4bb5ce81 (git): [rubygems/rubygems] util/rubocop -A --only Style/StringLiteralsInInterpolation
- https://github.com/rubygems/rubygems/commit/cb554f6eb7
-
09:50 AM Revision 83f9aa8f (git): [rubygems/rubygems] util/rubocop -A --only Style/Alias
- https://github.com/rubygems/rubygems/commit/fba6e94de9
-
09:50 AM Revision f4d1f660 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideRangeLiteral
- https://github.com/rubygems/rubygems/commit/426dd97a31
-
09:50 AM Revision ae81ff0c (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineBlockLayout
- https://github.com/rubygems/rubygems/commit/9aa6101942
-
09:50 AM Revision 9a1269ea (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineArrayBraceLayout
- https://github.com/rubygems/rubygems/commit/f4f45ab27e
-
09:50 AM Revision 26d66043 (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineMethodCallBraceLayout
- https://github.com/rubygems/rubygems/commit/acb0548bf6
-
09:50 AM Revision 41f304d5 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideStringInterpolation
- https://github.com/rubygems/rubygems/commit/a06f8ae3bb
-
09:50 AM Revision ce21ce6f (git): [rubygems/rubygems] util/rubocop -A --only Layout/FirstArgumentIndentation
- https://github.com/rubygems/rubygems/commit/0542726fd3
-
09:50 AM Revision 3233b1fe (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInLambdaLiteral
- https://github.com/rubygems/rubygems/commit/e76088b699
-
09:50 AM Revision f8daae91 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceBeforeSemicolon
- https://github.com/rubygems/rubygems/commit/c92c6d8e85
-
09:50 AM Revision 4b285e5c (git): [rubygems/rubygems] util/rubocop -A --only Layout/AssignmentIndentation
- https://github.com/rubygems/rubygems/commit/8e64298989
-
09:50 AM Revision 9ffd7352 (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLinesAroundExceptionHandlingKeywords
- https://github.com/rubygems/rubygems/commit/ad1fe68d97
-
09:50 AM Revision 583fbc62 (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLinesAroundModuleBody
- https://github.com/rubygems/rubygems/commit/48c88466b7
-
09:50 AM Revision c480a0c4 (git): [rubygems/rubygems] util/rubocop -A --only Layout/LeadingCommentSpace
- https://github.com/rubygems/rubygems/commit/4d680320e3
-
09:50 AM Revision d9f92511 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsidePercentLiteralDelimiters
- https://github.com/rubygems/rubygems/commit/c6de27fc6d
-
09:50 AM Revision 85fd33c5 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideArrayPercentLiteral
- https://github.com/rubygems/rubygems/commit/75abd2e504
-
09:50 AM Revision dab1d0ed (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLineBetweenDefs
- https://github.com/rubygems/rubygems/commit/00117e69cc
-
09:50 AM Revision 7c1d590a (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceBeforeComma
- https://github.com/rubygems/rubygems/commit/4a5b70b508
-
09:50 AM Revision 23150e02 (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineHashBraceLayout
- https://github.com/rubygems/rubygems/commit/bf33d106d0
-
09:50 AM Revision ab2278eb (git): [rubygems/rubygems] util/rubocop -A --only Lint/UselessAccessModifier
- https://github.com/rubygems/rubygems/commit/5070f90987
-
09:50 AM Revision eb80f51c (git): [rubygems/rubygems] util/rubocop -A --only Lint/RedundantStringCoercion
- https://github.com/rubygems/rubygems/commit/58e4885493
-
09:50 AM Revision 05208c38 (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnusedBlockArgument
- https://github.com/rubygems/rubygems/commit/d8efd919db
-
09:50 AM Revision 7ab4ede4 (git): [rubygems/rubygems] util/rubocop -A --only Performance/TimesMap
- https://github.com/rubygems/rubygems/commit/976a351f8b
-
09:50 AM Revision 139f0927 (git): [rubygems/rubygems] util/rubocop -A --only Performance/DoubleStartEndWith
- https://github.com/rubygems/rubygems/commit/893da27e7c
-
09:50 AM Revision 65752b61 (git): [rubygems/rubygems] util/rubocop -A --only Performance/Count
- https://github.com/rubygems/rubygems/commit/46d5d6d1d3
-
09:50 AM Revision 2eb99350 (git): [rubygems/rubygems] Removed rubocop:disable detected by Lint/RedundantCopDisableDirective
- https://github.com/rubygems/rubygems/commit/07b0da6c24
-
09:50 AM Revision 2dddac04 (git): [rubygems/rubygems] util/rubocop -a test/rubygems/helper.rb and styling
- https://github.com/rubygems/rubygems/commit/fe331736d4
-
09:50 AM Revision fe1b0661 (git): [rubygems/rubygems] Removed RUBY_PATCHLEVEL and modify condition for ruby_version
- https://github.com/rubygems/rubygems/commit/b420e287a3
-
09:50 AM Revision b09973a9 (git): [rubygems/rubygems] Also removed condition of RUBY_PATCHLEVEL
- https://github.com/rubygems/rubygems/commit/16f381be4b
-
09:50 AM Revision 8e40d1e1 (git): [rubygems/rubygems] RUBY_PATCHLEVEL was provided after Ruby 1.8.5
- https://github.com/rubygems/rubygems/commit/7750d5c460
-
09:50 AM Revision a47c5413 (git): [rubygems/rubygems] Remove ensure part in require
- I've seen this error sometimes but never found it helpful, since the
culprit has never been thread/monitor related, so it just adds noise.
Right now I'm seeing an issue in CI where we seem to be crashing during
ensure and showing a weir... -
09:50 AM Revision dd0f0a5e (git): [rubygems/rubygems] Fix `gem uninstall` with `--install-dir`
- https://github.com/rubygems/rubygems/commit/ac23687353
-
09:50 AM Revision 123bedd2 (git): [rubygems/rubygems] Extract some common logic to a test helper
- https://github.com/rubygems/rubygems/commit/ef4741b7cb
-
09:50 AM Revision 57338287 (git): [rubygems/rubygems] Fix `rake check_manifest` when `rake` is `--user-installed`'d
- Otherwise we get
```
✗ rake TEST=test/rubygems/test_project_sanity.rb
Loaded suite /Users/deivid/.gem/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_test_loader
Started
E
======================================================================... -
09:50 AM Revision 37c2e903 (git): [rubygems/rubygems] Show error when `rake check_manifest` fails for unknown reason
- https://github.com/rubygems/rubygems/commit/98de85c11e
-
09:50 AM Revision 8371c0ea (git): [rubygems/rubygems] Fix incorrect error message when multiple platforms are locked
- https://github.com/rubygems/rubygems/commit/24d2bf9cb2
-
09:50 AM Revision d5121992 (git): [rubygems/rubygems] Remove unnecessary `specific_local_platform` test helper
- https://github.com/rubygems/rubygems/commit/86b574824d
-
09:50 AM Revision 2d8b55fc (git): [rubygems/rubygems] Simplify `lockfile_platforms` helper
- To make it easier to change the default platforms that get locked later.
https://github.com/rubygems/rubygems/commit/255c4012ec -
09:50 AM Revision 9492efbe (git): [rubygems/rubygems] Remove unnecessary `local` helper
- https://github.com/rubygems/rubygems/commit/27ed6870ce
-
09:50 AM Revision 8a8ade7e (git): [rubygems/rubygems] Use more common linux platform for specs
- https://github.com/rubygems/rubygems/commit/3841a58095
-
09:50 AM Revision f22765f5 (git): [rubygems/rubygems] Use splatted args to `lockfile_platforms_for`
- Nicer :)
https://github.com/rubygems/rubygems/commit/c0ab2893c3 -
08:58 AM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
- mame (Yusuke Endoh) wrote in #note-2:
> In #18580, @matz said:
> ...
Thanks for the info. This hurts not only because the behavior changed without notice (in the NEWS file) but because it broke the useful feature. Before the change, ... -
04:29 AM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
- In #18580, @matz said:
> I decided to make `include?` to raise exception for beginless/endless non-numeric ranges.
and `(nil..nil)` is considered as a non-numeric range. -
04:03 AM Bug #19533 (Closed): Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
- Starting from Ruby 2.7.0 a range `nil..nil` used to match any value until 3.2.0-preview3, but 3.2.0-rc1 started to reject it.
```
% docker run -it --rm rubylang/all-ruby ./all-ruby -e 'p( (nil..nil) === 1 )'
(snip)
ruby-2.6.10 ... -
07:32 AM Bug #19534 (Closed): [ruby 3.2.1] Regular expression comparisons may be slower than in older versions.
- Hello Sir.
When scanning a string with a regular expression created using many Japanese words, there was a slowdown compared to older versions.
I hope it will be fixed.
- Environment
```
% ruby -v
ruby 3.2.1 (2023-02-08 revision ... - 04:53 AM Revision c0866f8a (git): Bump actions/cache from 3.2.6 to 3.3.1
- Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co... -
04:40 AM Revision f3abe5ba (git): merge revision(s) 0700d0fd1c77b4fddf803dea3c10be654df600ff,62c2082f1f726cb90d8c332fbedbecf41d5d82ec: [Backport #19469]
- Fix indentation in vm_setivar_default
---
vm_insnhelper.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[Bug #19469] Fix crash when resizing generic iv list
The following script c... -
04:36 AM Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- ruby_3_2 b309c246ee70926d593d3857e1625202e2d0f67b merged revision(s) d78ae78fd76e556e281a743c75bea4c0bb81ed8c.
-
04:30 AM Bug #18580: Range#include? inconsistency for beginless String ranges
- Unfortunately, this change broke an existing program: #19533.
The lesson here is that it would be best to avoid changing any behavior just for the sake of consistency unless it is proven that the behavior actually confuses a large num... - 04:17 AM Revision c7ae6f6a (git): Bump actions/checkout from 3.3.0 to 3.4.0
- Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http... - 03:38 AM Revision 53ebd484 (git): Bump ruby/setup-ruby from 1.144.0 to 1.144.1
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.0 to 1.144.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/9669f3ee51dc3f4eda8447ab696b3ab19a... -
01:56 AM Revision b309c246 (git): merge revision(s) d78ae78fd76e556e281a743c75bea4c0bb81ed8c: [Backport #19468]
- rb_str_modify_expand: clear the string coderange
[Bug #19468]
b0b9f7201acab05c2a3ad92c3043a1f01df3e17f errornously stopped
clearing the coderange.
Since `rb_str_modify` clears it, `rb_str_modify_expand`... -
01:54 AM Bug #19464: YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
- ruby_3_2 b73a07359758a9034996752e981e09ddaffe8d87 merged revision(s) 0eb634ae73cb327ede833b72492f912792a4a9d5.
-
01:15 AM Feature #18951: Object#with to set and restore attributes around a block
- temp_set might be a better method name
-
12:50 AM Revision f29c9d6d (git): compile branch body if needed
- ```ruby
if true
THEN
else
ELSE
end
```
On this case, ELSE is not needed so that only compile THEN part.
03/16/2023
-
11:46 PM Revision d2c6dca8 (git): Fix small issues concerning namespacing in test-all suite
- * Fix temporary methods on Object leaking across test cases.
* Remove temporary classes/modules leaking across test cases. - 09:40 PM Revision 5825d7d4 (git): YJIT: Remove exit for rest and send combo (#7546)
-
09:24 PM Revision 473009d7 (git): YJIT: add stats to keep track of when branch direction is known (#7544)
- This measures the impact of changes made by @jhawthorn last year.
-
09:16 PM Revision 617c9b46 (git): Rename opes to operands on RubyVM::BaseInstruction
-
09:16 PM Revision 8dbddd5b (git): Rename opes to operands
- Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
-
09:16 PM Revision d454a590 (git): Re-add RJIT::Instruction#opes
-
06:05 PM Revision 182f4f0d (git): Fix a bindgen CI failure
-
05:48 PM Revision ed180932 (git): Fix the JIT-unsupported case
-
05:42 PM Revision 9947574b (git): Refactor jit_func_t and jit_exec
- I closed https://github.com/ruby/ruby/pull/7543, but part of the diff
seems useful regardless, so I extracted it. -
04:22 PM Revision a8e7fee8 (git): Revert "core_assertions.rb: Refine `assert_linear_performance`"
- This reverts commit cae4342dd559e34c1ce6219593f77f0ad80286da.
This is failing a lot of CIs and nobody is actively looking into fixing
it. Let me revert this until we have a solution to it. -
03:45 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- Some other updates. I've been trying to undestand the `TIME_WAIT` and why it does behave the way it doesn on MacOS (but not on Linux).
This response got me ideas to try setting `linger` on:
https://stackoverflow.com/questions/3757289/wh... -
11:32 AM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- when the pause happens it seems the socket is still kept alive, based on netstat:
(there is a huge list of those):
```
tcp4 0 0 localhost.http-alt localhost.56818 TIME_WAIT
tcp4 0 0 localhost.ht... -
11:15 AM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- @jeremyevans0 I'm new to debugging C code. Your idea on filedescriptors seems to to be somewhat spot on.
I'm not sure if this is the right way to debug this or not, but I managed to capture "Filesystem activity" through MacOS instrum... -
02:46 PM Revision 2f81bb79 (git): Add thread and ractor counts to bug reports
- This is useful for crash triaging. It also helps to hint extension
developers about the misuse of `rb_thread_call_without_gvl()`.
Example:
$ ./miniruby -e 'Ractor.new{Ractor.receive};
Thread.new{sleep}; Process.kill:SEGV,Pr... -
02:31 PM Bug #19532 (Closed): Handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding is broken
- ```ruby
irb(main):001:0> "\u{10000}".encode("cesu-8").chop
=> "\xED\xA0\x80"
```
But it should be `""`.
Fix in https://github.com/ruby/ruby/pull/7510 -
02:01 PM Bug #19529: [BUG] ObjectSpace::WeakMap can segfault after compaction
- To the backport manager: in addition to the two commits above, please also ensure to backport commit [e0cf80d666d4b5df3229f030a16d10d21323508e](https://github.com/ruby/ruby/commit/e0cf80d666d4b5df3229f030a16d10d21323508e) because there c...
-
02:00 PM Revision e0cf80d6 (git): Fix incorrect size of WeakMap buffer
- In wmap_final_func, j is the number of elements + 1 (since j also
includes the length at the 0th index), so we should resize the buffer
to size j and the new length is j - 1. -
01:59 PM Revision 671ddb1e (git): [DOC] Enhanced RDoc for TrueClass (#7521)
-
12:55 PM Revision 89f7acba (git): [rubygems/rubygems] Improve TarTestCase#calc_checksum
- https://github.com/rubygems/rubygems/commit/97add0d1d7
-
12:55 PM Revision 364364c3 (git): [rubygems/rubygems] Improve TarHeader#calculate_checksum
- String#unpack("C*") is equivalent to String#bytes and Array#inject {|a,b| a + b } is equivalent to Array#sum.
This is a minor enhancement in terms of speed and readability. -
11:57 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- @ioquatix I think you need to explain the design of your reloading and usages of anonymous modules and why it's so important that we should modify Ruby for it.
Also maybe why Zeitwerk is not enough for you.
For `labeled_module` and `... -
11:52 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- @Dan0042 Right, the rule is not as simple, indeed.
Of course `a::B` is not a fully-named constant here, so this is "temporary name" for `a::B`, which is what I was thinking about.
> Since `a::B.name` is neither nil nor resolvable to ... -
11:48 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- fxn (Xavier Noria) wrote in #note-26:
> We also know the coupling ends there. These entities ar highly decoupled in Ruby by design. I can have `C = Class.new; c = C; remove_const :C`, and the class in `c` is no longer reachable through ... -
01:39 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- Eregon (Benoit Daloze) wrote in #note-17:
> IIRC naming of constants under a module is only done if a module is fully-named
Actually that's incorrect since 3.0
```ruby
a = Module.new
a::B = Module.new
a::B.name #=> "#<Module:0x00007f6c2... -
09:51 AM Revision cae4342d (git): core_assertions.rb: Refine `assert_linear_performance`
- * Use an `Enumerable` as factors, instead of three arguments.
-
09:37 AM Revision 5cffa69c (git): [DOC] Add missing escape
- Before:
```
* + corresponds to $+, which contains last capture group.
```
After:
```
* \+ corresponds to $+, which contains last capture group.
``` -
09:32 AM Bug #19442 (Closed): Remove USE_RINCGC flag
- Applied in changeset commit:git|b3a271665b6d45fe21e775e1c523a040caa509a9.
----------
[Feature #19442] Remove USE_RINCGC flag
Ruby doesn't compile when this is set to 0. Let's remove it. -
09:32 AM Revision 90d3bbb5 (git): [Feature #19442] Remove GC_ENABLE_INCREMENTAL_MARK
- Ruby doesn't compile when this is disabled, and it's not tested on CI.
We should remove it.
Co-Authored-By: Peter Zhu <peter@peterzhu.ca> -
09:32 AM Revision b3a27166 (git): [Feature #19442] Remove USE_RINCGC flag
- Ruby doesn't compile when this is set to 0. Let's remove it.
-
08:55 AM Bug #19531: ObjectSpace::WeakMap: replaced values still clear the key they were assigned to
- Patch: https://github.com/ruby/ruby/pull/7540
-
08:17 AM Revision 0b303c68 (git): [ruby/openssl] Relax error message check for OpenSSL 3.1
- A tentative measures fo https://github.com/ruby/openssl/issues/606.
With OpenSSL 3.1.0, the error message at connection using "self-signed
certificate" seems to return `SSL_R_TLSV1_ALERT_UNKNOWN_CA` instead of
`SSL_R_CERTIFICATE_VERIFY_... - 03:38 AM Revision a6c447d4 (git): Bump github/codeql-action from 2.2.6 to 2.2.7
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.6 to 2.2.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
... -
01:59 AM Revision f3b12924 (git): [rubygems/rubygems] Applied Layout/SpaceAroundOperators cop
- https://github.com/rubygems/rubygems/commit/3139587be9
-
01:59 AM Revision 760b8b7d (git): [rubygems/rubygems] Change enforce style with Layout/CaseIndentation on rubygems
- https://github.com/rubygems/rubygems/commit/d4938259c4
03/15/2023
-
11:50 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- This is a long thread, I was not aware of it.
Let me say that nobody can assume from the name of a class or module that the corresponding constant exists. Class and module objects get their name when they are first assigned to a const... -
11:40 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- To be clear, Zeitwerk works only with constants. When you load `foo.rb`, the constant `:Foo` has to exist in `Object`, Zeitwerk does not care if the classes or modules went through an initial anonymous period. It also does not care if th...
-
11:30 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- > I don't think it's uncommon to cache instances of a class in some global mapping. Does Zeitwerk reload the entire namespace or just ones that changed? I don't know enough about it. @fxn (Xavier Noria) any thoughts on how this is handle...
-
11:10 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- In fact, implementing `labeled_module`/`labeled_class` like you showed above would again break these expectations, illustrating how unsafe is this API, and it's clear many people writing such tests wouldn't realize this problem (they mig...
-
11:06 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- > Also, it looks like Zeitwerk absolutely can reload code and create confusion
This is again an unrealistic completely made up example and I would think an invalid usage of Zeitwerk.
For real code, you don't reload in the middle of a... -
11:03 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- > As demonstrated, if users want to do this, it's already possible.
Yes, and it just doesn't matter much in practice because it almost never or never happens in real code.
The point is if the name of a Module doesn't correspond to ho... -
11:27 PM Revision 61831806 (git): YJIT: Eliminate unnecessary mov for trampolines (#7537)
-
11:07 PM Revision ca10274f (git): YJIT: Use assert_disasm! in an A64 test to avoid unused warning
- I kept getting unused warnings for this macro on A64 macOS.
-
09:55 PM Revision 9a735c77 (git): YJIT: use u16 for insn_idx instead of u32 (#7534)
-
09:26 PM Revision 4ae9c34a (git): Move RB_VM_SAVE_MACHINE_CONTEXT to internal/thread.h
-
09:26 PM Revision 60b8c7d9 (git): Rename RB_GC_SAVE_MACHINE_CONTEXT -> RB_VM_SAVE_MACHINE_CONTEXT
-
09:26 PM Revision 5791aa62 (git): Move RB_GC_SAVE_MACHINE_CONTEXT to vm_core.h
-
07:45 PM Revision de174681 (git): YJIT: Assert that we have the VM lock while marking
- Somewhat important because having the lock is a key part of the
soundness reasoning for the `unsafe` usage here. -
05:54 PM Bug #19531 (Closed): ObjectSpace::WeakMap: replaced values still clear the key they were assigned to
- ### Reproduction script
```ruby
wmap = ObjectSpace::WeakMap.new
a = "A"
b = "B"
wmap[1] = a
wmap[1] = b # the table entry with 1 is still in the list of entries to clear when `a` is GCed
a = nil
GC.start
p wmap[1] # ... -
04:53 PM Revision f613c189 (git): Partially revert GH-7511
- to see if it stabilizes Cirrus CI.
-
04:29 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- brodock (Gabriel Mazetto) wrote in #note-9:
> @jeremyevans0 I've tested again in MacOS system provided ruby version:
> ...
In your pure Ruby hey-example, you have `CONCURRENCY = 512`, but your server has `BACKLOG = 50`. You would want... -
03:57 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- @jeremyevans0 I've tested again in MacOS system provided ruby version:
```
ruby --version
Could not... -
03:33 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- I've also tried to build something similar to "hey" in ruby and couldn´t make it crash (this is likely because of the GVL, we can´t get real concurrency):
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.or... -
03:31 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- I've went back to my Linux machine and tried to reproduce the problem.
Using Ruby 3.0 (from the package manager), I got to make it crash only using some decent concurrency (100) and running it for longer time:
```
brodock@pop-os:~/Proj... -
03:07 PM Bug #19485: Unexpected behavior in squiggly heredocs
- sawa (Tsuyoshi Sawada) wrote in #note-3:
> For the purpose of measuring an indentation, a horizontal tab is regarded as a sequence of one to eight spaces such that the column position corresponding to its end is a multiple of eight. T... -
11:28 AM Bug #19485: Unexpected behavior in squiggly heredocs
- Another condition could be only accept tabs in squiggly heredoc if they prefix all lines of the squiggly heredoc? (otherwise SyntaxError, including for the 2 cases in the description)
(I wish tabs would just not be accepted as indenta... -
08:40 AM Bug #19485: Unexpected behavior in squiggly heredocs
- I don't think it's a good idea to assume a tab is 8 spaces.
Regarding indentation, it might be a nice simplification to only consider the first line in the squiggly heredoc. That's what I've done in the past - it's predictable and easy ... -
07:57 AM Bug #19485: Unexpected behavior in squiggly heredocs
- nobu (Nobuyoshi Nakada) wrote in #note-2:
> My [draft] is:
> ...
I find the sentence too long and a little too difficult to parse/understand. What about something like this:
> For the purpose of measuring an indentation, a horizontal ta... -
05:16 AM Bug #19485 (Assigned): Unexpected behavior in squiggly heredocs
- My [draft] is:
> Note that the "indentation" is counted like as each horizontal tabs are
> ...
Does this make sense?
[draft]: https://github.com/nobu/ruby/tree/doc-heredoc-indentation -
02:55 PM Revision 77c8daa2 (git): Make EC required on JIT state (#7520)
- * Make EC required on JIT state
Lets make EC required on the JITState object so we don't need to
`unwrap` it.
* Minor nitpicks
---------
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
11:22 AM Bug #4040: SystemStackError with Hash[*a] for Large _a_
- Regarding the original report, there is a clear solution now with `to_h`:
```ruby
1000.times.each_slice(2).to_a.to_h
# or
1000.times.each_slice(2).to_h
``` -
11:17 AM Bug #4040: SystemStackError with Hash[*a] for Large _a_
- In other words, for efficiency arguments need to be passed on the stack, e.g. for JITed code.
Sure it could be possible to have special handling for "too many arguments" and do something else, but that means making Ruby slower in general... -
11:15 AM Bug #4040: SystemStackError with Hash[*a] for Large _a_
- My opinion as a TruffleRuby implementer is I don't think TruffleRuby will or can support that.
So at least it should be clear that's not something really supported by the Ruby language in general.
User code shouldn't pass a million argu... -
11:21 AM Revision 56b38fdd (git): [rubygems/rubygems] Use OpenSSL::Digest instead of digest stdlib
- https://github.com/rubygems/rubygems/commit/69aa007679
-
11:21 AM Revision a90302ad (git): [rubygems/rubygems] Added OpenSSL namespace explicitly
- https://github.com/rubygems/rubygems/commit/bf4382e7a7
-
11:21 AM Revision b528ecc1 (git): [rubygems/rubygems] OpenSSL::Digest is always provided after Ruby 2.4
- https://github.com/rubygems/rubygems/commit/4f2f2ad412
-
09:19 AM Revision 09041a6e (git): core_assertions.rb: Refine `assert_linear_performance`
- * Add `rehearsal` keyword argument
* Stop repeating with the same factor -
09:13 AM Bug #19530 (Closed): `Array#sum` and `Enumerable#sum` sometimes show different behaviours
- Applied in changeset commit:git|ca437aeb395e77125fcd2ab9bc83bbcd3e357610.
----------
rb_ary_sum: don't enter fast path if initial isn't a native numeric type.
[Bug #19530]
If the initial value isn't one of the special cased types, we ... -
09:12 AM Revision ca437aeb (git): rb_ary_sum: don't enter fast path if initial isn't a native numeric type.
- [Bug #19530]
If the initial value isn't one of the special cased types, we directly
jump to the slow path. -
09:05 AM Bug #19526 (Closed): Rails Active Support behavior change since e87d0882910001ef3b0c2ccd43bf00cee8c34a0c
- It was a bug. fixed https://github.com/ruby/ruby/pull/7507
Thank you! -
09:05 AM Revision 6462c1a0 (git): `Hash#dup` for kwsplat arguments
- On `f(*a, **kw)` method calls, a rest keyword parameter is identically
same Hash object is passed and it should make `#dup`ed Hahs.
fix https://bugs.ruby-lang.org/issues/19526 -
08:35 AM Bug #19459: Is `length` of `IO::Buffer#read` required or optional?
- Thanks!
-
07:34 AM Bug #19459: Is `length` of `IO::Buffer#read` required or optional?
- ruby_3_2 db28f7003f7d49cfa13871c38d10c1967282ca6b merged revision(s) 3b567eb491e460e00a66fdea8054eeb083b5dafd.
-
07:36 AM Revision b73a0735 (git): merge revision(s) 0eb634ae73cb327ede833b72492f912792a4a9d5: [Backport #19464]
- YJIT: Detect and reject `send(:alias_for_send, :foo)`
Previously, YJIT failed to put the stack into the correct shape when
`BasicObject#send` calls an alias method for the send method itself.
This can manifest as... - 06:48 AM Revision 7fd53eeb (git): Remove SIGCHLD `waidpid`. (#7527)
- * Remove `waitpid_lock` and related code.
* Remove un-necessary test.
* Remove `rb_thread_sleep_interruptible` dead code. -
04:59 AM Revision ce47ee00 (git): Fix indirect counter increment
- `*pcnt++` just dereferences `pcnt` then increments the local variable,
but has no side effect. -
03:35 AM Revision 04a25509 (git): [rubygems/rubygems] Don't use full_required_path and extension_dir under the bundler
- https://github.com/rubygems/rubygems/commit/72169288ff
-
03:35 AM Revision 31137dc6 (git): [rubygems/rubygems] Removed test for
- https://github.com/rubygems/rubygems/pull/6444, I have no idea to
migrate this test to bundler example
yet
https://github.com/rubygems/rubygems/commit/0d869019bf -
03:35 AM Revision 55a0fbfa (git): [rubygems/rubygems] Move build artifact detection logic for root gemspec to bundler from Gem::Specification.
- Gem::Specification#missing_extension? is heavily called from RubyGems.
We should reduce extra method call from this place.
https://github.com/rubygems/rubygems/commit/e24e59d44d -
03:21 AM Bug #19529: [BUG] ObjectSpace::WeakMap can segfault after compaction
- To the backport manager: please ensure to also backport commit [3dc8cde70078ccb38f5f4b0818ad5eecded01bd5](https://github.com/ruby/ruby/commit/3dc8cde70078ccb38f5f4b0818ad5eecded01bd5) because the fix above has a bug.
-
03:18 AM Revision 3dc8cde7 (git): Fix crash during compaction
- [Bug #19529]
The fix for [Bug #19529] in commit 548086b contained a bug that crashes
on the following script:
```
wm = ObjectSpace::WeakMap.new
obj = Object.new
100.times do
wm[Object.new] = obj
GC.start
end
GC.compact
```
03/14/2023
-
11:36 PM Bug #4040 (Open): SystemStackError with Hash[*a] for Large _a_
- I'm reopening this issue.
Originally, when commit:2e7bceb34ea858649e1f975a934ce1894d1f06a6 fixed cfuncs to no longer use the VM stack for large array splats, it was thought to have fully fixed this issue, since the issue was fixed for... -
10:38 PM Revision 70ba3102 (git): YJIT: Introduce no_gc attribute (#7511)
-
10:19 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- Also, it looks like Zeitwerk absolutely can reload code and create confusion, and in addition, appending `file:line` information would not avoid that confusion.
https://github.com/ioquatix/zeitwerk-reload
Adjusting `remove_const` to tu... -
10:08 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- > I had a call with @ioquatix (Samuel Williams), trying to explain the importance of the name that Ruby shows us, for example:
> ...
As demonstrated, if users want to do this, it's already possible.
```ruby
Foo = Module.new
#=> Foo
Foo... -
08:58 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- Another thought: maybe a much simpler way to solve most of these use-cases is adding `Module#source_location`, which is the `[file, line]` at which the Module was created.
That could also work for anonymous modules, they could capture at... -
08:48 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- I had a call with @ioquatix, trying to explain the importance of the name that Ruby shows us, for example:
`undefined method 'zzz' for #<Foo::Bar:0x00007efc38711fc0> (NoMethodError)`
people will of course expect that `Foo::Bar` refers ... -
10:17 PM Bug #18604: [BUG] ERROR(VpDivd): space for remainder too small
- Use [bigdecimal-3.1.2](https://github.com/ruby/bigdecimal/releases/tag/v3.1.2) or later.
-
10:01 PM Bug #18604: [BUG] ERROR(VpDivd): space for remainder too small
- got same issue here with any ruby 3.1.x version:(
Any news? -
09:01 PM Revision 868f03cc (git): Remove unused jit_enable_p flag
- This was used only by MJIT.
-
08:39 PM Revision 9a43c63d (git): YJIT: Implement throw instruction (#7491)
- * Break up jit_exec from vm_sendish
* YJIT: Implement throw instruction
* YJIT: Explain what rb_vm_throw does [ci skip] -
06:52 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- brodock (Gabriel Mazetto) wrote in #note-4:
> I've also run a version of your client and got to reproduce the error (with similar output):
> ...
I tried that client program in my environment (OpenBSD/amd64), and was able to run it with... -
06:33 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- @jeremyevans0
running apache benchmark with `-c1` does show some of the behavior. It will go from 0 to somethign around 16000 in 4 seconds and get stuck there, see a 3x run log:
```
ab -n 20000 -c 1 http://127.0.0.1:8080/ ... -
05:26 PM Revision 76f20318 (git): YJIT: Allow testing assembler with disasm (#7470)
- * YJIT: Allow testing assembler with disasm
* YJIT: Drop new dependencies
* YJIT: Avoid address manipulation
* YJIT: Introduce assert_disasm! macro
* YJIT: Update the comment about assert_disasm -
04:57 PM Bug #19527: Object allocation during garbage collection phase
- Please understand that while Ruby giving you the crash report
saying `[BUG] object allocation during garbage collection phase`
is the proximate cause of the problem, I'm telling you that
the ultimate cause is likely a bug in the IBM g... -
03:16 AM Bug #19527: Object allocation during garbage collection phase
- Hi everyone.
As I mentioned the first thing I did was check the issue with IBM, if you check the stack message, our application (PEC) is started, then it establish the connection to the database using IBM_GEM and this error is triggered... -
03:49 PM Bug #19529 (Closed): [BUG] ObjectSpace::WeakMap can segfault after compaction
- Applied in changeset commit:git|548086b34e3dd125edabf5dc1e46b891fad3ea9c.
----------
ObjectSpace::WeakMap: fix compaction support
[Bug #19529]
`rb_gc_update_tbl_refs` can't be used on `w->obj2wmap` because it's
not a `VALUE -> VALUE` ... -
08:17 AM Bug #19529: [BUG] ObjectSpace::WeakMap can segfault after compaction
- Proposed patch: https://github.com/ruby/ruby/pull/7518
-
07:46 AM Bug #19529: [BUG] ObjectSpace::WeakMap can segfault after compaction
- Looking at the code, the `dcompact` function is wrong:
```c
static void
wmap_compact(void *ptr)
{
struct weakmap *w = ptr;
if (w->wmap2obj) rb_gc_update_tbl_refs(w->wmap2obj);
if (w->obj2wmap) rb_gc_update_tbl_refs(w... -
07:42 AM Bug #19529 (Closed): [BUG] ObjectSpace::WeakMap can segfault after compaction
- Reproduction script:
```ruby
wm = ObjectSpace::WeakMap.new
obj = Object.new
100.times do |i|
GC.compact
wm[i] = obj # [BUG] Segmentation fault at 0x0000000000000001
end
```
Crash report:
```
/tmp/weakmap.rb:5: [BUG]... -
03:49 PM Revision 548086b3 (git): ObjectSpace::WeakMap: fix compaction support
- [Bug #19529]
`rb_gc_update_tbl_refs` can't be used on `w->obj2wmap` because it's
not a `VALUE -> VALUE` table, but a `VALUE -> VALUE *` table, so
we need some dedicated iterator. -
09:15 AM Bug #19530: `Array#sum` and `Enumerable#sum` sometimes show different behaviours
- Proposed patch: https://github.com/ruby/ruby/pull/7519
-
08:51 AM Bug #19530: `Array#sum` and `Enumerable#sum` sometimes show different behaviours
- Looking at `Array#sum` implementation, it very clearly has a fast path for when all the elements of the array are native numeric types, with a fallback for other objects. But it also doesn't check the initial value type before going in t...
-
07:57 AM Bug #19530 (Closed): `Array#sum` and `Enumerable#sum` sometimes show different behaviours
- Hi everyone. 👋🏻
We recently discovered that `Array#sum` and `Enumerable#sum` will output different results in some edge cases.
Here's the smallest script I managed to write to reproduce the issue:
``` ruby
class Money
def in... - 07:07 AM Revision ac65ce16 (git): Revert SIGCHLD changes to diagnose CI failures. (#7517)
- * Revert "Remove special handling of `SIGCHLD`. (#7482)"
This reverts commit 44a0711eab7fbc71ac2c8ff489d8c53e97a8fe75.
* Revert "Remove prototypes for functions that are no longer used. (#7497)"
This reverts commit 4dce12bead3bfd91fd8... -
04:58 AM Revision b2779383 (git): Try to use https://github.com/ruby/rbs/pull/1273
-
04:49 AM Revision 278b639b (git): Disable RJIT_FORCE_ENABLE CI for now
- Somehow btest-ruby is running miniruby. Not sure why.
https://github.com/ruby/ruby/actions/runs/4412043427/jobs/7731124729#step:16:402
For RJIT's experimental purposes, having just one CI is enough. I'd like
to focus on keeping .github/... - 04:08 AM Revision 5868a784 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.65 to 0.9.67.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.65...v0.9.67)
---
updated-depende... -
03:54 AM Revision 4ad171bb (git): Remove an unused VM option
- This seems to be used nowhere today.
-
03:51 AM Revision c58759f4 (git): Removed to load jit_support.rb
- It's removed at 4445b9e2a2dda207a2b3698c042342dd794b1b35
-
03:42 AM Revision d8344559 (git): RJIT: Simplify how Capstone is used in tests
- 03:39 AM Revision 1c8e69d6 (git): Bump ruby/action-slack from 3.0.0 to 3.2.1
- Bumps [ruby/action-slack](https://github.com/ruby/action-slack) from 3.0.0 to 3.2.1.
- [Release notes](https://github.com/ruby/action-slack/releases)
- [Commits](https://github.com/ruby/action-slack/compare/b6882ea6ef8f556f9f9af9ec1220d3... -
01:42 AM Revision 4e6c9567 (git): Use __builtin_ppc_get_timebase on POWER with clang
03/13/2023
-
10:46 PM Bug #19527 (Third Party's Issue): Object allocation during garbage collection phase
- Unfortunately, the traces are not very helpful.
But I agree, it's likely an issue with the [IBM gem](https://github.com/ibmdb/ruby-ibmdb)
and not a Ruby issue.
Here is a guess as to what's happening: the traces indicate that it's cr... -
09:22 PM Bug #19527: Object allocation during garbage collection phase
- Seems to be identical indeed.
-
09:10 PM Bug #19527: Object allocation during garbage collection phase
- Isn't this a duplicate of #19524? I don't think you will get a different answer to this ticket from the one that was given in that ticket. The bug is indicating that a C-extension (probably, the IBM DB Adapter) is allocating during garba...
-
06:08 PM Bug #19527 (Third Party's Issue): Object allocation during garbage collection phase
- We are currently developing a Ruby based web application which connects to a DB2 Database and we have been using ibm_db-5.4.0 to establish a connection, suddenly we got a error related to RUBY garbage collector PHASE.
We have checked ... -
10:33 PM Revision 4976b1a0 (git): Fork rbs to fix test failures
- https://github.com/ruby/rbs/pull/1274
-
08:32 PM Revision c7822b8d (git): YJIT: Merge add/sub/and/or/xor and mov on x86_64 (#7492)
-
07:11 PM Feature #19528 (Third Party's Issue): `JSON.load` defaults are surprising (`create_additions: true`)
- I'm not sure if it was actually intended, but there's some tacit naming convention for serializers in Ruby to use `load` and `dump` as methods, likely inspired from `Marshal` and `YAML`.
Because of this it's extremely common to see co... -
06:11 PM Revision 309ff928 (git): [ruby/irb] Replace METHOD_IS_A with ===
- (https://github.com/ruby/irb/pull/542)
https://github.com/ruby/irb/commit/edd6c30e16 -
04:55 PM Revision 1a8a24a6 (git): [DOC] Enhanced RDoc for NilClass (#7500)
-
03:41 PM Bug #19473: can't be called from trap context (ThreadError) is too limiting
- ko1 (Koichi Sasada) wrote in #note-13:
> I think this reason violates (1).
What do you mean?
AFAIK https://github.com/ruby/timeout/issues/17#issuecomment-1464039853 is correct.
If it's incorrect, please point the mistake in my reas... - 03:12 PM Revision 45127c84 (git): YJIT: Handle rest+splat where non-splat < required (#7499)
-
02:31 PM Revision 1095baed (git): [ruby/irb] Support inspecting BasicObject
- (https://github.com/ruby/irb/pull/541)
https://github.com/ruby/irb/commit/1dc2a406a3 -
01:07 PM Revision 56dbf83a (git): Prevent a warning: assigned but unused variable
- ... which made a test fail
http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230313T213003Z.fail.html.gz
```
1) Failure:
TestRubyOptions#test_enable [/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/test/ruby/test_ruby... -
12:52 PM Bug #19485: Unexpected behavior in squiggly heredocs
- I think what's happening here is that tabs are not converted directly to 8 spaces, but to "move ahead to next multiple of 8 chars". So in that sense "\t" and " \t" are equivalent. It's the same behavior as `10.times{ |i| print " "*i,"\t...
-
10:48 AM Feature #19440: Deprecate ThreadGroup
- Yeah I know.
timeout.rb already has this workaround: https://github.com/ruby/timeout/pull/25/files
If `ThreadGroup#enclose` becomes deprecated then usages of `enclose` will become increasingly rarer and so having that workaround matter... -
02:27 AM Feature #19440: Deprecate ThreadGroup
- Even if `ThreadGroup` were to be deprecated in 3.3, it can't help previous versions with the current timeout.rb.
-
09:54 AM Revision 8c6b3498 (git): [rubygems/rubygems] Removed `Gem.datadir`.
- https://github.com/rubygems/rubygems/pull/2216 is imcomplete to remove this method.
https://github.com/rubygems/rubygems/commit/34ef915d12 -
09:31 AM Bug #19476 (Closed): Regexp unexpected partial match
- Applied in changeset commit:git|dddc542e9b61b292d80a96d0d0efbbf58719e3be.
----------
[Bug #19476]: correct cache index computation for repetition (#7457) -
09:31 AM Revision dddc542e (git): [Bug #19476]: correct cache index computation for repetition (#7457)
- 07:02 AM Revision 1e73bdbf (git): Update bundled gems list at 2023-03-13
-
06:56 AM Revision e1021886 (git): Add btest-bruby target
- btest can't be used for testing RJIT because RJIT doesn't work on
miniruby. However, btest-ruby is not necessarily useful for testing RJIT
because both the runner could crash as well as the target.
TBH I'm not sure why we want to use RU... - 06:46 AM Revision 7686687a (git): * remove trailing spaces. [ci skip]
-
06:46 AM Bug #19467 (Closed): Some linear_time regexp does not match in linear time
- Applied in changeset commit:git|e22c4e8877677ff90805e4a4dcbdef80f4220136.
----------
[Bug #19467] correct cache points and counting failure on `OP_ANYCHAR_STAR_PEEK_NEXT` (#7454) -
06:46 AM Revision e22c4e88 (git): [Bug #19467] correct cache points and counting failure on `OP_ANYCHAR_STAR_PEEK_NEXT` (#7454)
-
06:38 AM Revision ed269c81 (git): RJIT: Count invokeblock exit types
-
05:15 AM Revision da9c84f8 (git): RJIT: Rename a side exit counter
-
05:09 AM Revision d27b5948 (git): RJIT: Fix a typo
- and import a missing function
-
05:07 AM Revision 330086d3 (git): RJIT: Implement definedivar
-
05:01 AM Revision 3938efa7 (git): RJIT: Fix block param proxy on send
- peek_at_stack was doubly accounting for C::VM_CALL_ARGS_BLOCKARG, which
made that case always side-exit and hide this bug.
When a block handler is block param proxy, you have to set LEP's specval
as next specval instead of block param p... -
04:14 AM Revision a23f6422 (git): RJIT: Fix block finding logic
- like YJIT does
-
03:49 AM Revision e28f8370 (git): RJIT: Update dependencies
-
03:41 AM Revision 07d3af22 (git): RJIT: Fix -Wshorten-64-to-32
- 03:34 AM Revision 45fdc180 (git): Bump github/codeql-action from 2.2.5 to 2.2.6
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.5 to 2.2.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
...