Activity
From 05/18/2024 to 05/24/2024
05/24/2024
-
09:33 PM Misc #20509 (Open): Document importance of #to_ary and #to_hash for Array#== and Hash#==
- Both `Array#==` and `Hash#==` provide special behaviour in case the `other` argument is not an Array/Hash but defines the special `#to_ary`/`#to_hash` methods. Those methods are never called, they are just checked for existence. And if t...
-
09:31 PM Feature #20508: Explicit access to *, **, &, and ...
- Implementing this would require removing recent and planned optimizations to avoid allocations that take advantage of the fact that `*` and `**` are not directly accessible as objects, only passable as splats.
> I'm not sure how to ac... -
09:14 PM Feature #20508 (Open): Explicit access to *, **, &, and ...
- I find debugging and certain meta-programming tasks challenging because there's no explicit APIs for accessing certain types of arguments in Ruby.
Here's some example code:
```ruby
def splats(one, *, two: nil, **, &)
# These wo... -
09:04 PM Feature #20205: Enable `frozen_string_literal` by default
- I was going to say this is MRI, not Rubinius, but it turns out chilled strings actually have a bug in MRI when used as Hash keys
```ruby
k = "key"
h = {}
h[k] = 42
k << "!" #warning: literal string will be frozen in the future
p h... -
01:19 PM Feature #20205: Enable `frozen_string_literal` by default
- To give a concrete example, Hash would be broken if it calls frozen? for string keys. That's the case on Rubinius: https://github.com/rubinius/rubinius/blob/84368419a49767ef9549a5778812e5f54b6c6223/core/hash.rb#L54-L56
So the pattern of... -
12:46 PM Feature #20205: Enable `frozen_string_literal` by default
- @Dan0042 @headius mentioned a few above.
It also seems pretty bad that an object could `frozen? => true` and then become unfrozen, I think that alone could cause very tricky and serious bugs (e.g. it would break custom hash tables). -
12:42 PM Feature #20205: Enable `frozen_string_literal` by default
- > avoiding the false positive on the `str.dup if str.frozen?` pattern
`+str` seems a good replacement for that pattern.
Besides, I would think it's pretty rare that it's OK to use that pattern, because it mutates a String that is not... -
12:27 PM Feature #20205: Enable `frozen_string_literal` by default
- This is quite unfortunate, as there is not a single useful case for frozen? -> false
Oh well :-/ - 09:04 PM Revision 4d0c5486 (git): [rubygems/rubygems] update cache checksums to decrease string allocations
- https://github.com/rubygems/rubygems/commit/85371a961a
-
07:52 PM Misc #20507: Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
- Pull request is https://github.com/ruby/ruby/pull/10843
-
07:50 PM Misc #20507 (Closed): Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
- As a maintainer of several C extensions, I like to compile my code with some of the common [Warning Options](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) to help maintain code quality and safety.
One of the options that is... -
07:27 PM Revision c7281e2d (git): [ruby/prism] Fix up ruby_parser string concat
- https://github.com/ruby/prism/commit/4b06eae0df
-
06:46 PM Bug #20506: YJIT build error on aarch64 with Rust 1.78.0
- The macos one is https://bugs.ruby-lang.org/issues/20495. Until https://github.com/ruby/ruby/pull/10699 is merged, you can run `git checkout coroutine/arm64/Context.S` and then `make` again. I added the git checkout to my build script in...
-
05:02 PM Bug #20506 (Assigned): YJIT build error on aarch64 with Rust 1.78.0
-
03:15 PM Bug #20506 (Third Party's Issue): YJIT build error on aarch64 with Rust 1.78.0
- I was unable to compile Ruby 3.4.0-preview1 on Ubuntu 24.04 via Github Actions. As the logs are not retained indefinitely here's a link to the compilation failure: https://gist.github.com/schneems/bc6bdd6fba08ff6bfdd1bce8d76c457d
The ... -
05:37 PM Revision 9f71393f (git): [ruby/prism] Fix up self-write order for lex
- https://github.com/ruby/prism/commit/8f6da451b4
-
05:19 PM Revision f8b75037 (git): [ruby/prism] Remove Debug module
- https://github.com/ruby/prism/commit/4d8929ff6a
-
05:19 PM Revision 745a948b (git): [ruby/prism] Remove dynamic Debug module methods
- https://github.com/ruby/prism/commit/b850794db9
-
05:19 PM Revision 79001c8b (git): [ruby/prism] Remove error formatting, put directly in CRuby
- https://github.com/ruby/prism/commit/53b2866487
-
05:19 PM Revision 653652bc (git): [ruby/prism] Remove Debug#named_captures
- https://github.com/ruby/prism/commit/5050dfbe70
-
05:19 PM Revision e1041a8e (git): [ruby/prism] Move profiling to prism module directly
- https://github.com/ruby/prism/commit/75fabf7081
-
05:19 PM Revision b04c9596 (git): [ruby/prism] Remove various unused memsize infra
- https://github.com/ruby/prism/commit/283938ed1f
-
05:19 PM Revision b8681c2e (git): [ruby/prism] Remove Debug::integer_parse
- https://github.com/ruby/prism/commit/14e397598b
-
05:19 PM Revision 87035025 (git): [ruby/prism] Remove Debug::static_inspect
- https://github.com/ruby/prism/commit/486c71c426
-
05:05 PM Revision 47b723f8 (git): [PRISM] Use only bundled error formatting
-
04:58 PM Revision ba336027 (git): [PRISM] Move error formatting into Ruby
-
04:37 PM Bug #20401 (Closed): Duplicated when clause warning line number
-
04:37 PM Bug #20401: Duplicated when clause warning line number
- I've merged it for now. Happy to revert or change further if there's any more feedback!
-
04:36 PM Revision 47f09652 (git): Update duplicated when clause warning message
-
04:36 PM Revision 7021e156 (git): [ruby/prism] Update duplicated when error message
- https://github.com/ruby/prism/commit/54316fd8a0
-
04:25 PM Revision 180ae009 (git): [rubygems/rubygems] Rework `bundle gem` specs so that they work on Windows
- Most of the commands run by these specs actually prompt for user input
but for some reason `Open3` outside of Windows ignores that and goes on
with no user input. Windows does not like this.
This commit refactors these specs so that:
*... -
03:05 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- @matz Why is this feature being removed instead of fixed?
-
03:02 PM Revision 6a7e4c40 (git): [rubygems/rubygems] Neither `--force` flag or inline mode should mandate a remote resolution
- https://github.com/rubygems/rubygems/commit/50dd93e217
-
03:02 PM Revision eef125fd (git): [rubygems/rubygems] Fix error messages to not mention cached gems when they were not used
- https://github.com/rubygems/rubygems/commit/5ce9a7ff17
-
03:02 PM Revision 744dd5a3 (git): [rubygems/rubygems] Fix performance regression on applications with a local cache
- Even if all gems are properly installed and no resolve is needed, we
recently started always reading all packages in `vendor/cache` and
extracting specifications from them.
This commit fixes the problem by longer making considering cach... -
03:02 PM Revision c23798c2 (git): [rubygems/rubygems] Remove `@remote` instance variable from Definition
- It's a sources specific concern, so keep it there. It allows to simplify
the code quite a lot.
https://github.com/rubygems/rubygems/commit/639f0b72f4 -
03:02 PM Revision ea7e3e7b (git): [rubygems/rubygems] Give better message when resolving because there's no lockfile
- https://github.com/rubygems/rubygems/commit/4e048bc255
-
03:02 PM Revision 0f9781b5 (git): [rubygems/rubygems] Use `Definition#no_resolve_needed?`
- https://github.com/rubygems/rubygems/commit/5074c58ffb
-
03:02 PM Revision 3832a1bd (git): [rubygems/rubygems] Make code more symmetric
- https://github.com/rubygems/rubygems/commit/dc7c9f029a
-
02:36 PM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
- The fix looks good to me. I also think we should do out of tree builds if possible to make things like `make clean` a bit less accidentally destructive.
-
08:39 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
- mame (Yusuke Endoh) wrote in #note-3:
> Actually, `super` is totally confusing. Do you know that `super()` passes the block argument? I have been using Ruby for 20 years and never knew about it until recently.
> ...
I believe super alw... -
08:31 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
- Actually, `super` is totally confusing. Do you know that `super()` passes the block argument? I have been using Ruby for 20 years and never knew about it until recently.
```
class A
def foo
yield
end
end
class B < A
... -
08:17 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> I think that's what it is.
> ...
Ok, I see what you mean. This makes sense, somewhat. You could also just assign a string literal which makes even less sense, didn't think about that beforeha... -
07:57 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
- I think that's what it is.
`Proc` is an instantiated block representation, but not a block itself.
-
07:31 AM Bug #20505 (Rejected): Reassigning the block argument in method body keeps old block when calling super with implicit arguments
- You can call super without arguments and parenthesis to pass along all the enclosing method arguments to the parent method.
You can modify positional and keyword arguments before the call to super, and the parent method will recieve t... - 08:00 AM Revision e49d68bf (git): correct typo [ci skip]
-
07:59 AM Revision 7da01370 (git): Revert "[ruby/openssl] Use EVP_Digest{Sign,Verify} when available"
- This reverts commit 63f40a5be59ac898e87528630568b7890ffcf5fb.
-
07:59 AM Revision dc969b3a (git): Revert "[ruby/openssl] Enable HKDF support for LibreSSL 3.6 and later"
- This reverts commit b6da54c7219197eacdbfdca53739686f0bb2d06a.
- 04:02 AM Revision 7ef3a758 (git): * 2024-05-24 [ci skip]
- 04:02 AM Revision b6da54c7 (git): [ruby/openssl] Enable HKDF support for LibreSSL 3.6 and later
- LibreSSL 3.6 added support for HKDF in EVP. Enable this in ossl_kdf.c.
https://github.com/ruby/openssl/commit/9bdd39a7e2 - 04:02 AM Revision 63f40a5b (git): [ruby/openssl] Use EVP_Digest{Sign,Verify} when available
- LibreSSL 3.4 added EVP_DigestSign() and EVP_DigestVerify(). Use them
when available to prepare for the addition of Ed25519 support in
LibreSSL 3.7.
https://github.com/ruby/openssl/commit/475b2bf766 -
04:02 AM Revision 5f641517 (git): LibreSSL 3.5 and later provide and need to use PEM_write_bio_PrivateKey_traditional()
- Co-authored-by: "Jeremy Evans" <code@jeremyevans.net>
- 01:53 AM Revision acdd19fa (git): [rubygems/rubygems] Fiks speeling cott bye codespell
- https://github.com/rubygems/rubygems/commit/508ed917a5
-
01:27 AM Revision 2d4d99f7 (git): [PRISM] Update remaining test excludes
-
12:04 AM Bug #20501: ruby SEGV
- git bisect shows the problem is caused by the following commit.
```
% git bisect bad
84e4453436c3549b4fda6014cdd5fcc9e0b80755 is the first bad commit
commit 84e4453436c3549b4fda6014cdd5fcc9e0b80755
Author: Aaron Patterson <tender...
05/23/2024
- 10:57 PM Revision 76e31d9a (git): [rubygems/rubygems] Remove MD5 ETag generation from compact index
- This was an offramp for generated etags to allow existing caches
to be served until people could upgrade. It has been about 6 months
since the transitional version was released, so we can remove this
transitional code now.
https://githu... -
07:30 PM Revision c96b5791 (git): [ruby/prism] Raise `void value expression` in begin clauses
- In some cases Prism was either not raising an appropriate `void value
expression` error, or raising that error when the syntax is considered
valid.
To fix this Prism needs to check whether we have other clauses on the
`begin` rather tha... -
07:11 PM Revision 49fcd33e (git): Introduce a specialize instruction for Array#pack
- Instructions for this code:
```ruby
# frozen_string_literal: true
[a].pack("C")
```
Before this commit:
```
== disasm: #<ISeq:<main>@test.rb:1 (1,0)-(3,13)>
0000 putself ( ... -
06:47 PM Bug #20504 (Closed): Interpolated string literal in regexp encoding handling
- There is some very odd behavior that I'm not sure is intentional or not, so I'm looking for guidance. In here:
```ruby
# encoding: us-ascii
interp = "\x80"
regexp = /#{interp}/
```
the `regexp` variable is a ascii-8bit regula... -
06:45 PM Revision e5e079e7 (git): [ruby/prism] Only accept command call when specified for constant path
- https://github.com/ruby/prism/commit/0ae908b6ee
-
06:00 PM Feature #20205: Enable `frozen_string_literal` by default
- I'm still on my way back from Kaigi, so I haven't started working on this. But I had a quick chat with Matz, and it wasn't clear to him that we went with `frozen? -> true`, and he was clear he expects `frozen? -> false`.
Also based on... -
05:53 PM Feature #20205: Enable `frozen_string_literal` by default
- @byroot How is that experiment going? I'm all for experimenting, but just as in #15554 I believe we should reduce false positives to a minimum.
Also I spent some time on this, but I'm having a hard time coming up with a non-contrived ... -
05:39 PM Bug #20478: Circular parameter syntax error rules
- Also:
```ruby
def foo(bar = -> { bar }) end
def foo(bar = ->( ) { bar }) end
def foo(bar = ->(_) { bar }) end
```
Two of these are a syntax error, but I think either all of them should be or none of them should be. -
05:37 PM Bug #20478: Circular parameter syntax error rules
- If we go with only syntax errors at depth 0, then this:
```ruby
def foo(bar = baz { bar }) end
```
should not be a syntax error either. I think that makes sense, because the `baz` method could use `instance_exec`/`instance_eval` ... -
05:22 PM Revision 56a51fcd (git): [PRISM] Fix up some masgn topn calculations
-
05:22 PM Misc #20503: Dedenting heredoc line continuation
- For additional context, if you have:
```ruby
<<~eos
TEXT1
TEXT2
eos
```
you will get `"TEXT1\nTEXT2\n"`. But with a line continuation:
```ruby
<<~eos
\
TEXT1
TEXT2
eos
```
you get: `" TEXT1\n TEXT2\n"`. E... -
04:03 PM Misc #20503 (Closed): Dedenting heredoc line continuation
- When there is a line continuation inside a dedenting heredoc, occasionally it will impact the dedent calculation in interesting ways. I'm not sure if it's a bug, or if my understanding is incorrect.
```ruby
<<~eos
TEXT
eos
```
... -
04:41 PM Revision 0ebd3723 (git): [PRISM] Enable TestSyntax#test_unterminated_heredoc_cr
-
03:51 PM Revision 7d89d527 (git): [ruby/prism] Disallow newlines in heredoc identifiers
- https://github.com/ruby/prism/commit/737f2c2117
-
10:28 AM Revision a99d79dd (git): Remove dead code
- Since 140512d2225e6fd046ba1bdbcd1a27450f55c233, `else` without
`rescue` has been a syntax error. -
10:26 AM Revision 1471a160 (git): Add RB_GC_GUARD for rb_str_to_parser_string
- I think this fixes the following random test failure that could not be
fixed for a long time:
```
1) Failure:
TestSymbol#test_inspect_under_gc_compact_stress [/home/chkbuild/chkbuild/tmp/build/20240522T003003Z/ruby/test/ruby/test_symb... -
10:20 AM Misc #20387: Meta-ticket for ASAN support
- Some more thoughts:
* How do other projects use ASAN? They must have similar situations regarding dependencies compiled or not with ASAN.
* Gentoo IIRC has this feature to easily set flags/features globally for all installed packages. ... -
10:15 AM Misc #20387: Meta-ticket for ASAN support
- > Technically speaking, when using ASAN, you should compile all of your dependencies with ASAN as well. If you don't do this, ASAN might miss crashes where you pass an invalid pointer to a shared library, and it dereferences that.
I am ... -
06:46 AM Misc #20387: Meta-ticket for ASAN support
- So I've been thinking about how I'm going to do the setup-ruby thing this week. _Technically_ speaking, when using ASAN, you should compile all of your dependencies with ASAN as well. If you don't do this, ASAN might miss crashes where y...
-
05:17 AM Bug #19920: Ruby 3.1 fails to build with --enable-shared on macos-arm64: is an incompatible architecture (have 'arm64', need '')
- https://github.com/ruby/ruby/pull/10827 is for Ruby 3.1
-
05:17 AM Bug #19751: Ruby 3.2.2 Fails to Compile from Source
- https://github.com/ruby/ruby/pull/10829 is for Ruby 3.1
-
05:16 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- https://github.com/ruby/ruby/pull/10831 is for Ruby 3.1
-
03:36 AM Bug #20431 (Closed): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- @nagachika @katei also found https://github.com/ruby/ruby/pull/10572 for this. Thank you both!
-
03:35 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- Maybe https://github.com/ruby/ruby/commit/1faeb44dfcf777ace28321e80d0ebf942161a0a7 is the fix for this issue?
-
02:41 AM Bug #20431 (Open): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- @nobu What's the fixed commit? I can't fix this ticket with backport.
-
05:15 AM Bug #20183: `erb/escape.so` cannot be loaded when `--with-static-linked-ext`
- https://github.com/ruby/ruby/pull/10832 is for Ruby 3.1
-
05:12 AM Revision 0a671907 (git): merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6:
- Alias init functions
The extension library has each initialization function named "Init_" +
basename. If multiple extensions have the same base name (such as
cgi/escape and erb/escape), the same function will be ... -
04:49 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- Thank you for your fix!
Also, I think this change needs to be backported to 3.2.x as well:
https://bugs.ruby-lang.org/issues/20494#note-7
I hope you can change the Backport field If the above is correct
-
04:17 AM Bug #20500 (Closed): Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- Applied in changeset commit:git|5fa6ba9568e87e43e08a4daeba1572254c589fb1.
----------
[Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri) -
03:13 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- Thank you, makes sense.
https://github.com/ruby/ruby/pull/10830 -
04:24 AM Revision 60fb6d48 (git): merge revision(s) 7f87ad9fc4bc45faf8cd33602a025f27c094b2fd:
- Refer autoconfigured endian macro (#10572)
Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.
---
include/ruby/io/buffer.h | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-) -
04:24 AM Revision c54f52fb (git): merge revision(s) 1faeb44dfcf777ace28321e80d0ebf942161a0a7:
- Check if macros are defined before using
Assume macros with the same prefix would be defined together.
---
include/ruby/io/buffer.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-) -
04:16 AM Revision ce20367a (git): Define `incflags` also on mswin
-
04:16 AM Revision 5fa6ba95 (git): [Bug #20500] Search non-default directories for jemalloc
- Co-Authored-by: lish82 (Hiroki Katagiri)
-
03:45 AM Revision 7256dfd4 (git): [Bug #19751] Remove linemarkers in middle
- 03:36 AM Revision fc9acbaa (git): Bump ruby/setup-ruby from 1.177.0 to 1.177.1
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.177.0 to 1.177.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/7dc18ff0ca6e3630d3f29d2a85ebf6cc27... -
02:59 AM Bug #20451 (Closed): Bad Ruby 3.1.5 backport causes fiddle to fail to build
-
02:58 AM Revision c884de63 (git): merge revision(s) 48644e71096c70132be9dfdcbfb414ec2e68d18b:
- tool/runruby.rb: remove LD_PRELOAD-like env-var options from
runruby.rb
LD_PRELOAD sometimes forces loading libraries into unrelated
executables. For example, macOS on recent Apple Silicon can execute
ar... -
02:18 AM Bug #20501: ruby SEGV
- Although I can't reproduce it, it looks like that `catch_iseq` is broken, from the backtrace.
- 01:58 AM Revision 3abd0398 (git): * 2024-05-23 [ci skip]
-
01:57 AM Revision 5979e411 (git): macos-11 will be retired at Jun, 2024
- 01:57 AM Revision 80b11b21 (git): merge revision(s) a4ad6bd9aac564e93219284c912b26a72f9e82fc:
- [ruby/fiddle] closure: free resources when an exception is raised in
Closure.new
GitHub: GH-102
https://github.com/ruby/fiddle/commit/81a8a56239
---
ext/fiddle/closure.c | 56 ++++++++++++++++++... - 01:18 AM Revision aad09104 (git): Update default gems list at 2cc047df9a92e0c6b9d0fb57f305f4 [ci skip]
-
01:17 AM Revision 2cc047df (git): [ruby/rdoc] Bump up 6.7.0
- https://github.com/ruby/rdoc/commit/a667e616e1
05/22/2024
-
08:34 PM Revision 6d81ae3f (git): [PRISM] Properly support 'it'
-
08:34 PM Revision e5759548 (git): [ruby/prism] Fix support for 'it' implicit local variable
- https://github.com/ruby/prism/commit/53bbcfe513
-
04:58 PM Bug #20502 (Closed): Backport pthread_kill fix to Ruby 3.3
- commit:ef3803ed4028810f9088019f0db1a366370ab53a should be backported to Ruby 3.3. I've now seen this bug affect multiple cases. On OpenBSD, there are test failures in by (https://github.com/jeremyevans/by) on Ruby 3.3.1, but not Ruby 3....
-
12:19 PM Bug #20501: ruby SEGV
- `t.rb` is not minimized because the probability of SEGV is reduced when I make the file smaller.
-
12:11 PM Bug #20501 (Closed): ruby SEGV
- I encountered SEGV of ruby.
```
% ./ruby -v
ruby 3.4.0dev (2024-05-22T06:59:19Z master 5613d6e95b) [x86_64-linux]
% ./ruby t.rb
t.rb:33: [BUG] Segmentation fault at 0x00007fc243696098
ruby 3.4.0dev (2024-05-22T06:59:19Z master 56... -
09:28 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- > Or use `RUBY_CHECK_HEADER` instead of `AC_CHECK_HEADER?`
I think it's enough to solve the first problem (Non-system directories are not searched when checking jemalloc headers)
But the process that checks `jemalloc` has a process tha... -
09:21 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- It might be correct to fix it so that `-ljemalloc` is not specified when building `enc`
-
09:20 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- I don't know if `enc` uses jemalloc actually
But the build of `enc` fails because `-ljemalloc` is specified when building `enc` -
05:43 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- Or use `RUBY_CHECK_HEADER` instead of `AC_CHECK_HEADER`?
A question, does enc use jemalloc? - 06:59 AM Revision 5613d6e9 (git): Update bundled gems list as of 2024-05-22
- 06:01 AM Revision 5b9b6b4d (git): [rubygems/rubygems] move git clone depth error handling to else branch
- https://github.com/rubygems/rubygems/commit/022eb473f8
- 06:01 AM Revision ec9de0c4 (git): [rubygems/rubygems] fix for gems not downloading from git via http
- https://github.com/rubygems/rubygems/commit/592a2fcd54
-
04:49 AM Revision 1e08a9f0 (git): [Bug #20499] Use Xcode owned tools for Xcode clang
- Xcode has its own version tools that may be incompatible with genuine
LLVM tools, use the tools in the same directory. -
04:16 AM Revision 911b7d1d (git): [ruby/reline] Catches Errno::ENODEV and Errno::EBADF in
- get_screen_size. Closes https://github.com/ruby/reline/pull/690
(https://github.com/ruby/reline/pull/702)
* Catches exceptions Errno::ENODEV and Errno::EBADF in get_screen_size. Closes https://github.com/ruby/reline/pull/690
* Just cat... - 03:02 AM Revision ae07c606 (git): ---
- updated-dependencies:
- dependency-name: ruby/setup-ruby
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com> -
02:58 AM Feature #20497: Tempfile.create_io
- Previous discussions:
- https://bugs.ruby-lang.org/issues/11715 @akr thinks it's a good idea to have an anonymous file, then name it afterwards.
- https://bugs.ruby-lang.org/issues/13743 @akr is against the pull request which actuall... -
01:45 AM Revision f8e67522 (git): Revert "[Bug #20499] Use consistent version tools with CC"
- This reverts commit 8277cf0799145bed0c813bfcc187739f77b3102d.
This change break to build with `rbenv install ruby-dev` with the following error.
```
touch yjit/target/release/libyjit.a
transdb.h updated
./tool/darwin-ar: line 6: /nm: N...
05/21/2024
-
11:39 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
- I have found that the backport commit was reverted at https://github.com/ruby/ruby/commit/9f18cbd7964f32f224e7d0efba79ee0476a442e0.
-
11:05 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
- I see the issue was fixed on master branch.
I will revert back Backport field to "3.3: REQUIRED", but stay the ticket status "Closed. -
05:26 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
- Can we reopen this bug (please), or should we create a new issue?
-
06:45 PM Revision b20adf90 (git): [ruby/prism] Fix up ruby_parser interpolation concatenation
- https://github.com/ruby/prism/commit/79cec4be22
-
06:43 PM Revision 12386d36 (git): [ruby/prism] Provide deprecated numeric method
- https://github.com/ruby/prism/commit/77bf9038a2
-
06:27 PM Revision 7a8f797c (git): [PRISM] Use new rational layout
-
06:27 PM Revision 89efb94f (git): [ruby/prism] Reconfigure rationals
- This eliminates the subnode on RationalNode and replaces it with two
integer fields, which represent the ratio for the rational. It also
reduces those two integers if they both fit into 32 bits.
Importantly, this PR does not implement b... -
06:27 PM Revision 42930d28 (git): [PRISM] Handle safe navigation in call target nodes
-
06:27 PM Revision 16b0bb3d (git): [PRISM] Enable TestSyntax#test_warn_balanced
-
04:56 PM Revision bcbfc675 (git): [PRISM] Enable TestSyntax#test_numbered_parameter
-
03:59 PM Feature #20497: Tempfile.create_io
- From what I understand, the real intent of this proposal is to "let the OS clean up after the generated tempfile". If so, I don't think the name `create_io` represents the intent.
I vote for adding a keyword argument to `Tempfile.create... -
03:53 PM Bug #20500 (Closed): Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- I found a problem similar to #20494 on jemalloc
It's similar to #20494, but it has a few more issues
Problems:
- Non-system directories (specified by `--with-opt-dir`) are not searched when checking jemalloc headers (almost the sa... -
03:46 PM Revision ff43b4a2 (git): [ruby/prism] Add error for numbered parameter used in inner block
- https://github.com/ruby/prism/commit/c386ba6d48
-
03:05 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
These are not arguments for removing a useful, long-standing syntactic feature, but for fixing the various edge cases with it.
Multiple assignment segfaults in 2.6 too. I didn't know about it but it did not prevent me from using the...-
02:38 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- Thanks for the clarification @jeremyevans0. I think it's also worth noting you should be able to call them normally with a call operator, as in:
```ruby
a.[]=(1, 2, 4, bar: 3, &b)
``` -
02:35 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- In Ruby 3.3, behavior is inconsistent:
```ruby
a = Class.new do
def [](*a, **kw, &b)
p([a, kw, b])
0
end
alias []= []
end.new
b = proc{}
# Regular assignment treats keywords as positional
a[1, 2, bar: 3, &b] ... -
02:24 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- The release notes, which is what caught my attention, are categorical:
> Keyword arguments are no longer allowed in index. [Bug #20218]
-
02:20 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- There were long-standing bugs with aset within masgn. Things like:
```ruby
foo, bar[1, 2, qux: 1, &qaz], baz = *qoz
```
and in other expressions like:
```ruby
begin
rescue => bar[1, 2, qux: 1, &qaz]
end
```
and:
```r... -
02:13 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- @matz Why is it necessary to introduce a breaking change here by removing useful, long-standing syntax? See example in the previous post.
-
12:35 PM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
- I wrote a fix for this a couple weeks ago. https://github.com/ruby/ruby/pull/10699
-
11:17 AM Feature #20448: Make coverage event hooking C API public
- > Thanks for the research. So, `TracePoint.new(:branch)` seems good enough for the use case of fuzzer, right?
Yes, `TracePoint.new(:branch)` will work. It would be nice to have a C interface as well, but it's not strictly necessary. T... -
09:51 AM Bug #20499 (Closed): Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
- Applied in changeset commit:git|8277cf0799145bed0c813bfcc187739f77b3102d.
----------
[Bug #20499] Use consistent version tools with CC
As Apple Xcode is relocatable and selectable with `xcode-select`, use
consistent versions of command... -
08:03 AM Revision 8277cf07 (git): [Bug #20499] Use consistent version tools with CC
- As Apple Xcode is relocatable and selectable with `xcode-select`, use
consistent versions of commands in the same location. -
05:07 AM Bug #20151 (Closed): Can't build Ruby 3.1 on FreeBSD 14.0
- I fixed this at https://github.com/ruby/ruby/pull/10814
-
05:06 AM Revision 07c11226 (git): merge revision(s) cfc564ac40496a392f463658ea33954ea76d6b11:
- Include headers for `ruby_qsort` only if needed
If GNU `qsort_r` is available, we use the function and these headers
are not used.
---
util.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletion... -
05:06 AM Revision 24d7a1c6 (git): merge revision(s) ed3d8f74ec2eee43d50f9826e2f11ceea279823e:
- Delete a macro that has never been used, probably added by mistake
---
util.c | 7 -------
1 file changed, 7 deletions(-) -
05:06 AM Revision 122b510b (git): merge revision(s) 7400628cb054a9a9651d69411a100fc9d518099f:
- [Bug #18997] Don't define ruby_qsort when POSIX qsort_r is available
The current code would define ruby_qsort as a wrapper of qsort_s
when it is available. When both qsort_s and POSIX (GNU) qsort_r
are available,... -
04:52 AM Revision c773453c (git): ripper: Splat find patterns
-
04:52 AM Revision 501dbf2b (git): ripper: Splat hash patterns
-
04:52 AM Revision 978c31f0 (git): ripper: Splat array patterns with `pre_arg`
-
04:52 AM Revision 3e81bc3d (git): ripper: Splat `$:opt_args_tail` for `params!`
-
04:52 AM Revision be0f2ab3 (git): ripper: Splat `$:head` for `defs!`
-
04:52 AM Revision 4c7ec5e0 (git): ripper: Extend to represent array access and splat
-
04:52 AM Revision 5bba5fb7 (git): ripper: Describe `var_ref` for `user_variable` in ripper DSL
-
04:52 AM Revision 56d2c26c (git): ripper: Move `assign_error` call to `assignable`
- Prepare `lhs` as `$:$` before `assignable` and update it there.
Remove `ripper_assignable` which is no longer used. -
04:52 AM Revision e61e5c3b (git): ripper: Move `assign_error` call to `const_decl`
- Prepare `path` as `$:$` before `const_decl` and update it there.
Remove `ripper_const_decl` which is no longer used. -
04:52 AM Revision 66446b94 (git): ripper: Allow parenthesized comma in options
-
04:52 AM Revision 47efdae6 (git): ripper: Preserve indentation
-
04:52 AM Revision 147134b4 (git): ripper: Remove rb_ripper_none
- Now it is used only for wheter `opt_paren_args` is `none`. Introduce
a new special node to distinguish an empty parentheses from it . -
04:52 AM Revision ee8bbbab (git): ripper: Show popped TOS in debug mode
-
04:52 AM Revision 2e765c20 (git): ripper: Short hand for `rb_ary_new_from_args`
-
04:52 AM Revision 2d92a4af (git): ripper: Make `$:n` to refer each grammar values
- Ripper DSL uses these values for callbacks, but does not need indexes.
-
04:52 AM Revision 5fed63f7 (git): ripper: Use ripper DSL in simple dispatch chain cases
- 02:49 AM Revision 30aa300f (git): ---
- updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com> -
01:25 AM Revision 6ddc0a80 (git): [PRISM] Enable TestRegexp#test_unescape
-
01:25 AM Revision e82c7a05 (git): [PRISM] Enable TestRegexp#test_match_control_meta_escape
05/20/2024
-
08:33 PM Revision 86cf074f (git): Avoid array allocation for empty ruby2_keywords flagged keyword hash
- If the method being called does not have a positional splat
parameter, there is no point in allocating the array, as
decrementing given_argc is sufficient to ensure the empty keyword
hash is not considered an argument, assuming that we a... -
08:33 PM Revision 2433b57b (git): Avoid hash allocation for empty ruby2_keywords flagged keyword hash
- If the method being called does not have a keyword splat parameter,
there is no point in allocating the hash, because the hash will
be unused (as empty keyword hashes are ignored). -
08:33 PM Revision f021bcdb (git): Add allocation tests for ruby2_keywords
- This tests ruby2_keywords flagged methods, as well as passing
ruby2_keywords flagged hashes to other methods.
Some of the behavior here is questionable, such as allocating
different numbers of objects depending on whether a block is
pas... -
07:39 PM Revision 7c2c528d (git): [ruby/prism] Fix up regexp escapes with control/meta
- https://github.com/ruby/prism/commit/8a7afa6988
-
07:39 PM Revision 012b764f (git): [ruby/prism] Fix up regexp escapes with control/meta and x
- https://github.com/ruby/prism/commit/1dbbbedf55
-
05:23 PM Bug #20499 (Closed): Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
- This is a regression introduced by https://github.com/ruby/ruby/commit/038f9ade3c4d965415e4956561975454cf9eeb21 and causes various downstream problems such as https://github.com/ruby/prism/issues/2716. Development tools on macOS are relo...
-
04:28 PM Revision 6c07aa36 (git): [PRISM] Remove old prism spec workflow, just use default.mspec now
-
04:28 PM Revision a708b6aa (git): [PRISM] Respect eval coverage setting
-
04:28 PM Revision 78e504f2 (git): [PRISM] Enable TestPrism#test_truncated_source_line
-
03:28 PM Revision ca5b4580 (git): [PRISM] Match CRuby line semantics for evstr
-
03:14 PM Bug #20494: Non-default directories are not searched when checking for a gmp header
- @nobu
I just realized, isn't it necessary to backport this change to 3.2.x?
Since this bug seems to be present since 3.2.3, and 3.2.x has not yet reached EOL
I'm sorry if this has already been addressed -
02:43 PM Bug #20494: Non-default directories are not searched when checking for a gmp header
- @nobu
Thank you for your quick fix! -
07:40 AM Bug #20494: Non-default directories are not searched when checking for a gmp header
- >Specifying --with-gmp-dir=/opt/homebrew does not work
Ah, sorry. I skipped to read above report. It seems not only ruby-build issue.
-
07:35 AM Bug #20494: Non-default directories are not searched when checking for a gmp header
- What's your ruby-build version? ruby-build already have auto-detect feature for gmp provided by homebrew
https://github.com/rbenv/ruby-build/blob/master/bin/ruby-build#L1034
-
04:54 AM Bug #20494 (Closed): Non-default directories are not searched when checking for a gmp header
- Applied in changeset commit:git|18eaf0be905e3e251423b42d6f4e56b7cae1bc3b.
----------
[Bug #20494] Search non-default directories for GMP
Co-Authored-by: lish82 (Hiroki Katagiri) -
02:49 AM Bug #20494: Non-default directories are not searched when checking for a gmp header
- Made a separate macro.
```diff
commit a0d3cda4b54ce3eb9e77a450462a47fc3944d93c
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
AuthorDate: 2024-05-20 11:44:27 +0900
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
CommitDate: ... -
03:04 PM Revision 1ba93c2c (git): Upload cores to AWS S3 (if any)
-
03:04 PM Revision f1bbcc81 (git): Make sure that kern.coredump=1
-
02:49 PM Revision 785fba3b (git): [PRISM] Enable TestSyntax#test_warn_balanced
-
02:42 PM Revision 2e8ae139 (git): [ruby/prism] Fix invalid read at EOF
- https://github.com/ruby/prism/commit/dddaf67c34
-
02:06 PM Bug #20479: Ensure line number in begin...end in method
- Just to check back in @mame because it's only the `first_lineno` field, is that okay to change?
-
02:05 PM Bug #20478: Circular parameter syntax error rules
- @nobu another option would be to delete those tests and leave it up to the parser instead of forcing parse.y to implement it. Specifically I'm talking about:
```
o = Object.new
assert_warn("") do
o.instance_eval("def ... -
02:01 PM Revision e90e8f8b (git): [ruby/prism] Implement ambiguous binary operator warning
- https://github.com/ruby/prism/commit/6258c3695f
-
01:41 PM Feature #20498: Negated method calls
- For `foo&.!empty?`, the result would be `nil` if `foo` is `nil`. This is not handled by the prototype.
The alternatives mentionned so far look like this:
`foo&.empty?&.!`
`foo&.non&.empty?`
`foo&.empty?&.not`
`foo&.!(&:empty?)`
... -
01:26 PM Feature #20498: Negated method calls
- MaxLap (Maxime Lapointe) wrote in #note-7:
> @nobu: I'd say it's both syntax sugar and an operator, just like `&.`.
Seems like pure syntax sugar.
That's not to say it's not a good idea. It's difficult to say if the added convenien... -
01:02 PM Feature #20498: Negated method calls
- Thanks for the feedback. I updated the gist to have an example with arguments in the call:
```ruby
puts A.new.!exists?(with_friends: true, skip_administrator: true)
```
This highlights some problems with the alternatives:
* Ca... -
08:42 AM Feature #20498: Negated method calls
- I saw such a proposal before and I thought of some syntax and implementation, but I didn't submit that in the previous issue:
```ruby
class MethodNegator < BasicObject
def initialize(obj)
@obj = obj
end
def method_mis... -
08:04 AM Feature #20498: Negated method calls
- I wonder how wild it would be to make `!` accept an optional block. That way we could write:
```ruby
must_create_user = User.where(somelong: :condition, even_more: "thing").!(&:exists?)
```
which very close to what the original poste... -
05:57 AM Feature #20498: Negated method calls
- We can use `foo.!`.
```
must_create_user = User.where(somelong: :condition, even_more: "thing").exists?.!
``` -
04:36 AM Feature #20498: Negated method calls
- In your prototype, `foo . ! exist?` was transpiled to `!(foo . exist?)`.
Your proposal is not a new operator, but a syntax sugar? -
03:23 AM Feature #20498: Negated method calls
- I think defining an explicit method for this purpose (on `Object`, I guess) would be better, because it wouldn't add complications to the syntax. The name could be `not` or `invert` or `negate or some such. Your result would look like:
... - 09:10 AM Revision 82482684 (git): Update bundled gems list at 7f0e26b7f99bf76408569892ce2031 [ci skip]
-
09:10 AM Revision 7f0e26b7 (git): Re-use strscan with ruby repo
-
09:10 AM Revision 70ad58cb (git): Update bundled_gems
-
08:17 AM Bug #20496 (Assigned): Segfault when enabling YJIT
-
05:59 AM Revision 0b384033 (git): Fix incorrect assertion in TestThreadInstrumentation
- The test meant to assert the thread is suspended at least once,
but was actually asserting to it to be suspected at least twice. -
04:54 AM Revision fa26ef5b (git): Fix the end of "compiler section"
-
04:54 AM Revision 14da90f2 (git): --with-gmp-dir option is for ruby itself, not extensions
-
04:54 AM Revision 18eaf0be (git): [Bug #20494] Search non-default directories for GMP
- Co-Authored-by: lish82 (Hiroki Katagiri)
-
03:47 AM Revision eb410c9f (git): [ruby/error_highlight] Load "did_you_mean" explicitly in test
- I'm not sure how it works, but I seem to get an error
`undefined method 'formatter' for module DidYouMean` in parallel mode of
`make test-all`.
https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest... -
01:37 AM Feature #20205: Enable `frozen_string_literal` by default
- I thought about this more at Kaigi, maybe avoiding the false positive on the `str.dup if str.frozen?` pattern isn't worth the possible confusion.
I'll experiment with chilled strings `frozen?` method returning `false`. -
01:35 AM Revision a10a483a (git): [rubygems/rubygems] Should rescue vendored net-http exception
- https://github.com/rubygems/rubygems/commit/7d2c4cf364
05/19/2024
-
10:52 PM Feature #20498 (Open): Negated method calls
- I want to propose the following syntax: `foo.!bar`. I know it's already valid syntax, but please read on for details.
When someone write a somewhat long line of code that is negated, the main way I've seen of doing it is:
```
must... -
04:35 PM Feature #20497 (Closed): Tempfile.create_io
- I propose Tempfile.create_io.
It is similar to Tempfile.create but the actual file is unlinked before returning the method.
https://github.com/ruby/ruby/pull/10803
Purpose:
Sometimes, applications need a temporary file but it i... -
04:30 PM Revision d037c519 (git): Suppress -Wclobbered warnings
- At 7afc16aa48beb093b06eb978bc430f90dd771690, now `BLOCKING_REGION`
contains `setjmp` call in `RB_VM_SAVE_MACHINE_CONTEXT`. By this
change, variables in blocks for this macro may be clobbered. -
02:24 PM Revision 48ebd77e (git): Fix comment: Buffer.for(string) without block returns readonly buffer
-
02:24 PM Revision cb43540d (git): Fix IO::Buffer comment
-
01:15 PM Revision 8c0b57d3 (git): `rb_enc_compile_warn` and `rb_enc_compile_warning` are printf format
-
11:59 AM Bug #20496 (Closed): Segfault when enabling YJIT
- I installed Ruby 3.4-dev via rbenv to see how the improvements in YJIT with 3.4-dev (after reading https://speakerdeck.com/k0kubun/rubykaigi-2024) translate to other parts of HexaPDF. However, when running the HexaPDF optimization benchm...
-
11:45 AM Revision b47533f6 (git): Remove `rb_bug` after COMPILE_ERROR
- Fix test failures since 7afc16aa48beb093b06eb978bc430f90dd771690.
Why crash after reported compile error properly. -
11:21 AM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
- This has been plaguing people developing on MacOS (and I suppose any case insensitive file system) for months. Maxime recently added a `.gitignore` rule to somewhat work-around it, but I suspect there is a better fix: https://github.com/...
-
08:02 AM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
- I guess it happens when building in-place on case-insensitive fs platform due to this line: https://github.com/ruby/ruby/blob/7afc16aa48beb093b06eb978bc430f90dd771690/template/Makefile.in#L498
I could reproduce it on macOS with in-place... -
05:04 AM Bug #20495: Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
- For now, `make clean` is for those who "git clone" the repository. Don't use it for tarball package.
-
04:41 AM Bug #20495 (Closed): Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail
- When attempting to build v3.4.0-preview1 from source, we discovered that `make clean` will delete `coroutine/amd64/Context.S`, and then neither `./configure` nor `make` will replace that file. When that file is missing, `make` will fail....
-
10:07 AM Bug #20493: Segfault on rb_io_getline_fast
- Awesome! I was about to ask what was the plan for having this change in ruby 3.2/3.3.
I've submitted the patches to the projects in openSUSE with the contents of the Backport PR's to have our rubies fixed
- https://build.opensuse.o... -
03:20 AM Bug #20493 (Closed): Segfault on rb_io_getline_fast
-
03:20 AM Bug #20493: Segfault on rb_io_getline_fast
- Closed by merging https://github.com/ruby/ruby/pull/10795
I opened two PR's to backport this to 3.2 & 3.3 (I think crashes like this should be backported?)
* 3.2: https://github.com/ruby/ruby/pull/10797
* 3.3: https://github.com/r... -
05:10 AM Feature #20492: Debug option for tempfile
- I too have wanted to do this multiple times. However, I am also a little concerned about the possibility of security risks (such as, DoS to make the storage full, failure to delete sensitive information, etc.) if it can be specified too ...
-
03:08 AM Revision 7afc16aa (git): Inline RB_VM_SAVE_MACHINE_CONTEXT into BLOCKING_REGION
- There's an exhaustive explanation of this in the linked redmine bug, but
the short version is as follows:
blocking_region_begin can spill callee-saved registers to the stack for
its own use. That means they're not saved to ec->machine b... -
03:08 AM Revision ad636033 (git): Update to ruby/spec@6b04c1d
-
02:04 AM Bug #20494 (Assigned): Non-default directories are not searched when checking for a gmp header
- Looks good to me. I found no other AC_CHECK_HEADERS that might want to find non-system header files. @nobu What do you think?
-
01:49 AM Bug #20494 (Closed): Non-default directories are not searched when checking for a gmp header
- This is my very first issue submission
I would be happy to know if I missed anything
---
I found that the ruby installed with `ruby-build` is not linked to the gmp library
Environment:
- OS: macOS Sonoma 14.5
- Directory that...
05/18/2024
-
03:29 PM Revision dbbaf871 (git): [DOC] Fix `$<` comment
-
03:27 PM Revision fd8e6e8c (git): Replace cast tags for `tSTRING_DVAR` with typed midrule actions
-
02:59 PM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
- I don't think I quite understand what exactly the right course of action here is.
> Would it make sense to check if such flags exist and not overwrite them if they do?
Why is this not a serious proposal? "We should respect user giv... -
12:48 PM Bug #20493: Segfault on rb_io_getline_fast
- You're welcome, thank you for posting such a detailed and actionable report. You're exactly right; your patch deals with this issue in IO methods using `rb_io_getline_fast` but this is probably causing crashes in other places as well; _h...
-
10:28 AM Bug #20493: Segfault on rb_io_getline_fast
- Thanks for this extremely detailed explanation!
Just for my own understanding [I'm not as proficient in low level C, took me a while reading through all details], can I assert that: the fix I suggested would've only "fixed" the segfau... -
09:44 AM Bug #20493: Segfault on rb_io_getline_fast
- After applying that fix to the RPM spec file in https://build.opensuse.org/package/show/devel:languages:ruby/ruby3.3, I can't get the reproduction to crash any more.
-
09:43 AM Bug #20493: Segfault on rb_io_getline_fast
- I opened https://github.com/ruby/ruby/pull/10795 as a proposed fix for this. Let's see what other people (and CI) think :)
-
09:37 AM Bug #20493: Segfault on rb_io_getline_fast
- OK, I believe I've worked out what's wrong here.
The BLOCKING_REGION macro is used to release the GVL, run some code, and re-acquire the GVL. It looks like this:
```
#define BLOCKING_REGION(th, exec, ubf, ubfarg, fail_if_interrupt... -
07:15 AM Bug #20493: Segfault on rb_io_getline_fast
- Thank you for your bug report and excellent reproduction! I've had a look at this today - I haven't reached a conclusion yet, but I want to write down where I got so far.
The crash is happening because:
* One thread is calling `rb_... -
11:10 AM Bug #19753: IO::Buffer#get_string can't handle negative offset
- Backported by https://github.com/ruby/ruby/pull/10778
- 11:09 AM Revision 0e664ebc (git): Fix `io_buffer_get_string` default length computation. (#8427)
- * Fix `io_buffer_get_string` default length computation.
When an offset bigger than the size is given, the resulting length will be
computed incorrectly. Raise an argument error in this case.
* Validate all arguments. - 11:09 AM Revision 67d499a7 (git): Improvements to `IO::Buffer` `read`/`write`/`pread`/`pwrite`. (#7826)
- - Fix IO::Buffer `read`/`write` to use a minimum length.
- 11:09 AM Revision 359e40e3 (git): Rename `data` -> `buffer` for better readability. (#7836)
-
11:09 AM Revision 1bfdd68b (git): Adjust `else` style to be consistent in each files [ci skip]
-
10:46 AM Revision 232f7b37 (git): Replace cast tags with typed midrule actions
- * Add types to `tLAMBDA` and `tSTRING_DBEG` to store corresponding
information when returning these tokens.
* Add `enum lex_state_e state` to `%union` for `tSTRING_DBEG`. -
10:16 AM Feature #20492: Debug option for tempfile
- Since you say you're OK with solutions requiring modifying the program though, have you tried doing something like this?
```
Tempfile::Remover.class_eval { def call(...) = nil }
```
I realise if this is a common use-case it would... -
06:44 AM Revision ac85eef1 (git): Fix links
-
02:26 AM Revision 55c62e67 (git): No need to specify tags anymore
- In the past, these codes were used by both parser and ripper.
On ripper, the type of LHS is `<val>` then type cast was needed.
However currently these are only used by parser then no need to
cast.