Activity
From 08/18/2023 to 08/24/2023
08/24/2023
-
10:24 PM Feature #19850 (Rejected): Get thread creation time
- I was debugging some threads hanging issue and thought it would be nice to know how long a thread has been around for. Would there be interest in a `Thread#creation_time` (or some other name) that returns the time when the thread was cre...
-
10:05 PM Revision 97a97d6d (git): mv test/bom_test.rb test/yarp/
- This sync 0e3dc5a056abf51363070ad94de4a8097bc80197 wasn't successful.
-
09:48 PM Bug #17926 (Feedback): spec/ruby/core/file/atime_spec.rb: a random failing test on Travis ppc64le
- @jaruga We haven't been seeing this error on the ppc64le RubyCI server recently. Is this OK to close?
-
09:41 PM Revision f9aea757 (git): [DOC] RDoc for Process (#8282)
-
09:38 PM Bug #17925: Pattern matching syntax using semicolon one-line
- @kddnewton Is this possible to fix in YARP?
@yui-knk Is this possible to fix in parse.y/lrama? -
09:37 PM Revision ebb90347 (git): Remove cfp parameter from hook_before_rewind()
- It's only used once, and it has to equal `ec->cfp`, so just use that.
-
09:37 PM Revision 05e82742 (git): Make cfp constant and use it more in vm_exec_handle_exception()
- For writing THROW_DATA_VAL, being able to see that it's writing to the
same frame after modifying PC and SP is nice. -
09:35 PM Revision 5937a0da (git): YJIT: Refactor to use Option<BlockHandler> in SpecVal
- We pass block around as `Option<BlockHandler>` having SpecVal
match that simplifes code matching for the `None` case. -
09:35 PM Revision f61e620c (git): YJIT: Move block handler SpecVal variants into BlockHandler
- A refactor so that the variants correspond to
branches in vm_caller_setup_arg_block(). -
09:32 PM Bug #17826 (Closed): Ractor#take hangs if used in multiple Threads
- This appears fixed in Ruby 3.3.0-preview1, though it doesn't work in Ruby 3.2.2.
-
09:30 PM Revision 0e3dc5a0 (git): [ruby/yarp] Fix lex compat with BOM
- * BOM should not impact looking for the encoding string
* We should re-encode tokens when the encoding changes
* BOM should change the column of comments only
https://github.com/ruby/yarp/commit/119fc2d7b2 -
09:27 PM Bug #17799 (Feedback): Seg fault in rb_class_clear_method_cache
- @stanhu Have you had any similar failures with Ruby 3.2?
-
09:18 PM Bug #17722 (Closed): define_method with shareable results in "defined in a different Ractor"
-
09:12 PM Bug #17678: Ractors do not restart after fork
- As Ractors always use separate OS threads, and fork only runs the current thread in the forked process, I don't see a way for Ractors to continue where they left off after fork. I think auto-starting would likely be a bad idea, because ...
-
08:59 PM Bug #17676 (Closed): Accessing ENV from Ractor raises IsolationError
- This was fixed in commit:3aab870761ff0138ffd29e0a08b6cdf151e2acb4
-
08:56 PM Bug #17667 (Closed): Module#name needs synchronization
- This appears to have been fixed between Ruby 3.1 and 3.2. Ruby 3.0 and 3.1 both instantly crash with the given example, whereas Ruby 3.2 does not crash even if given a minute.
-
08:34 PM Bug #17543 (Closed): Ractor isolation broken by `self` in shareable proc
- This was fixed in commit:cce331272b07636d536c8227288ab3fbcf24e2aa
-
08:30 PM Bug #17531 (Closed): `did_you_mean` not Ractor friendly
- This was fixed, did_you_mean is now Ractor-friendly: https://github.com/ruby/did_you_mean/commit/8faba54b2d3ec9aa570691775f143801308c5b2f
-
08:01 PM Bug #17478 (Closed): Ruby3.0 is slower than Ruby2.7.2 when parsing a large CSV file
- I did some testing with the CSV example given in the original post repeated 400k times. Note that Ruby 2.7 ships with CSV 3.1.2 and Ruby 3.2 ships with CSV 3.2.6.
* 2.7: 49 seconds
* 3.2: 77 seconds
* 3.2 --yjit: 59 seconds
* 3.2 ... -
07:42 PM Feature #19842: Introduce M:N threads
- byroot (Jean Boussier) wrote in #note-21:
> @tenderlovemaking this issue was envisioned initially, I had a PR to pass such thread idea, but I guess it got forgotten about https://github.com/ruby/ruby/pull/6189.
> ...
Great! Yes, I wou... -
07:40 PM Feature #19842: Introduce M:N threads
- @tenderlovemaking this issue was envisioned initially, I had a PR to pass such thread idea, but I guess it got forgotten about https://github.com/ruby/ruby/pull/6189.
We could just merge that PR (which I think has value even aside fro... -
06:28 PM Feature #19842: Introduce M:N threads
- Since Ractors will time share on one native thread, I think that means multiple _live_ Ruby threads could also possibly share the same native thread.
We currently have some thread related event hooks like `RUBY_INTERNAL_THREAD_EVENT_R... -
07:38 PM Bug #17383 (Closed): 3.0 recursion memory|speed issues
- I tested the example:
* 2.7: 1178 seconds
* 3.2: 1315 seconds
* 3.2 --yjit: 1012 seconds
3.2 with --yjit is ~15% faster than 2.7, so whatever performance has been lost since 2.7 has been more than regained by --yjit.
-
07:27 PM Revision 90048241 (git): [ruby/yarp] A couple small stylistic updates for yp_scope_node
- * Ensure the node gets initialized in case of failure with no assertions
* Include lambda and top-level nodes for scopes
* Small indentation fixes
https://github.com/ruby/yarp/commit/be29e07391 -
07:06 PM Revision 90ff30e5 (git): [ruby/yarp] Requested changes
- https://github.com/ruby/yarp/commit/eb01ea17c1
-
07:06 PM Revision 82d84d74 (git): [ruby/yarp] Added BlockNode case to ScopeNode, fixed ScopeNode to have body
- https://github.com/ruby/yarp/commit/8bd3f59621
-
07:06 PM Revision ef82054b (git): [ruby/yarp] Added ModuleNode
- https://github.com/ruby/yarp/commit/29754d818b
-
07:06 PM Revision 82e1434e (git): [ruby/yarp] Pulled scope node out of config.yml, added necessary void returns
- https://github.com/ruby/yarp/commit/926e6bdd88
-
07:06 PM Revision d81634d3 (git): [ruby/yarp] Add a ScopeNode and a way to create scope nodes from existing nodes
- This commit creates a scope node, and exposes a method to get
ScopeNodes from other existing nodes. It still has TODOs around
creating ScopeNodes for other types of nodes, which will be
done in future commits.
https://github.com/ruby/ya... -
06:27 PM Bug #19848: Ripper BOM behavior
- https://github.com/ruby/ruby/pull/8281
-
04:31 PM Bug #19848: Ripper BOM behavior
- Apologies, I think I was wrong about the last part, it's part of the string but it doesn't show up on inspect. So this is just about the column information then.
-
04:21 PM Bug #19848 (Closed): Ripper BOM behavior
- When there is a byte-order mark in a file, the first token in the file usually begins at -3. For example:
```ruby
Ripper.lex("\xEF\xBB\xBF[]")
# => [[[1, -3], :on_lbracket, "[", BEG|LABEL], [[1, 1], :on_rbracket, "]", END]]
```
... -
06:24 PM Bug #17373 (Closed): Ruby 3.0 is slower at Discourse bench than Ruby 2.7
- It looks like the slowdown for refined methods was fixed by @ko1 in commit:cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732. Even without that, I'm guessing with yjit, Ruby 3.2 is now faster than Ruby 2.6/2.7. If that is not the case, please re...
-
06:21 PM Feature #19849 (Open): Requiring file with autoload results in confusing error if file doesn't exist
- Given the following file that calls the `Example` constant:
```ruby
# example.rb
require_relative 'autoload_example.rb'
Example.new
```
and an autoload to define the `Example` constant, with an unknown path:
```ruby
# autoloa... -
05:53 PM Bug #17289 (Feedback): Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
- @joker1007 Can you reproduce this issue with Ruby 3.2 or the master branch? Can you reproduce this issue without the strptime gem?
-
05:47 PM Bug #17196 (Closed): Segmentation Fault with Socket#close in Ractors
-
05:46 PM Revision 75c9c2c4 (git): [DOC] Process doc (#8279)
-
05:43 PM Misc #19772: API naming for YARP compiler
- > Going forward, the only people that will be using the Ruby API of the parser will be tool developers. (For example, formatters like Syntax Tree, linters like Rubocop, static analysis tools like Steep.)
Template engines like Haml that ... -
02:21 PM Misc #19772: API naming for YARP compiler
- I can also discuss multi-version support.
Starting in December, we will release YARP version `3.3`. In this version, the C parser itself will be frozen so that developers can always have access to the same behavior as Ruby version `3.... -
02:12 PM Misc #19772: API naming for YARP compiler
- > In summary the main thing I would like to keep in mind is that the Ruby API will be used by tool developers, and we should make it as easy as possible for them to maintain the tools.
Exactly. I believe for this reason the best and sim... -
01:41 PM Misc #19772: API naming for YARP compiler
- Thank you all for taking the time to discuss this issue at the meeting! I'm sorry I wasn't able to be there this time.
I have a couple of concerns about the naming, which I'd like to discuss further.
Going forward, the only people ... -
01:00 PM Misc #19772: API naming for YARP compiler
- Why introduce `Ruby::Parser` as a different namespace if it does the same as `YARP`?
It doesn't seem a good idea to have 2 APIs for the same thing (memory overhead, defining every node class twice, etc) and in fact it is problematic on ... -
10:54 AM Misc #19772: API naming for YARP compiler
- Supplemental information about "mutli-version support":
The parser gem supports multiple versions of Ruby grammars: `Parser::Ruby30`, `Parser::Ruby31`, `Parser:Ruby32`, `Parser::CurrentRuby`, ....
I guess the same functionality is re... -
10:52 AM Misc #19772: API naming for YARP compiler
- We discussed How to merge YARP to Ruby 3.3 at the dev meeting. Here is what @matz approved:
* MRI will use parse.y by default. Using an option (not concretely decided yet), it will use the built-in YARP.
* We introduce `::Ruby` modul... -
05:31 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
- @matz This was reviewed during the June 2023 developer meeting and is still waiting for your response: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-06-08.md#bug-18622-const_get-still-looks-in-object-while-lexi...
-
05:20 PM Bug #16920 (Closed): TestThread#test_signal_at_join fails on aarch64
- I reviewed every recent RubyCI arm/aarch64 failure, and this test did not fail in any of them. So failures must be rare. I'm going to close this. If this is still an issue and someone can come up with a reproducible test case, that wou...
-
05:06 PM Bug #16493 (Closed): TestThreadQueue#test_thr_kill is flaky on AArch64
-
04:05 PM Revision 58ca0cfa (git): [ruby/yarp] Fix backslash-r (CR) delimited strings
- now CR can be used as a string delimiter
https://github.com/ruby/yarp/commit/3d27bad797 -
04:05 PM Revision 791d572b (git): [ruby/yarp] A couple of small stylistic changes
- * `le_len` to `eol_length`
* Braces on the same line as switch case
* `peek_addr` -> `peek_at`
* `peek_at` -> `peek_offset`
* `match_line_ending_addr` -> `match_eol_at`
* `match_line_ending_at` -> `match_eol_offset`
https://github.com/r... -
03:56 PM Revision 432702a4 (git): [ruby/yarp] Encoding-dependent escapes
- https://github.com/ruby/yarp/commit/36a5b801c4
-
03:56 PM Revision 9aba46c6 (git): Sync YARP to c175f712522cc315f45cd2da308768b90f324dd0
-
03:35 PM Revision e1d7066a (git): [ruby/irb] Deprecate RubyLex and warn about referencing to it
- (https://github.com/ruby/irb/pull/692)
`RubyLex` has always been a private component of IRB, so we should
explicitly discourage usages of it.
Also, it should be placed under the `IRB` module like other components.
https://github.com/ru... -
03:08 PM Bug #19784: String#delete_prefix! problem
- mame (Yusuke Endoh) wrote in #note-5:
> Note that encoding validity is checked on a position-by-position basis:
That's not clear to me.
Do you mean that if the argument or if the receiver String is not `String#valid_encoding?`, then... -
11:48 AM Bug #19784: String#delete_prefix! problem
- Discussed at the dev meeting.
We agreed that both `start_with?` and `delete_prefix` should compare character by character if valid, and byte by byte for invalid.
```ruby
"\xFF\xFE".start_with?("\xFF") #=> true # not changed
"\x... -
01:45 PM Revision 20927a89 (git): [ruby/yarp] Improve handling of line endings
- Introduce three new inline helper functions:
- `match_line_ending`
- `match_line_ending_at`
- `match_line_ending_addr`
These functions are similar in signature to the `peek*` functions, but
return the length of the line ending being in... -
01:41 PM Feature #19057: Hide implementation of `rb_io_t`.
- Status of several projects that are affected by this change:
- `cool.io` has since been fixed and released.
- `unicorn` has merged a fix but it is not released: https://yhbt.net/unicorn.git/63c85c4282d15e22bd32a905883d2d0e149619d1/s/
- ... -
12:52 PM Bug #19847 (Feedback): Cannot install Ruby 3.2.2 on Windows using Visual Studio 2019
- I am attempting to build/install Ruby 3.2.2 open-source code on Windows using Visual Studio 2019. These are the steps I followed:
Using an x64 Native Tools Command Prompt (for Visual Studio 2019)..
1. `cd C:\tmp\ruby-3.2.2`
2. `wi... -
12:12 PM Revision 5ec1fc52 (git): Escape non-ascii characters in prelude C comments
- Non-ASCII code are often warned by localized compilers.
-
12:12 PM Revision 554b370b (git): Generate sources before checks
-
11:49 AM Feature #19777: Make `Kernel#lambda` raise when called without a literal block
- Discussed at the dev meeting. @matz said go ahead.
- 10:09 AM Revision 84a12d65 (git): Fix compile error on older systems without clock_get*
-
09:18 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- > I accept this proposal
Thank you!
> ...
Unless I'm misreading it, POSIX says `open(2)` should be async signal safe: https://man7.org/linux/man-pages/man7/signal-safety.7.html so we should be good.
Either way, I think the crash... -
09:10 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- I accept this proposal, at least we can experiment.
I am a bit worried about calling open(2) in other functions/system calls from the signal handler.
Matz.
-
09:07 AM Bug #19829 (Closed): Enumerator.product called with keyword arguments raises exception with not precise message
- I see no benefit from the proposed change, other than you cannot tell the method takes any keyword argument or not at all from the error message.
In that case, I advise reading the document.
Matz.
-
09:03 AM Misc #19740 (Closed): Block taking methods can't differentiate between a non-local return and a throw
- Unlike other languages e.g., C++ or Java, Ruby's `throw` is for non-local **return**, so that there's no reason to treat `return` and `throw` differently.
Use exceptions to represent failures. I understand this issue was caused by `time... -
08:59 AM Feature #19846 (Closed): Extend warnings message of bundled gems for gem author
- This is my task reminder. The current warnings feature of bundled gems only notice for Gemfile.
Like this:
```
$ cat Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
gem "activesupport"
```
```
$ bun... -
08:40 AM Bug #19779: `eval "return"` at top level raises `LocalJumpError`
- Since we allow top-level return (from 2.4), it is nice to allow this too. But to be frank, it is low priority.
Matz.
-
07:06 AM Revision e777064e (git): Revert "Re-apply "Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)" (#8252)"
- This reverts commit 788b03d5ba82fd8b35ce1fe2618ce6bacc648333.
-
05:14 AM Revision fbe7962b (git): [ruby/open-uri] Close leaked files
- https://github.com/ruby/open-uri/commit/c52ee9e430
-
03:21 AM Revision 7e0d2c61 (git): [DOC] RDoc for Process (#8253)
-
03:20 AM Bug #19845 (Closed): `Fiber[key] = value` fails if key is not interned.
-
03:20 AM Bug #19845: `Fiber[key] = value` fails if key is not interned.
- Fixed in <https://github.com/ruby/ruby/commit/d4c720a91bc7bb9ff31810e1720acffb939f7a2f>.
-
01:33 AM Bug #19845 (Closed): `Fiber[key] = value` fails if key is not interned.
- See https://github.com/ruby/ruby/pull/8273 for the fix.
- 03:19 AM Revision d4c720a9 (git): Fix support for dynamic keys. (#8273)
- * Skip RBS test.
-
02:54 AM Bug #14543 (Closed): `make commit` show error of `common-srcs`
- svn.ruby-lang.org is already retired.
08/23/2023
-
11:46 PM Bug #12500 (Closed): TestProcess#test_aspawn_too_long_path fails on mips with "argument too big"
- Applied in changeset commit:git|bd22bb259c183b91656bea72899fe91c31aeb44e.
----------
Handle Array#* raising ArgumentError in test
Treat ArgumentError as NoMemoryError, so it will resize the array
and try again.
Fixes [Bug #12500] -
08:16 PM Bug #12500: TestProcess#test_aspawn_too_long_path fails on mips with "argument too big"
- I submitted a pull request to handle this ArgumentError: https://github.com/ruby/ruby/pull/8270
-
11:46 PM Revision bd22bb25 (git): Handle Array#* raising ArgumentError in test
- Treat ArgumentError as NoMemoryError, so it will resize the array
and try again.
Fixes [Bug #12500] -
11:35 PM Bug #16492 (Closed): TestBugReporter#test_bug_reporter_add test failures
- I checked all recent ruby-master failures in the RHEL 7.1 s390 CI (http://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/recent.html), and none show this issue. Considering this error was occuring in 90% of cases, since it hasn't happe...
-
11:23 PM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
- I submitted a pull request to disable `__builtin_setjmp` for Linux aarch64: https://github.com/ruby/ruby/pull/8272
-
11:22 PM Bug #16288 (Closed): Segmentation fault with finalizers, threads
- davidw (David Welton) wrote in #note-7:
> ```
> ...
I checked and now we have `vm_check_ints_blocking(th->ec);` in that spot, so I think this is fixed. -
10:54 PM Bug #15428 (Feedback): Refactor Proc#>> and #<<
-
10:47 PM Revision ce79887d (git): The first arg of NEW_KW_ARG macro is always 0
-
10:38 PM Bug #14971 (Closed): error: implicit declaration of function ‘rb_vm_call0
-
10:38 PM Bug #14957 (Closed): MinGW, gcc 8.2.0, bootstraptest test_thread.rb - failure ?
-
10:30 PM Bug #14906 (Closed): MinGW failure - TestIO#test_copy_stream_no_busy_wait
-
10:27 PM Bug #19792: arm の alpine 上でネストしたハッシュに長い文字列を入れると segmentation fault が発生する
- ご丁寧にありがとうございます。
-
10:16 PM Bug #19792 (Closed): arm の alpine 上でネストしたハッシュに長い文字列を入れると segmentation fault が発生する
- Applied in changeset commit:git|2214bcb70d9f9120f1f3790ca340236c8f080991.
----------
Fix premature string collection during append
Previously, the following crashed due to use-after-free
with AArch64 Alpine Linux 3.18.3 (aarch64-linux-... -
10:10 PM Bug #14679 (Closed): StdLib gems should properly specify their dependencies
-
10:10 PM Bug #16951 (Closed): Consistently referer dependencies
-
10:07 PM Revision 2214bcb7 (git): Fix premature string collection during append
- Previously, the following crashed due to use-after-free
with AArch64 Alpine Linux 3.18.3 (aarch64-linux-musl):
```ruby
str = 'a' * (32*1024*1024)
p({z: str})
```
32 MiB is the default for `GC_MALLOC_LIMIT_MAX`, and the crash
could be d... -
09:32 PM Revision d7f1ea71 (git): Quarantine a very flaky spec
- https://github.com/ruby/ruby/actions/runs/5956398507/job/16157091112
This has been extremely flaky on macOS GitHub Actions.
Benoit suggested to quarantine it if it's too problematic (it is) and
there's no reasonable fix in a short time ... -
09:30 PM Bug #19238 (Closed): URI.open fails for file path when second argument is a hash
- Applied in changeset commit:git|43c2c1ed4814c6e1f0d0d0ec88641e12bf5aa290.
----------
[ruby/open-uri] Make URI.open pass keywords
Fixes [Bug #19238]
https://github.com/ruby/open-uri/commit/f636d01b85 -
09:30 PM Revision 43c2c1ed (git): [ruby/open-uri] Make URI.open pass keywords
- Fixes [Bug #19238]
https://github.com/ruby/open-uri/commit/f636d01b85 -
09:22 PM Revision 544488f1 (git): Improve comments in sync_default_gems
-
09:16 PM Revision cdbc70d0 (git): [ruby/yarp] Match EOF after newline behavior
- in Ripper EOL after whitespace is returned as a on_nl node with the whitespace as the content
k0kubun: This is a resync of 9aca3528aa1a1545468a508b02b77bc922bb7321.
git.ruby-lang.org had an old git version and the diff was wrong.
It now... -
08:56 PM Revision 455297d6 (git): Use https for remotes by default
- I was testing this script on git.ruby-lang.org to use its git version,
but it did not work because the server's default user doesn't have SSH
keys.
https works for everyone, so it's a safer default. You shouldn't need to
push to that re... -
08:43 PM Revision c6a07cc3 (git): Ignore more files for other gems as well
- e.g. bin/ for reline that was included in its last commit.
-
08:35 PM Revision eb795b03 (git): Avoid sync rule duplication between YARP and others
-
08:11 PM Bug #14474 (Closed): skip "TestException#test_thread_signal_location" as known bug
- This test has not been skipped since commit:5ec3450438150e7cb05422c04dc18901161a13ea in January 2022, and I don't think this has been a problem since, so I'm closing this.
-
08:07 PM Bug #14422 (Closed): Ruby configuration options should not be reused for gem builds
- vo.x (Vit Ondruch) wrote in #note-8:
> Unfortunately, this does not address the original issue. So is there any hope this will be improved upstream? I would like to avoid some rbconfig.rb hacks to remove the configuration flags in quest... -
07:32 PM Bug #14418 (Closed): ruby 2.5 slow regexp execution
- Thanks to very impressive work by @makenowjust, this issue has been fixed in Ruby 3.2.
-
07:28 PM Bug #14064 (Closed): test-all with and without -j - incorrect assertions and missing test methods
- It looks like a fix for this was committed in commit:dd3851d2786412de019350a11e749c56fa5a07cc
-
07:22 PM Bug #14049 (Closed): SEGV svn 60401 require_relative
-
07:20 PM Bug #13644 (Closed): Windows - Setting Time.now
-
07:19 PM Bug #13571 (Closed): Script arguments, encoding, windows / MinGW
- Starting in Ruby 3.0, arguments provided to Ruby (in `ARGV`) are now in correct UTF-8 encoding.
-
07:07 PM Bug #13542 (Closed): MinGW trunk Builds - Summary of Issues
-
07:06 PM Misc #12595 (Closed): Documentation
-
07:06 PM Bug #13500 (Closed): MinGW TestArity#test_proc_err_mess stops testing
-
07:03 PM Bug #13269 (Closed): test/readline/test_readline.rb and mingw
- The readline extension was removed in commit:59fd67fc3d405e529e038172e769ff20a8fb5535. If this is still an issue, please file it upstream: https://github.com/ruby/readline-ext
-
06:29 PM Revision f33c412e (git): [ruby/yarp] Constant paths followed by an & should be lexed as a call
- https://github.com/ruby/yarp/commit/b0a2ba2c4d
-
06:20 PM Revision cedb3330 (git): Stop incrementing `jit_entry_calls` once threshold is hit
- Otherwise the ISeq page will constantly be written
into preventing it from being shared. -
06:06 PM Revision 24bcd494 (git): [ruby/yarp] Fix first method param lex failures
- When Ripper encounters a method parameter that is the first
parameter and is an identifier and it shadows a local scope, it
incorrectly marks it as END|LABEL (because it think it's a local).
We need to account for that in the lex compat... -
05:59 PM Revision 5766fb72 (git): Fix gdb.py for C frames [ci skip]
-
05:52 PM Bug #12473 (Closed): Test failure on fedora with TestTimeExtension#test_huge_precision
-
05:23 PM Revision 9aca3528 (git): [ruby/yarp] Match EOF after newline behavior
- in Ripper EOL after whitespace is returned as a on_nl node with the whitespace as the content
https://github.com/ruby/yarp/commit/be16d1deed -
05:20 PM Revision 77484528 (git): Change yjit stats list to be a unordered list
- Without using a list, this show as a single paragraph with all stats descriptions being in one single line
-
04:07 PM Revision c837e1ad (git): [ruby/yarp] Add LABEL lex state when lexing a keyword params
- https://github.com/ruby/yarp/commit/422bcd0ebf
-
03:42 PM Revision 9c43ec62 (git): [ruby/yarp] fix: newline tracking for a comment at EOF
- https://github.com/ruby/yarp/commit/62fb0bddf5
-
03:40 PM Revision 8f0a8e57 (git): [ruby/yarp] Remove unnecessary loop
- https://github.com/ruby/yarp/commit/86e8741ee3
-
03:10 PM Revision b4bc047f (git): YJIT: Implement VM_CALL_ARGS_BLOCKARG with Proc for ISeq calls
- Rack uses this. Speculate that the `obj` in `the_call(&obj)`
will be a proc when the compile-time sample is a proc.
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisv... -
03:08 PM Revision f902df12 (git): [ruby/yarp] refactor: extract `peek_addr()`
- In many places in the code we use the idiom:
x < parser->end && *x == 'y'
which is essentially an extension of an existing pattern:
- `peek()` looks at `parser->current.end`
- `peek_at()` looks at `(parser->current.end + offset)`
... -
02:34 PM Revision 58c1ebb6 (git): Fix guard-heap upgrades (#8264)
- * Fix guard-heap upgrades
`getinstancevariable` was generating more heap guards than I thought.
It turns out that the upgrade code has a bug in it.
Given the following Ruby code:
```ruby
class Foo
def initialize
@a = 1
@b = ... -
02:20 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- This bug is unrelated to YJIT, it happens with or without YJIT enabled. It thus cannot explain what you are seeing.
As for memory usage with YJIT, what you are describing isn't out of the ordinary. The default `--yjit-exec-mem-size` i... -
01:48 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
- Hi,
Will this be backported to 3.2?
I'm currently seeing this in production on a large Rails app: when YJIT is enabled, after usual initial warmup, unicorn workers memory usage continue to grows linearly until reaching a significant ... -
02:09 PM Revision 448ff162 (git): [DOC] Adding font usage to doc guide (#8255)
-
10:40 AM Revision 129663c4 (git): tool/lib/output.rb: Make `--color` option like GNU coreutils
-
10:40 AM Revision de4a1ca7 (git): tool/lib/output.rb: Add `--create-only` and `--overwrite` options
-
10:40 AM Revision f1c6da65 (git): tool/lib/output.rb: Add `--no-color` option
-
08:28 AM Feature #19785: Deprecate `RUBY_GC_HEAP_INIT_SLOTS`
- > RUBY_GC_HEAP_INIT_PAGES will allocate pages to size pools based on the distribution of objects at boot, and I worry that it will be a different distribution than serving requests.
Unless the GC become capable of reusing an empty pag... -
01:44 AM Feature #19785: Deprecate `RUBY_GC_HEAP_INIT_SLOTS`
- > How to know %d part?
The `%d` part is the sizes returned from `GC.stat_heap`. On 64-bit systems, it's 40, 80, 160, 320, 640. On 32-bit systems it's 20, 40, 80, 160, 320.
> ...
You use `RUBY_GC_HEAP_INIT_SIZE_40_SLOTS=4000000` to ... -
01:11 AM Feature #19785: Deprecate `RUBY_GC_HEAP_INIT_SLOTS`
- Sorry I didn't know about `RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS`
* How to know `%d` part?
* How to tune the value?
* it seems difficult to set it compare with setting 1 init value.
Another idea is to introduce `RUBY_GC_HEAP_INIT_PAG... -
07:12 AM Bug #10416: Create mechanism for updating of Unicode data files downstreams when we want
- The next version of Unicode (15.1) will be released in about 3 weeks. I'll check at that point, and close if no longer relevant.
-
04:56 AM Revision e89150b1 (git): Render YARP templates into the build directory (#8266)
-
04:56 AM Bug #19005 (Closed): Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
-
04:49 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
- We can close this now that XCode 14.3, which ships with clang 14.0.3, now fixes this issue: https://github.com/python/cpython/issues/97524#issuecomment-1458855301
-
04:45 AM Bug #11269 (Closed): ruby_init_setproctitle() should be called before require_libraries()
- Applied in changeset commit:git|347993e95c4604d6c9460b64bb28c9b4f442531c.
----------
Call ruby_init_setproctitle before process_options
Fixes [Bug #11269] -
04:45 AM Revision 347993e9 (git): Call ruby_init_setproctitle before process_options
- Fixes [Bug #11269]
-
04:09 AM Revision b92d599e (git): Fix typo in anonymous class string
- If anonymous was shorted it should be `anon` not `annon`. Fixes typo in
APPEND_S for anonymous classes. -
01:36 AM Feature #19783: Weak References in the GC
- I ran the benchmark you wrote in #19436. On my machine it looks like this branch is a little bit slower:
Branch:
```
ruby 3.3.0dev (2023-08-18T19:42:54Z weak-ref-gc 21d00dd558) [arm64-darwin22]
10.663139 4.448306 15.111445 ( ... -
01:22 AM Feature #19783: Weak References in the GC
- > [Bug #19436] is fixed by checking inline method cache data structures.
Thank you for fixing the bug.
An issue that was brought up to me by the [MMTk team](https://www.mmtk.io/) (the people who are working on implementing alternat... -
01:06 AM Feature #19783: Weak References in the GC
- * [Bug #19436] is fixed by checking inline method cache data structures.
* So the rest motivation is to support weak reference natively and I don't against about it.
* I have two concerns.
1. memory allocation during GC
Allocat... -
12:19 AM Feature #19842: Introduce M:N threads
- byroot (Jean Boussier) wrote in #note-18:
> > `Thread#lock_native_thread` may be what you want.
> ...
A locked NT (DNT) is not counted.
> We named locked NT as dedicated native threads (DNT) and other NT as shared native threads (SN...
08/22/2023
-
10:59 PM Revision 00054de6 (git): Remove nd_entry from NODE_GASGN and NODE_GVAR
- After a0f12a0258e4020bd657ee80b7d8f22bd33ea223 NODE_GASGN and
NODE_GVAR hold same value on both nd_vid and nd_entry.
This commit stops setting value to nd_entry and makes to use only
nd_vid. -
10:43 PM Revision ff552389 (git): YJIT: x64: Split mem-to-mem Insn::Store like Insn::Mov
- The ARM backend allows for this so let's make x64 consistent.
-
10:35 PM Feature #14579: Hash value omission
- Has it been considered to ever expand this feature to allow instance variables and global variables. Or was it strictly reserved for local variables intentionally, to avoid incompatible or dangerous behavior?
Thanks for adding this r... -
10:33 PM Bug #12725: Trying to use ./miniruby before it exists
- @duerst Have you seen this issue reoccur since it was initially posted? If not, do you think this can be closed?
-
10:29 PM Bug #11526: Streaming HTTP requests are not idempotent and should not be retried
- A fix for this has been submitted as an upstream pull request: https://github.com/ruby/net-http/pull/87
-
10:05 PM Bug #11174 (Closed): threads memory leak
-
10:01 PM Bug #10580 (Closed): TestProcess#test_deadlock_by_signal_at_forking fails on ARM
-
09:58 PM Bug #10416: Create mechanism for updating of Unicode data files downstreams when we want
- @duerst Do you think this can be closed?
-
09:50 PM Bug #9507 (Closed): Ruby 2.1.0 is broken on ARMv5: tried to create Proc object without a block
-
09:47 PM Bug #9955 (Closed): issue building dll on mingw, library not found
-
09:36 PM Revision c23e2e19 (git): YJIT: add code_region_overhead stat output (#8262)
-
09:19 PM Revision 2d750697 (git): [ruby/yarp] Use require_relative for yarp/ffi
- https://github.com/ruby/yarp/commit/c0598f8805
-
09:12 PM Bug #9435 (Rejected): Kernel.system problem
- I don't think this is a bug in Ruby, it is a general issue with Windows. As @nobu mentioned, you shouldn't use quotes in `PATH`. See https://serverfault.com/questions/349179/path-variable-and-quotation-marks-windows/349216#349216
-
09:05 PM Bug #8782 (Closed): Don't set rl_getc_function on editline
- Readline support was removed in commit:59fd67fc3d405e529e038172e769ff20a8fb5535. If this is still an issue, please file it upstream https://github.com/ruby/readline-ext
-
08:44 PM Bug #7859 (Closed): Readline: Incorrect arrow key behavior in vi_editing_mode insert mode with Readline 6.2
- Readline was removed from Ruby in commit:59fd67fc3d405e529e038172e769ff20a8fb5535. If this is still an issue, please file it upstream: https://github.com/ruby/readline-ext/issues
-
08:43 PM Bug #7840 (Closed): -Wdeclaration-after-statement is valid for C/ObjC but not for C++
- Looking at recent Ruby versions:
* `-Wimplicit-function-declaration` is in `warnflags`
* `warnflags` is included in `cflags`
* `cflags` is included in `CFLAGS` but not `CXXFLAGS`
* C++ compilation rules use `CXXFLAGS` and not `CFLA... -
08:31 PM Revision 837c12b0 (git): Use STR_EMBED_P instead of testing STR_NOEMBED
-
07:13 PM Bug #19844 (Feedback): Ruby 3.2 fails to build with openssl version 3
- Ruby version 3.2 code base: https://github.com/ruby/ruby/tree/1c7624469880bcb964be09a49e4907873f45b026
openssl v3 is installed under /usr/local_ssl_3.0.0.
```
./configure --with-openssl-dir=/usr/local_ssl_3.0.0
```
I get the f... -
06:04 PM Revision 9b373fb4 (git): [ruby/yarp] Fix small typo in templating to specify where template comes from
- https://github.com/ruby/yarp/commit/96d69ceef6
-
02:46 PM Revision 7127f39b (git): Add notes and name a magic number
-
01:43 PM Feature #19842: Introduce M:N threads
- > `Thread#lock_native_thread` may be what you want.
Well, it depends if locked thread are counted as part of `RUBY_MAX_PROC` or not. If not then yes that would be what I want.
> ...
Ah, I indeed missed that. Thank you. The idea wou... -
08:53 AM Feature #19842: Introduce M:N threads
- byroot (Jean Boussier) wrote in #note-16:
> Another question I have is around being able to opt-out of N:M for a specific thread.
> ...
may be what you want.
> > how to switch the behavior
> ...
You can try your application with:
... -
08:40 AM Feature #19842: Introduce M:N threads
- > `rb_thread_local_aref`
Ah, I totally missed that API, thank you.
Another question I have is around being able to opt-out of N:M for a specific thread.
e.g if you have something like:
```ruby
$background_check = Thread.new ... -
07:00 AM Feature #19842: Introduce M:N threads
- byroot (Jean Boussier) wrote in #note-14:
> > Thread Local Storage issue
> ...
```C
VALUE rb_thread_local_aref(VALUE thread, ID key);
VALUE rb_thread_local_aset(VALUE thread, ID key, VALUE val);
```
are exposed.
Anyway I bel... -
06:26 AM Feature #19842: Introduce M:N threads
- > Thread Local Storage issue
Is there any plan to expose a c API to store data on the Ruby thread to replace the native APIs?
Locking to a native thread is fine for making old code compatible, but if we wish to upgrade that code to... -
01:01 AM Feature #19842: Introduce M:N threads
- > Ok. So Ruby Threads and Ractors will both share time on native threads. The difference being that Ractors can run in parallel and Ruby Threads that belong to the same Ractor cannot. I guess we kind of have that with cached pthreads rig...
-
12:55 AM Feature #19842: Introduce M:N threads
- > Hoping my guess was correct, I'm not quite sure what "2 level scheduling" means though. Is it just that the single-ractor mode applies some optimization (what is it?) instead of reusing the scheduler for the multi-ractor mode? To me, i...
-
12:50 AM Feature #19842: Introduce M:N threads
- > Ruby threads of a Ractor is managed by 1:N threads
is also typo (updated)
"Ruby threads of a Ractor is managed by M:1 threads" -
12:47 AM Feature #19842: Introduce M:N threads
- > We can run N ractors on N native threads simultaneously if the machine has N cores.
Sorry it was typo (updated).
"We can run M ractors on N native threads simultaneously if the machine has N cores."
-
12:45 AM Feature #19842: Introduce M:N threads
- tenderlovemaking (Aaron Patterson) wrote in #note-2:
> ko1 (Koichi Sasada) wrote:
> ...
You are right.
The reason is:
> On the multiple Ractors, N (+ alpha) native threads run M ractors. Now there is no way to disable M:N threads... -
12:21 AM Feature #19842: Introduce M:N threads
- k0kubun (Takashi Kokubun) wrote in #note-3:
> > when M:N is enabled, threads become green threads, and Ractors are truly parallel (but CPU time is divided among N threads)
> ...
Ok. So Ruby Threads and Ractors will both share time on n... -
12:10 AM Feature #19842: Introduce M:N threads
- > when M:N is enabled, threads become green threads, and Ractors are truly parallel (but CPU time is divided among N threads)
I thought he used `[num_ractors]:[num_native_threads]` for "1:N threads" as well (neither 1 nor N is the numbe... -
01:38 PM Misc #19772: API naming for YARP compiler
- I think `YARP` is already too widely used and talked about to be renamed without causing significant confusion and downsides.
In fact the gem already has [multiple releases](https://rubygems.org/gems/yarp).
> I don't think "YA-" name... -
05:06 AM Misc #19772: API naming for YARP compiler
- If the motivation of this API is testing YARP compilation to ISeq, I agree to introduce `ISeq.compile_yarp` to Ruby 3.3 and remove it from Ruby 3.4.
(Note that the name `YARP` is renaming one)
Because if YARP is introduced as the MRI... -
12:50 PM Feature #19777: Make `Kernel#lambda` raise when called without a literal block
- The ship has sailed, but I should at least mention I am disappointed at this turn of things. Again deprecating things for no concrete benefit. How ironic that #15973 started with "change Kernel#lambda so it always returns a lambda" and e...
-
11:01 AM Revision 0ed3624c (git): Wrap nd_head in node dump message with brackets
-
05:36 AM Feature #19843 (Closed): Promote bigdecimal as bundled gems at Ruby 3.4
- Applied in changeset commit:git|1c93288f8bbf667cb95eb7137b2fe64213894b77.
----------
Added bigdecimal to warning targets for the bundled gems.
[Bug #19843] -
03:17 AM Feature #19843: Promote bigdecimal as bundled gems at Ruby 3.4
- @hsbt I agree with you. I've wanted to make bigdecimal a bundled gem for a long time but I didn't have much time to work for it. Thank you very much.
-
03:10 AM Feature #19843 (Closed): Promote bigdecimal as bundled gems at Ruby 3.4
- I triaged target list for bundled gems at https://bugs.ruby-lang.org/issues/19351.
After that, I resolved bigdecimal dependency from our test suite at https://github.com/ruby/ruby/commit/3ef6364a988ab24ca7fdbb7d1b6840b2a40f1466
I p... -
05:35 AM Revision 1c93288f (git): Added bigdecimal to warning targets for the bundled gems.
- [Bug #19843]
-
05:04 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- I would say only a file if the environment variable is set, with perhaps just a message on stderr saying the report was written into that path.
But I don't have a strong opinion about this, if others think it should be written in both... -
05:02 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- Does it print to both STDERR and a file? or only to a file?
-
04:46 AM Revision ceafdb5a (git): Place -a in the correct location [ci skip]
- It doesn't use optparse, so the location is not flexible.
- 04:46 AM Revision ccc80043 (git): Update default gems list at eec7a3f9ee0a40f4f5e22e0131c3ac [ci skip]
-
04:45 AM Revision eec7a3f9 (git): [ruby/erb] Version 4.0.3
- https://github.com/ruby/erb/commit/c594f2fb86
-
04:45 AM Revision be889b6d (git): Add a forgotten default value for ignored_paths
- 04:41 AM Revision 0955ca34 (git): [ruby/erb] Enable frozen_string_literal in all files
- (https://github.com/ruby/erb/pull/49)
I was surprised to see erb show up when I was using memory_profiler on
my app. ERB::Compiler#compile has a blank string literal, and it
ended up allocating some 41532 blank strings for a relatively ... -
03:12 AM Misc #19766: DevMeeting-2023-08-24
- * [Bug #19843] Promote bigdecimal as bundled gems at Ruby 3.4
* mrkn: Is it okay? - 01:25 AM Revision 4a8d7246 (git): zlib 1.2.13 is gone from zlib.net
08/21/2023
-
11:50 PM Feature #19842: Introduce M:N threads
- ko1 (Koichi Sasada) wrote:
> This ticket proposes to introduce M:N threads to improve Threads/Ractors performance.
> ...
Should this be "M ractors on N native threads"? It sounds like Ractors are not 1:1 with threads in this design.
... -
08:41 PM Feature #19842 (Closed): Introduce M:N threads
- This ticket proposes to introduce M:N threads to improve Threads/Ractors performance.
## Background
Ruby threads (RT in short) are implemented from old Ruby versions and they have the following features:
* Can be created with si... -
11:36 PM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
- Applied at https://github.com/ruby/ruby/commit/788b03d5ba82fd8b35ce1fe2618ce6bacc648333.
-
11:33 PM Revision 788b03d5 (git): Re-apply "Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)" (#8252)
- * Re-apply "Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)"
* [CI] mingw.yml - remove IBM437 encoding for test-all, use cmd shell for test & test-all
* Skip failing test on mingw with readline.so
Co... -
08:43 PM Misc #19766: DevMeeting-2023-08-24
- * [Feature #19842] Introduce M:N threads (ko1)
* Do you have any questions about it?
-
08:30 PM Revision 925ce3f4 (git): Skip commits that are empty after conflict resolution
-
08:24 PM Revision eee83af3 (git): Update yjit.md, document `--yjit-stats=quiet`
-
08:17 PM Revision 2502821a (git): Exclude docs/ from YARP sync
- 08:14 PM Revision b9ef8191 (git): [rubygems/rubygems] Support `ruby file: ".tool-versions"` in Gemfile
- (https://github.com/rubygems/rubygems/pull/6898)
Supports .tool-versions (ASDF) by checking for a line starting with "ruby"
before falling back to reading the entire file, as in .ruby-version.
https://github.com/rubygems/rubygems/commi... -
07:00 PM Revision 95e29b04 (git): [ruby/yarp] fix: avoid invalid memory read when CR is present without LF
- https://github.com/ruby/yarp/commit/2296c037de
-
07:00 PM Revision 461f8eab (git): [ruby/yarp] fix: parsing a '%' expression with a CR but not a newline
- Previously this failed an assertion and aborted.
https://github.com/ruby/yarp/commit/a037d942a8 -
06:23 PM Revision ca6db02c (git): [ruby/irb] Avoid overriding user's `irb_name` setting in debugger
- integration
(https://github.com/ruby/irb/pull/688)
* Avoid overriding user's irb_name setting in debugger integration
Instead of always setting `irb_name` to `irb:rdbg`, it should respect
the user's setting and only append `:rdbg` to i... -
05:45 PM Revision 7d26c032 (git): Manually resync YARP
- YARP commits were synced out of order. We are doing this reset
commit to ensure that all files are currently correct and we can
proceed with monitoring syncs so this doesn't happen again. -
05:43 PM Revision 2cecd3c8 (git): [ruby/yarp] fix: newline tracking for nl-terminated % %q %Q
- https://github.com/ruby/yarp/commit/1e4940864b
-
05:43 PM Revision 9ca547b9 (git): [ruby/yarp] prefactor: extract yp_newline_list_check_append
- https://github.com/ruby/yarp/commit/149c74291b
-
05:43 PM Revision 926857eb (git): [ruby/yarp] fix: support newline-terminated regular expressions
- Previously, parsing a snippet like this:
%r\nfoo\n
would result in tracking the second newline twice, resulting in a
failed runtime assertion.
Fixing that issue reveals another bug, which is that the _first_
newline was not being ... -
05:43 PM Revision e63bac31 (git): [ruby/yarp] Rename statements to body where appropriate
- https://github.com/ruby/yarp/commit/0aa7d9d10c
-
05:43 PM Revision a7f40fc2 (git): [ruby/yarp] Change AndWriteNode, OrWriteNode, OperatorWriteNode to contain write nodes
- It makes it more difficult to find all locations where a variable
is written to if they're just read nodes. To keep things consistent
we should make them write nodes.
https://github.com/ruby/yarp/commit/840e094045 -
05:43 PM Revision 988b0108 (git): [ruby/yarp] Consolidate OperatorAndWrite and OperatorOrWrite nodes
- https://github.com/ruby/yarp/commit/9e680a7598
-
05:43 PM Revision 339b34be (git): [ruby/yarp] handle missing HEREDOC endline at start of heredoc
- https://github.com/ruby/yarp/commit/7b72493b6d
-
05:43 PM Revision 4fb2b3b6 (git): [ruby/yarp] Ensure correct location with if/elsif, allow FOCUS env var, fix newlines on __END__
- https://github.com/ruby/yarp/commit/9da0bc4452
-
05:43 PM Revision 0fd57ee0 (git): [ruby/yarp] Handle interpolated regular expressions with the o flag for locals checking
- https://github.com/ruby/yarp/commit/db95191207
-
05:43 PM Revision 524d99da (git): [ruby/yarp] Update to latest unparser
- https://github.com/ruby/yarp/commit/5ba7394261
-
05:43 PM Revision 289c0da5 (git): [ruby/yarp] Update to latest whitequark
- https://github.com/ruby/yarp/commit/3607efb01d
-
05:33 PM Revision 05c59995 (git): [ruby/yarp] fix: newline tracking for nl-terminated % %q %Q
- https://github.com/ruby/yarp/commit/1e4940864b
-
05:33 PM Revision dcc8afe9 (git): [ruby/yarp] prefactor: extract yp_newline_list_check_append
- https://github.com/ruby/yarp/commit/149c74291b
-
05:32 PM Revision 67cd60ed (git): Manually move files from test/snapshots to test/yarp/snapshots
-
04:52 PM Revision 817ffa8e (git): YJIT: Remove unnecessary roundtrip conversion
-
04:42 PM Misc #19772: API naming for YARP compiler
- We have reflected on the name YARP and would like to propose Prism as a new name for the external API. The parser is similar to a prism because it takes Ruby code as input and returns it “refracted” into an AST. Also, [the existing prism...
-
04:22 PM Revision ac819f4d (git): [ruby/yarp] fix: support newline-terminated regular expressions
- Previously, parsing a snippet like this:
%r\nfoo\n
would result in tracking the second newline twice, resulting in a
failed runtime assertion.
Fixing that issue reveals another bug, which is that the _first_
newline was not being ... -
04:20 PM Revision f83c1d62 (git): [ruby/yarp] Update to latest seattlerb
- https://github.com/ruby/yarp/commit/d5365f08d0
-
04:20 PM Revision 0c614063 (git): Fix YARP sync
-
03:42 PM Revision 86ac17ef (git): [ruby/irb] Move input processing out of RubyLex
- (https://github.com/ruby/irb/pull/683)
* Add a test case for Ctrl-C handling
* Test symbol aliases with integration tests
There are a few places that also need to check symbol aliases before
`Irb#eval_input`. But since the current com... -
03:25 PM Revision 2929c472 (git): [ruby/yarp] Add a convenience value method for numeric literals
- https://github.com/ruby/yarp/commit/a328f27d8f
-
01:13 PM Revision 196116e5 (git): Refactor rb_ensure_iv_list_size
- We don't really need obj_ivar_heap_alloc and obj_ivar_heap_realloc since
they're just one liners. -
04:46 AM Revision 8326bf1a (git): [rubygems/rubygems] Confirm verification warnings
- Fix up https://github.com/rubygems/rubygems/pull/6882
https://github.com/rubygems/rubygems/commit/71c73ac6d9
08/20/2023
-
05:32 PM Revision 55f930aa (git): [ruby/yarp] Use node kind for Ruby types
- * For example in ProgramNode:
# attr_reader statements: Node
=>
# attr_reader statements: StatementsNode
https://github.com/ruby/yarp/commit/ffed35238c -
05:22 PM Revision 725ca2f9 (git): [ruby/irb] Support `VISUAL` env var, and prefer it over `EDITOR`
- (https://github.com/ruby/irb/pull/686)
* Support `VISUAL` env var, and prefer it over `EDITOR`
* Update test/irb/test_cmd.rb
---------
https://github.com/ruby/irb/commit/399b872c31
Co-authored-by: Stan Lo <stan001212@gmail.com> - 05:17 PM Revision 5c75dc51 (git): Update default gems list at 314ccdd60c5fe3dfa90651d271209e [ci skip]
-
05:16 PM Revision 314ccdd6 (git): [ruby/reline] Bump version to 0.3.8
- (https://github.com/ruby/reline/pull/582)
https://github.com/ruby/reline/commit/3840d1f958 -
05:03 PM Revision 405c295a (git): [ruby/reline] Use fdiv for keyseq_timeout msec to sec conversion
- (https://github.com/ruby/reline/pull/583)
https://github.com/ruby/reline/commit/a6504acd63 -
04:17 PM Bug #19841: Marshal.dump stack overflow with recursive Time
- https://github.com/nobu/ruby/tree/marshal-recursive-userdef
-
02:24 PM Bug #19794: Ruby 3.2.2 fails to build on macOS Sonoma betas
- Thanks for the analysis. I've reported this as FB13016123 in Apple's feedback system.
Diagnosing situations like this would be easier if the configure script did a better job of surfacing the LD warnings. The "something wrong with LDFL... -
05:56 AM Bug #19794: Ruby 3.2.2 fails to build on macOS Sonoma betas
- > ld maintains a list of directories to search for a library or framework to use. The default library search path is /usr/lib then /usr/local/lib. The -L option will add a new library search path. The default framework search path is ...
-
11:12 AM Revision 812272bd (git): Tempfile is not needed
-
11:12 AM Revision f0923164 (git): Align the type of `num_entries` to `st_table`
-
10:40 AM Revision 7c226291 (git): [ruby/reline] Remove Timeout usage
- (https://github.com/ruby/reline/pull/580)
Timeout's implementation relies on Thread, which would conflict with
`ruby/debug`'s thread-freezing implementation and has casued issues like
- ruby/debug#877
- ruby/debug#934
- ruby/debug#1000... - 09:07 AM Revision 35442005 (git): [rubygems/rubygems] fix lint
- https://github.com/rubygems/rubygems/commit/75c0f27b7e
- 09:07 AM Revision 7c4431e6 (git): [rubygems/rubygems] use a one-liner
- https://github.com/rubygems/rubygems/commit/46745885e8
- 09:07 AM Revision e5efa01c (git): [rubygems/rubygems] handle removing `BUNDLE_`, since using start_with? would still include that
- https://github.com/rubygems/rubygems/commit/235d9b38d8
- 09:06 AM Revision f0bf9391 (git): [rubygems/rubygems] Don't rely on globals when not matching regexp for "local."
- https://github.com/rubygems/rubygems/commit/e79ccdafd8
- 09:06 AM Revision b5a0630c (git): [rubygems/rubygems] Use ! methods once we have a new copy of the string. Use .prepend to avoid allocating a new string.
- https://github.com/rubygems/rubygems/commit/2ac35a661f
- 09:06 AM Revision 29aab66e (git): [rubygems/rubygems] call key.to_s once instead of multiple times to save when it's a symbol
- https://github.com/rubygems/rubygems/commit/535feb817c
- 09:06 AM Revision 239e3525 (git): [rubygems/rubygems] Use value.match? only on Strings, which avoids allocating a matchdata, which is not used
- https://github.com/rubygems/rubygems/commit/cbf9ac93d7
- 09:06 AM Revision 598048e3 (git): [rubygems/rubygems] Use .to_s once in the beginning to save allocations if it's a symbol.
- https://github.com/rubygems/rubygems/commit/f8167db8a2
- 09:06 AM Revision e921efa4 (git): [rubygems/rubygems] name is often a symbol, so only to_s once to avoid allocating it multiple times
- https://github.com/rubygems/rubygems/commit/8eac49c429
- 09:06 AM Revision 7cb6cbee (git): [rubygems/rubygems] String#start_with? is faster than regex with beginning boundaries
- https://github.com/rubygems/rubygems/commit/d7cde68034
- 09:06 AM Revision b97e45d0 (git): [rubygems/rubygems] Use ! methods on the array, since it is brand new. The individual keys are also new, so we can use ! methods on each individual one as well.
- https://github.com/rubygems/rubygems/commit/f2e912b9bb
- 09:06 AM Revision 2a61e1dc (git): [rubygems/rubygems] Use Array#union to join these, instead of with | multiple times. This saves allocating 2 arrays
- https://github.com/rubygems/rubygems/commit/48c03b33b7
- 09:06 AM Revision 79b187a4 (git): [rubygems/rubygems] config is a new Hash, and config.values is a new Array. that means we can use bang methods to avoid allocating new copies
- https://github.com/rubygems/rubygems/commit/8bc13fa55f
- 09:05 AM Revision 921c2bba (git): [rubygems/rubygems] ENV.to_h returns a new hash, so we can `select!` it to avoid allocating another hash.
- `String#start_with?` is faster than regex that is bound to the start of
a string.
https://github.com/rubygems/rubygems/commit/9b2006ef09 -
09:05 AM Revision 7e5c3ec5 (git): Update specification.rb
- Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
-
09:05 AM Revision b68be40e (git): [rubygems/rubygems] Use assert_raise instead of assert_raises
- For ruby-core compat
https://github.com/rubygems/rubygems/commit/83aa7b794e -
09:05 AM Revision 1935433f (git): [rubygems/rubygems] Ensure that loading multiple gemspecs with legacy YAML class references does not warn
- Before this, you would get constant redefinition warnings on Psych::DefaultKey
Additionally, ensure the retries wont continue infinitely in the case of the ArgumentError not being caused by Marshal trying to load the undefined classes
... -
09:04 AM Revision f69f775f (git): [rubygems/rubygems] choose_from_list may return nil index since
- https://github.com/rubygems/rubygems/commit/abacb0cb34cd
https://github.com/rubygems/rubygems/commit/5e2e9d6e50 -
04:29 AM Revision d5ffbca5 (git): Move `MKSTR` markers for fake.rb into coments
-
04:26 AM Revision e517ba2e (git): Bump up syntax_suggest-1.1.0
-
03:37 AM Bug #19761: AddressSanitizer fails with Thread and Process
- For `70ce3c8947c7f95897e56b397270c061dd50f280`, I did a fresh build with `-fsanitize=address` CFLAGS, not reproduced. (using M1 macOS 14.0 beta and Xcode 15 beta toolchain) Maybe x86_64 specific issue?
-
12:28 AM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
- @MSP-Greg Thank you for investigations and providing patches! I will handle it soon.
08/19/2023
-
07:47 PM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
- @nagachika
Thanks for your work on this. Please see https://github.com/ruby/ruby/pull/8252 -
06:02 PM Revision 70ce3c89 (git): [rubygems/rubygems] Fix leaked tempfiles
- Fix up https://github.com/rubygems/rubygems/pull/6882
https://github.com/rubygems/rubygems/commit/525b94a89f -
01:30 PM Bug #19841: Marshal.dump stack overflow with recursive Time
- Right, I fear the best we can do is to detect this case and raise a cleaner error.
-
10:12 AM Bug #19841: Marshal.dump stack overflow with recursive Time
- Not only would be data compatibility broken, but I think data created by "remembering" the index of an instance first cannot be loaded.
This is a case specific to `TYPE_USERDEF`.
Instance variables of such types are dumped/loaded via a... -
08:21 AM Bug #19841: Marshal.dump stack overflow with recursive Time
- Hum, this is tricky.
`Time` implements `_dump`, so we enter this branch:
```c
if (rb_obj_respond_to(obj, s_dump, TRUE)) {
VALUE ivobj2 = Qundef;
st_index_t hasiv2;
VALUE encname2;
... -
07:53 AM Bug #19841: Marshal.dump stack overflow with recursive Time
- It repros on 3.0, 3.1 and `master`.
- 01:14 AM Revision 79558738 (git): Update default gems list at bd440bf85d6eff5ecf5132e93a0721 [ci skip]
-
01:14 AM Revision bd440bf8 (git): [ruby/yarp] Bump to version 0.8.0
- https://github.com/ruby/yarp/commit/bfde753702
-
01:04 AM Revision 1d0b627b (git): [ruby/yarp] Rename statements to body where appropriate
- https://github.com/ruby/yarp/commit/0aa7d9d10c
08/18/2023
-
10:27 PM Revision 3dff315e (git): YJIT: Quiet mode when running with `--yjit-stats` (#8251)
- Quiet mode for running with --yjit-stats
-
08:25 PM Revision 07833049 (git): [ruby/yarp] Consolidate operator write nodes
- https://github.com/ruby/yarp/commit/22b287e2b1
-
08:24 PM Revision ec47fc95 (git): [ruby/yarp] Consolidate OperatorAndWrite and OperatorOrWrite nodes
- https://github.com/ruby/yarp/commit/9e680a7598
- 07:14 PM Revision 3d7a0301 (git): [rubygems/rubygems] Resolve ruby version file relative to bundle root
- This is a follow up to https://github.com/rubygems/rubygems/issues/6742.
This change makes it so that the version file is resolved relative to
the Bundle root instead of the working directory.
Why is this useful?
If you run a commnad (... -
06:53 PM Bug #19841 (Closed): Marshal.dump stack overflow with recursive Time
- ``` ruby
#!/usr/bin/env ruby
puts RUBY_VERSION
t = Time.at(0, 1, :nanosecond)
t.instance_variable_set :@itself, t
Marshal.dump(t)
```
Yields a stack overflow error from the `Marshal.dump` call, even though Marshal is expli... -
06:30 PM Revision e1505aeb (git): [ruby/yarp] fix: multiple heredocs with embedded expressions with newlines
- Set heredoc_end to NULL at the start of lexing a heredoc, to avoid
having state from the previous heredoc confuse the parser's current
location.
https://github.com/ruby/yarp/commit/21ee304f0e -
06:05 PM Revision db076d8e (git): [ruby/yarp] handle missing HEREDOC endline at start of heredoc
- https://github.com/ruby/yarp/commit/7b72493b6d
-
05:05 PM Feature #19839: Need a method to check if two ranges overlap
- Related to #16757
-
06:56 AM Feature #19839: Need a method to check if two ranges overlap
- Thank you for your feedback.
> I've made several helpers for this exact same problem, as well as a `Range#merge` in the past.
Yes, `Range` class can have methods such as `Range#merge` but I wanted to start small and see what happen... -
04:24 AM Feature #19839: Need a method to check if two ranges overlap
- What do you expect when it is called with a non-Range object, `TypeError`, same as `cover?` or something else?
-
02:09 AM Feature #19839: Need a method to check if two ranges overlap
- I've made several helpers for this exact same problem, as well as a `Range#merge` in the past. I would very much be in favor of this change.
Example usage from an interview problem, though I have some internal usecases which have done... -
01:30 AM Feature #19839 (Closed): Need a method to check if two ranges overlap
- It would be convenient to have a method that checks if two ranges overlap. For example,
```
(0..10).overlap?(5..15) #=> true
(0..10).overlap?(20..30) #=> false
``` -
04:47 PM Misc #19766: DevMeeting-2023-08-24
- * [Bug #19779] `eval "return"` at top level raises `LocalJumpError` (jeremyevans0)
* Do we want to allow `eval "return"` at top level with the same sematics as `return`?
* [Bug #19749] Confirm correct behaviour when attaching private... - 04:42 PM Revision 744bc4d5 (git): [rubygems/rubygems] Make nil a valid license spec
- https://github.com/rubygems/rubygems/commit/675effb67e
-
04:17 PM Revision 4524aeba (git): YJIT: Fix return type of Integer#/ with T_FIXNUM inputs
- Issue found by running ruby/spec with `--yjit-verify-ctx`. Thanks!
-
02:35 PM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
- Thanks - yeah it’s no problem if it doesn’t get back ported to 3.0.
-
02:32 PM Bug #19837 (Closed): Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
- This updates the backport flags. Note that Ruby 3.0 is in security maintenance, and this doesn't appear to be security related, so it is unlikely to be backported to Ruby 3.0.
-
02:28 PM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
- OK - I hope I've done this right, let me know otherwise :)
* Ruby 3.0: https://github.com/ruby/ruby/pull/8248
* Ruby 3.1: https://github.com/ruby/ruby/pull/8246
* Ruby 3.2: https://github.com/ruby/ruby/pull/8247
Also, I opened a ... -
02:25 PM Revision c8d64199 (git): Refactor ary_make_partial
-
02:05 PM Revision 314eed8a (git): YJIT: implement fast path for integer multiplication in opt_mult (#8204)
- * YJIT: implement fast path for integer multiplication in opt_mult
* Update yjit/src/codegen.rs
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
* Implement mul with overflow checking on arm64
* Fix missing semicolon
* Add ar... -
01:24 PM Revision 724223b4 (git): Don't check for STR_NOEMBED in rb_fstring
- We don't need to check for STR_NOEMBED because the check above for
STR_EMBED_P means that it can never be false. -
12:51 PM Revision 2800d1fd (git): [ruby/yarp] fix: unterminated % in arguments
- https://github.com/ruby/yarp/commit/efb3102369
- 08:21 AM Revision 20106fe2 (git): [rubygems/rubygems] Update SPDX license list as of 2023-06-18
- https://github.com/rubygems/rubygems/commit/3db9165335
-
08:12 AM Revision 57dfd5c2 (git): Revert "Fix tool/update-deps for YARP files"
- This reverts commit 6fff5c5ba23a2790c9d189de82e157c9fa986f96.
Revert "Use $(top_srcdir) entries for mswin (#8244)"
This reverts commit e327bf32bdfa610a0f1834048bb1422de992c073.
Revert "Update dependencies"
This reverts commit aba26a8... -
08:07 AM Revision 6fff5c5b (git): Fix tool/update-deps for YARP files
-
07:48 AM Revision e327bf32 (git): Use $(top_srcdir) entries for mswin (#8244)
- While the $(VPATH) rules live in common.mk, mswin seems to ignore them.
We need to use $(VPATH) for OpenBSD, but we need to use the other one for mswin. -
07:34 AM Revision aba26a88 (git): Update dependencies
-
07:20 AM Revision 2046e054 (git): Use {$(VPATH)} for OpenBSD
- Scratch build on OpenBSD has been failing since 67b5f63e97.
`make; make` works though. (`make` alone doesn't work)
I have no idea what I'm doing, but I do know that this patch fixes
scratch build on an OpenBSD machine.
My best guess is... -
05:12 AM Revision 6a6dacb0 (git): Attempt to recover from YARP sync failures
-
04:47 AM Revision 7a2aeadb (git): Attempt to explain what sync_default_gems_with_commits does [ci skip]
-
04:28 AM Feature #19840 (Feedback): [Proposal] Expand Find pattern to Multiple Find
- Hello! I love Ruby's pattern matching features. I would like to propose an expansion of the Find pattern which allows the selection of multiple matching elements of an array.
I often find myself dealing with data like this:
``` ruby
... -
03:58 AM Bug #19829: Enumerator.product called with keyword arguments raises exception with not precise message
- I submitted a pull request to fix this, by adding an rb_no_keywords_accepted C-API function and using that for both C methods and Ruby methods that do not accept keywords: https://github.com/ruby/ruby/pull/8243
-
03:55 AM Revision 412defc7 (git): [ruby/io-console] Get rid of address of an rvalue on TruffleRuby
- https://github.com/ruby/io-console/commit/653c1cd33f
-
03:55 AM Revision 818ba30e (git): [ruby/io-console] Avoid the influence of special variable `$/`
- https://github.com/ruby/io-console/commit/5f71354332
-
03:55 AM Revision cff80587 (git): [ruby/io-console] Ensure to put a newline after password
- https://github.com/ruby/io-console/commit/15e36af171
-
03:55 AM Revision 528da434 (git): [ruby/io-console] Flush after prompt
- https://github.com/ruby/io-console/commit/040a1d6259
-
03:55 AM Revision 540cf432 (git): [ruby/io-console] Enable `getpass` methods always
- https://github.com/ruby/io-console/commit/57f9649df4
-
01:17 AM Revision 1bbce429 (git): [ruby/io-console] [DOC] Remove a trailing space from the prompt too
- https://github.com/ruby/io-console/commit/85a155f25f
-
01:15 AM Revision 1107cfd0 (git): [ruby/io-console] * remove trailing spaces [ci skip]
- https://github.com/ruby/io-console/commit/a0544eb74f
-
01:02 AM Revision 43802a08 (git): [ruby/io-console] [DOC] IO::console.getpass usage example
- There were no clear example of this very useful method's usage anywhere
in the IO or IO::Console docs, which was a shame.
https://github.com/ruby/io-console/commit/4d324586a8 -
12:58 AM Revision ad2bad4a (git): Fix the scope of rubygems conflict resolution
- The `git reset` and `rm_rf` are not necessary because `bundler/` is
considered as a `toplevels` and removed from the commit when there's
no conflict.
For conflict cases, it's useful to remove them from the conflict targets
before moving... -
12:55 AM Revision 434cbc05 (git): Document the existence of sync_default_gems.rb -a [ci skip]
-
12:06 AM Revision 995fd11b (git): [ruby/yarp] Remove strange :"#arg_rest" local
- https://github.com/ruby/yarp/commit/66ecec218d