Activity
From 01/28/2024 to 02/03/2024
02/03/2024
-
11:04 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- In TruffleRuby, we implement null checks which take into account both matching position and captures, in the spirit of Ruby's regular expressions. Both of the examples from your original issue description evaluate to `0`, and `/((?=(a)))...
-
10:55 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- As I understand it, the idea behind the null check is for the regex matcher to be able to identify unproductive branches in the regex execution, branches which are guaranteed to never terminate. When executing the expression `X*`, where ...
-
02:29 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- FWIW current TruffleRuby behavior for the two examples in the description is to return 0 for both.
Is that what you propose to change the behavior to? -
02:25 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- Could you show how the behavior would change for these specs, e.g. with a diff of the specs or by moving the existing ones under `ruby_version_is ""..."3.4" do` and adding the new behavior under `ruby_version_is "3.4" do` ?
-
10:42 PM Feature #20235: Deprecate CHAR syntax
- A `$stdin.closed?#=>true` would work as expected. You can't generally follow Ruby code immediately with an uncommented `=>` designating a return value and have it not break.
It made sense to maintain character literals for compatibili... -
08:02 PM Feature #20235: Deprecate CHAR syntax
- I think the first time - and probably the only time - I heard
about the ?a syntax:
?a # => "a"
?b # => "b"
?c # => "c"
was in the pickaxe book. I believe there was a chapter in the
bookaxe that mentioned the ? syntax along ... -
04:53 PM Feature #20235 (Open): Deprecate CHAR syntax
- I propose deprecating the `?c` syntax. It served a purpose in ruby <= 1.8, but no longer.
The reason I'm proposing this is because today I ran into this error:
```ruby
p $stdin.closed?=>true # comparison of String with true failed (... -
08:02 PM Revision 19f61552 (git): Remove TestProcess#test_low_memory_startup
- It is too flaky on many platforms. Nobody is willing to fix it. Let's
just stop it. -
07:52 PM Feature #20215: Introduce `IO#readable?`
- Actually if I think about it a little, I can work around that like this:
```ruby
loop do
if $stdin.wait_readable(0)
str = $stdin.gets or abort("<eof>")
p str
else
puts "no input, let's wait a bit..."
sleep 1... -
05:13 PM Feature #20215: Introduce `IO#readable?`
- Interesting, I didn't know about #wait_readable. Looks like previously it needed `require "io/wait"` but it was integrated in Ruby 3.2 core.
Unfortunately it doesn't work for my use case:
```
(echo 1;sleep 1;echo 2)|3.2 ruby -e '8.t... - 03:47 PM Revision 53d4e9c4 (git): merge revision(s) 1bd98c820da46a05328d2d53b8f748f28e7ee8f7: [Backport #20172] (#9798)
- Remove setaffinity of pthread for getaddrinfo
It looks like `sched_getcpu(3)` returns a strange number on some
(virtual?) environments.
I decided to remove the setaffinity mechanism because the performance
... - 01:35 PM Revision 45064610 (git): Fix test session reuse but expire (#9824)
- * Show OpenSSL version in the error message of assert_equal
* OpenSSL 3.2.1 30 Jan 2024 is also broken -
10:39 AM Revision bc79229b (git): Show OpenSSL version in the error message of assert_equal
-
06:59 AM Revision 055615a4 (git): Statically linking does not use shared libraries of encodings
-
06:54 AM Revision 124be0aa (git): [ruby/irb] Consume the warning for non-existent history path
- Fix https://github.com/ruby/irb/pull/852#issuecomment-1925170358
https://github.com/ruby/irb/commit/9a7e060e57 -
03:25 AM Revision 0854d648 (git): [PRISM] Selectively dup array in `foo(*splat, &block_arg)` calls
- This is essentially an adaptation of aae8223c707 ("Dup splat array in
certain cases where there is a block argument") to pass
`TestCall#test_call_block_order`.
This also makes PRISM emit `getblockparamproxy` in cases like
`def foo(&blk)... -
01:37 AM Bug #20169: `GC.compact` can raises `EFAULT` on IO
- So I think we can go with that fix, but I want to try and spell out what it means for "the rules" for extensions if we accept it.
AFAICT, by merging https://github.com/ruby/ruby/pull/9817, we are saying the following:
1. It is ille... -
12:15 AM Revision 68b57ceb (git): Use bool to check ascii only in parse_ident
- No need to use ENC_CODERANGE to record ascii only or not.
02/02/2024
-
11:50 PM Revision 90ae8eae (git): [PRISM] Fix numbered parameters stealing local names
- Previously, the local index of numbered parameters were assigned to
names of regular locals, making it hard to read both of them. Use proper
`_[1-9]` numbered parameters. This fixes `test_shapes.rb`.
Also, properly mark the iseq as havi... -
10:25 PM Revision 5d646fa1 (git): [ruby/irb] Require pathname (https://github.com/ruby/irb/pull/860)
- https://github.com/ruby/irb/commit/0ab96ed426
-
10:09 PM Revision 5a87e9e2 (git): YJIT: add missing jge comparison instruction (#9819)
- I ran into this while trying to implement setbyte, was surprised
to find out we hadn't implemented it yet. - 09:58 PM Revision aa780a67 (git): [ruby/irb] Add a warning for when the history path doesn't exist
- (https://github.com/ruby/irb/pull/852)
* Add a warning for when the history path doesn't exist
* warn when the directory does not exist
* added test for when the history_file does not exist
* Update lib/irb/history.rb
---------
htt... -
09:45 PM Revision 6afccdf4 (git): [ruby/prism] Provide APIs for finding value in constant pool
- https://github.com/ruby/prism/commit/be9e2abfa3
-
09:38 PM Revision 31e4300e (git): [rubygems/rubygems] feat: Gem::Specification#initialize_copy deep-copies requirements
- to avoid accidentally mutating the original's state when doing:
```ruby
spec2 = spec.dup
spec2.required_rubygems_version.concat([">= 3.3.22"])
```
see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case th... -
09:38 PM Revision 66a6f2b1 (git): [rubygems/rubygems] feat: Gem::Requirement#initialize_copy deep-copies @requirements
- to avoid accidentally mutating the original's state when doing:
```ruby
req2 = req.dup
req2.concat([">= 3.3.22"])
```
see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case that would be made simpler with... -
09:16 PM Revision d2f004cf (git): [ruby/prism] Fix hash pairs in patterns
- https://github.com/ruby/prism/commit/b7ab29daa0
-
09:06 PM Feature #20215: Introduce `IO#readable?`
- Would `io.wait_readable(0)` work instead? If not, why not?
-
08:43 PM Revision eaea53b8 (git): [ruby/prism] Handle missing begin body
- https://github.com/ruby/prism/commit/7e54818b17
-
08:09 PM Revision 7695ab3b (git): [ruby/prism] Fix up multibyte escapes
- https://github.com/ruby/prism/commit/836a35f4af
-
07:43 PM Revision 520987c6 (git): [ruby/prism] Turn off LibrarySymbolsTest on powerpc64le
- https://github.com/ruby/prism/commit/6e432f3de5
-
07:36 PM Revision 24cdafb2 (git): [PRISM] Fix indentation of pm_scope_node_init [ci skip]
- 07:26 PM Revision 93fdf66b (git): [rubygems/rubygems] Adapt failing tests to new output
- https://github.com/rubygems/rubygems/commit/cf549e71aa
- 07:26 PM Revision 0bcad50c (git): [rubygems/rubygems] Fix var name and also update other places
- https://github.com/rubygems/rubygems/commit/f72a7989cd
- 07:26 PM Revision 064f2515 (git): [rubygems/rubygems] Change gem login message to clear up that username can be also used
- https://github.com/rubygems/rubygems/commit/2bf6163eaf
-
06:36 PM Revision 420a6349 (git): [ruby/prism] Small fixes for the parser translator
- https://github.com/ruby/prism/commit/4327051c86
-
05:03 PM Bug #20169: `GC.compact` can raises `EFAULT` on IO
- I implemented a fix here: https://github.com/ruby/ruby/pull/9817
-
04:35 PM Bug #20228 (Closed): Memory leak in Regexp timeout
- Applied in changeset commit:git|1c120efe02d079b0a1dea573cf0fd7978d9cc857.
----------
Fix memory leak in stk_base when Regexp timeout
[Bug #20228]
If rb_reg_check_timeout raises a Regexp::TimeoutError, then the stk_base
will leak. -
04:35 PM Revision 8f9d999d (git): [ruby/prism] Fix overlapping memcpy
- It's UB to use memcpy with overlapping source and destination. This
might be causing crashes on 32 bit platforms and on OpenBSD. Use memmove
instead. Add a bounds check while we're at it since it's unclear whether
one-past-end pointer wi... -
03:39 PM Revision 31378dc0 (git): Add memory leak test for Regexp timeout
- [Bug #20228]
-
03:39 PM Revision 01bfd1a2 (git): Fix memory leak in OnigRegion when match raises
- [Bug #20228]
rb_reg_onig_match can raise a Regexp::TimeoutError, which would cause
the OnigRegion to leak. -
03:39 PM Revision 1c120efe (git): Fix memory leak in stk_base when Regexp timeout
- [Bug #20228]
If rb_reg_check_timeout raises a Regexp::TimeoutError, then the stk_base
will leak. -
11:43 AM Revision a4e4e3b1 (git): [rubygems/rubygems] Add missing Windows job
- Specs that use extension gems were failing in the new job but I noticed
that they were using very non standard `extconf.rb` files.
The hack being removed here was added just to make specs pass when run
in ruby-core but it seems the unde... -
11:15 AM Bug #20234 (Closed): Segfault parsing begin statement inside method definition receiver
- Segmentation fault parsing these code in Ruby 3.3.0 and 3.4.0dev
~~~ruby
# Segmentation fault
ruby -ce "def (begin;end).foo; end"
ruby -ce "def (begin;else;end).foo; end"
ruby -ce "def (begin;ensure;else;end).foo; end"
ruby -e "Rub... -
10:36 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
- Hi, we are running into the same issue when developing so I was wondering if you got any response on the Apple bug report? Or found a workaround?
-
10:25 AM Bug #20172: Socket.addrinfo failing randomly
- For reference, I had a user report a similar issue due to `Addrinfo#ip_address`: https://github.com/socketry/falcon/issues/217
-
01:50 AM Bug #20172: Socket.addrinfo failing randomly
- Merging into 3.3 is pending
https://github.com/ruby/ruby/pull/9798 -
08:56 AM Feature #20233: pkg-config not working on MSVC
- Potential implemented at https://github.com/ruby/ruby/pull/9815#pullrequestreview-1858695400
-
08:48 AM Feature #20233 (Closed): pkg-config not working on MSVC
- The PKG_CONFIG variable is not respected in win32/Makefile.sub
Also, need to ideally use the `--msvc-syntax` flag (pkgconf 1.4.0, released 7 years ago, adds it).
But mostly, I realized that the `try_ldflags` in `lib/mkmf.rb` actual... -
05:26 AM Revision ccffc6ee (git): Add an assertion that `%x` literals call `` ` `` method
-
03:22 AM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
- ruby_3_3 119d447d42d4645ac919ee53f3ec294deaa7c59b merged revision(s) bc002971b6ad483dbf69b8a275c44412bb6ab954.
-
01:59 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
- @naruse That PR seems unrelated, is the link correct?
-
01:52 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
- Merging into 3.3 but failed
https://github.com/ruby/ruby/pull/9813 -
01:42 AM Revision c0629a05 (git): Prefer `IO.popen` over `IO.foreach` with `|`
-
01:42 AM Revision f22bec79 (git): leaked-globals: More accurately extract checked function names
-
12:36 AM Bug #20162: Memory leak when duplicating too complex object
- ruby_3_3 3fb51b93d25b0566b71249b1c7ccddf0dab91429 merged revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3.
-
12:36 AM Bug #20173: Backport 597955a, 8b65d15
- ruby_3_3 7231fc5baa0a44ef6264c795071c5fbec8d1102d merged revision(s) 597955a,8b65d15.
02/01/2024
-
10:55 PM Revision 7b93e65e (git): [DOC] Pretty tables for Kernel#test doc (#9751)
-
10:11 PM Revision 8d33be98 (git): [PRISM] Respect string encoding override in array literals
- Fixes `TestZlibGzipReader#test_gets2`,
`Psych_Unit_Tests#test_spec_explicit_families`, and many failures in
`test_unicode_normalize.rb`. -
10:04 PM Revision 770b5499 (git): [ruby/prism] Amend assert in pm_utf_8_codepoint(), n=0 is fine
- This assert used to trip in the included test:
```
./miniruby --parser=prism -e ' "%W"\u" '
```
https://github.com/ruby/prism/commit/8c0f84db4f - 08:52 PM Revision 4fbdbde0 (git): [PRISM] dedup hash string keys
- Fixes ruby/prism#2321
Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
08:52 PM Revision 332d2c92 (git): [PRISM] Emit parse warnings
-
08:50 PM Revision b47d43fa (git): [PRISM] Use rb_fstring() on all string literals
- In addition to saving space by deduplicating, this also makes the
literals have code range like TestObjSpace#test_dump_string_coderange
expects. It's testing a detail, but we might as well use rb_fstring().
Note that `putstring` makes a... - 08:23 PM Revision c7fe3ecb (git): [prism] Use block opening line as `source_location` line of lambda
- There are several prism tests failing related to the `source_location`
for lambda returning line of the operator (`->`)
while original parser execution results in `source_location` line
pointing to the block opening location (`{` or `do`... - 08:17 PM Revision e4e5a1b4 (git): [ruby/prism] Add parentheses around macro arguments
- https://github.com/ruby/prism/commit/f81fe9c716
Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
07:45 PM Revision 29b7c31b (git): [ruby/prism] Reject operator writes on operator methods
- https://github.com/ruby/prism/commit/78bd142e71
-
07:13 PM Revision d3ba14a3 (git): [PRISM] Do not shell out in prism tests
- 05:53 PM Revision ae044135 (git): Update default gems list at e9f132446425089e8e732f68f49e10 [ci skip]
-
05:52 PM Revision e9f13244 (git): Sync to latest prism
-
05:46 PM Revision ef427123 (git): [ruby/irb] Add rubocop with a few basic styling rules
- (https://github.com/ruby/irb/pull/849)
* Use rubocop to enforce a few styling rules
* Add a CI job for linting
https://github.com/ruby/irb/commit/4f60cd88bb -
04:48 PM Revision 494778c6 (git): [ruby/prism] Remove locals_body_index
- We're not using this anymore, and it doesn't make a lot of sense
outside the context of a compiler anyway, and in anyway it's wrong
when you have local variables written in default values.
https://github.com/ruby/prism/commit/5edbd9c25b - 04:48 PM Revision 67c5690a (git): [ruby/prism] Check literals for receiver
- https://github.com/ruby/prism/commit/56441b08e7
-
04:26 PM Misc #20193: DevMeeting-2024-02-14
- * [Bug #20203] `TestEnumerable` test failures with GCC 14
* Using `qsort_r` to sort causes corruption when the comparison function is reentered using continuation/fiber and when using GC compaction due to undefined behavior
* Should ... -
04:21 PM Bug #20203: `TestEnumerable` test failures with GCC 14
- So there are currently 2 issues with using `qsort_r` that I see.
1. As noticed in this issue, if the comparison function uses coroutine/fiber to reenter the middle of `qsort_r`, that results in heap corruption. This happens on older gli... -
04:19 PM Revision f36c61d2 (git): [ruby/irb] Reset history counter even when @loaded_history_lines is
- not defined
(https://github.com/ruby/irb/pull/853)
The issue (https://github.com/ruby/debug/issues/1064) is caused by a
combination of factors:
1. When user starts an IRB session without a history file, the
`@loaded_history_lines` i... -
04:13 PM Revision 6ad585bd (git): [ruby/prism] Only warn for unary + on spcarg
- https://github.com/ruby/prism/commit/db0e5ce1ce
-
03:33 PM Revision 1f226b41 (git): [PRISM] Fix multiple return with splat and splat+kwsplat
- Previously, `return *array, 1` didn't behave like `return [*array, 1]`
properly. Also, it crashed when splat and kwsplat is combined like in
`array = [*things, **hash]`.
Fix this by grouping `PM_ARGUMENTS_NODE` with `PM_ARRAY_NODE` hand... -
02:59 PM Feature #20215: Introduce `IO#readable?`
- I'm interested in this. I previously had to implement a "nonblocking gets" which was a bit tricky.
It would have been nice to just write `io.gets if io.readable?`
But I want to confirm this is the expected behavior: `#readable?` should ... -
06:19 AM Feature #20215: Introduce `IO#readable?`
- After thinking it for a while, yes I'm for this feature. There seems to be no way right now to achieve what is needed.
-
12:17 PM Revision 8531ac31 (git): Suppress unused-local-typedef warnings
- 12:12 PM Revision 1236a740 (git): [ruby/irb] Skip re-setup when creating a child session
- (https://github.com/ruby/irb/pull/850)
https://github.com/ruby/irb/commit/06b2d00dd3 -
07:42 AM Revision 8ba8e979 (git): Parenthesize casted argument
- 07:19 AM Revision 3fb51b93 (git): merge revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3: [Backport… (#9795)
- merge revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3: [Backport #20162]
Fix memory leak when duplicating too complex object
[Bug #20162]
Creating a ST table then calling st_replace leaks memory because th... - 07:13 AM Revision 7231fc5b (git): merge revision(s) 597955a,8b65d15: [Backport #20173] (#9794)
- Fix to work match cache with peek next optimization (#9459)
---
regexec.c | 3 ++-
test/ruby/test_regexp.rb | 9 +++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
Fix tes... -
06:05 AM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- In another problematic case, the following example never finishes its matching.
```
p /((?=(a)))*/ =~ "a"
``` -
05:59 AM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- These two specs block this change:
- <https://github.com/ruby/spec/blob/3267023951a99dc9b79febab10e1ae04c18d5190/language/regexp/empty_checks_spec.rb#L24-L42>
- <https://github.com/ruby/spec/blob/3267023951a99dc9b79febab10e1ae04c18d5... -
05:20 AM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- I have created https://bugs.ruby-lang.org/issues/20232.
-
05:20 AM Misc #20232 (Open): Document Kernel#require and Module#autoload concurrency guarantees
- I'd like to document `Kernel#require` and `Module#autoload` concurrency guarantees.
In the case of multiple threads loading the same file concurrently, `Kernel#require` will succeed in just one of them and the rest will wait and retur... -
04:40 AM Bug #20166: Backport 149373c to Ruby 3.3
- ruby_3_3 commit:57d8d6e58a13c9de7bb84c1c76625789f435bca1.
-
04:40 AM Bug #20157: Regression in GC.measure_total_time
- ruby_3_3 920c17dc94239baae05b513046b27967f11a3569.
-
04:34 AM Revision 57d8d6e5 (git): Backport bundled_gems.rb for Ruby 3.3 (#9457)
- racc is extracted at Ruby 3.3, not 3.4
-
04:33 AM Revision 920c17dc (git): Backport #20157 to Ruby 3.3 (#9428)
- * Fix GC.measure_total_time regression
Commit 93ac7405b80cc61930d73da04441fa09af1851e1 introduced a regression
where measurements would still be taken after setting
GC.measure_total_time = false.
Fixes [Bug #20157]
* Add test case for... -
04:15 AM Feature #20108: Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
- shioimm (Misaki Shioi) wrote in #note-10:
> Regarding the content mentioned above, I have made the following changes to the commit:
> ...
Thank you. The fast_fallback option of Socket.tcp and Socket.tcp_fast_fallback look fine for me.... -
04:11 AM Bug #20149: Fix memory leak in IPSocket rb_getaddrinfo
- ruby_3_3 2886564279dff87a6c293f6e80436eb2b309967e merged revision(s) 6aacbd690ccde53f9b97c6673482cb11df3f2955.
-
03:18 AM Revision a7b47f96 (git): [PRISM] Add splatkw to super calls when necessary
-
03:18 AM Revision d96b4586 (git): [PRISM] Fix up index write nodes to match
-
03:18 AM Revision d36c31ed (git): [PRISM] Fix keywords in index write nodes
-
03:18 AM Revision 8acd1f70 (git): [PRISM] Fix combination of safe navigation and ||= and &&= operators
-
03:18 AM Revision 4d01c590 (git): [PRISM] Fix combination of attribute write and safe navigation
- 02:39 AM Revision 7fd2c442 (git): Bump ruby/setup-ruby from 1.170.0 to 1.171.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.170.0 to 1.171.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/bd03e04863f52d169e18a2b190e8fa6b84... -
02:28 AM Bug #20231 (Closed): Don't wait in io_binwrite_string if not necessary.
-
01:52 AM Bug #20231 (Closed): Don't wait in io_binwrite_string if not necessary.
- PR: https://github.com/ruby/ruby/pull/9792
Writing to a buffered IO can result in the entire internal buffer being flushed, which causes `io_binwrite_string_internal` to return 0. In that case, we were setting `errno = EAGAIN`. This c... - 02:27 AM Revision 2554c5d3 (git): Don't wait in `io_binwrite_string` if not necessary. (#9792)
-
02:23 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
- @naruse I'm fine exiting immediately, I was just hoping to make it a syntax error.
@Edwing123 By default Ruby source assumes UTF-8 unless told otherwise by a magic comment or a command line option. -
01:52 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError - Hi. One question:
When parsing begins, what encoding do `Prism` and `parse.y` use by default? -
12:13 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
- Parsing entire source code with wrong encoding is not reasonable because in some encoding including SJIS (Windows-31J) parsing result won't be valid because some multibyte character may include ASCII character in the trailing byte in the...
-
01:39 AM Revision 28865642 (git): merge revision(s) 6aacbd690ccde53f9b97c6673482cb11df3f2955: [Backport #20149]
- Free pthread_attr after setting up the thread
[bug #20149]
---
ext/socket/raddrinfo.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-) -
01:39 AM Bug #20145: Memory leak when duplicating identhash
- ruby_3_3 aeffb5e21de6000a3dcfa0ca88c6ba3c3c42d8db merged revision(s) 6c252912af4981f016a9abdb4c1689307a4f1d2f.
-
01:05 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- > The key seems to be whether sort was in practice stable on some platform/OS
Ah, until recently, glibc's `qsort` was actually a stable merge sort most of the time, which is why Ruby's sort felt stable on Linux.
https://sourceware.... -
12:14 AM Bug #20208 (Closed): Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo
- OK, I merged https://github.com/ruby/ruby/pull/9790 for the revert, and opened https://github.com/ruby/ruby/pull/9791 to backport to Ruby 3.3.
Sorry for the trouble, and thank you again for the report! -
12:09 AM Revision da33c5ac (git): Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"
- This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440.
-
12:09 AM Revision 67404d65 (git): Revert "always omit test_ai_addrconfig."
- This reverts commit abf192eb16ea845ac11743a32bd2f3e2d234488b.
-
12:08 AM Revision aeffb5e2 (git): merge revision(s) 6c252912af4981f016a9abdb4c1689307a4f1d2f: [Backport #20145]
- Memory leak when duplicating identhash
[Bug #20145]
Before this commit, both copy_compare_by_id and hash_copy will create a
copy of the ST table, so the ST table created in copy_compare_by_id will
be lea... -
12:07 AM Bug #20104: Regexp#match returns nil but allocates T_MATCH objects
- ruby_3_3 f585171a6b1d6c20b3c162fd59dc874510ed2a49 merged revision(s) e12d4c654e3cb7a4473014610bc3bae41aaf811e.
01/31/2024
-
11:44 PM Revision 6a689e33 (git): [ruby/irb] Omit 2 encoding error related tests for TruffleRuby
- (https://github.com/ruby/irb/pull/854)
They're failing due to an issue in Prism: https://github.com/ruby/prism/issues/2129
So we need to skip them until:
- The issue is fixed in Prism
- TruffleRuby is updated to a version of Prism that... -
11:26 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- Seems like maybe it was changed by #19643 for `sort_by`. But in any case, it was never stable since it was using the platform's unstable `qsort_r`. On macOS, I get `[0.0, 0.0, 0.02, 0.02, -0.02, ...]` even on 3.2.2. Glibc has [warned abo...
-
10:57 PM Bug #20208: Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo
- I discussed this a bit with @ioquatix, we've decided to revert the change to make AI_ADDRCONFIG be used in DNS lookups by default. The interaction with services on localhost is just too surprising.
-
09:29 PM Revision 9fdfdf4f (git): [ruby/prism] Always return the character width for char_is_identifier_start() and char_is_identifier_utf8()
- * This is also faster than calling pm_encoding_utf_8_alpha_char/pm_encoding_utf_8_alnum_char
as those compute the character width and do extra checks.
https://github.com/ruby/prism/commit/4cb276ac4c -
08:49 PM Revision b5a2c60d (git): [PRISM] Support SCRIPT_LINES__
-
08:44 PM Revision c4697991 (git): Do not modify provided argument splat when using ruby2_keywords with anonymous splat
- Previously, this would push the provided keywords onto the argument
splat. Add ruby2_keywords to the list of other checks for whether
it is safe for treating a given splat as mutable when the called
method accepts an anonymous splat. -
07:54 PM Revision 71f16d49 (git): Raise errors for dumping prism parse tree
-
07:20 PM Revision b4880af0 (git): [PRISM] Fix test_bug_reporter with prism
-
07:11 PM Revision cb98b018 (git): [PRISM] Fix else with rescue
- Fixes ruby/prism#2307.
-
07:07 PM Revision 95c9711d (git): [rubygems/rubygems] Fix musl platform not being added to the lockfile
- https://github.com/rubygems/rubygems/commit/235f7b4266
-
06:41 PM Revision c28ee912 (git): [PRISM] Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat
- This copies the changes from 771a2f039b9a059a73e8f111d1d46590fa697f63.
Fixes ruby/prism#2310. -
06:41 PM Revision 610636fd (git): [PRISM] Mirror iseq APIs
- Before this commit, we were mixing a lot of concerns with the prism
compile between RubyVM::InstructionSequence and the general entry
points to the prism parser/compiler.
This commit makes all of the various prism-related APIs mirror
th... -
06:13 PM Revision 21031f0a (git): YJIT: Float arithmetics are actually leaf
- with these guards in YJIT.
The previous commit was to fix "conflict" between two PRs, but I
actually wanted to use it here, which is why I filed the other one. -
06:10 PM Revision 2220c4cf (git): YJIT: s/jit_prepare_routine_call/jit_prepare_non_leaf_call/
-
05:58 PM Revision 09427f51 (git): YJIT: Add codegen for Float arithmetics (#9774)
- * YJIT: Add codegen for Float arithmetics
* Add Flonum and Fixnum tests -
05:54 PM Revision cc9bbbdd (git): YJIT: Add jit_prepare_for_gc function (#9775)
- * YJIT: Add jit_prepare_for_gc function
* s/jit_prepare_routine_call/jit_prepare_non_leaf_call/
* s/jit_prepare_for_gc/jit_prepare_call_with_gc/
* Use jit_prepare_call_with_gc for leaf builtin -
04:54 PM Revision 06732d49 (git): [rubygems/rubygems] Remove truffleruby specific stuff no longer needed
- We're already testing with truffleruby 23.
https://github.com/rubygems/rubygems/commit/cd0494d628 -
04:30 PM Bug #20228: Memory leak in Regexp timeout
- > Using ruby APIs in onigmo doesn’t feel nice.
I changed it to call `HANDLE_REG_TIMEOUT_IN_MATCH_AT` in onigmo, which calls `rb_reg_raise_timeout` so then there is no Ruby code in onigmo.
> ...
I think it can only raise when there ... -
04:12 AM Bug #20228: Memory leak in Regexp timeout
- Good find, thanks!
I'm a little concerned about the overhead of `rb_protect` for a typical simple match, but it's neglectable? -
12:57 AM Bug #20228: Memory leak in Regexp timeout
- Using ruby APIs in onigmo doesn’t feel nice.
-
03:47 PM Revision 51753ec7 (git): Annotate Symbol#to_s as leaf (#9769)
-
01:22 PM Revision a322b2fa (git): [rubygems/rubygems] Make slow perf specs more stable
- This seems worse to detect performance regressions, but at least should
not have many false positives.
https://github.com/rubygems/rubygems/commit/0b28e55415 -
01:21 PM Revision c70052e5 (git): [rubygems/rubygems] WEBrick:Utils::TimeoutHandler is always provided after webrick gem
- https://github.com/rubygems/rubygems/commit/b0502a0c50
-
12:43 PM Revision 5808c869 (git): [ruby/prism] Fix description of line parsing option and state it's 1-indexed
- https://github.com/ruby/prism/commit/b2d2b91222
-
12:14 PM Revision 171d4bec (git): [rubygems/rubygems] Fix some flaky test failures on Windows
- Some specs assert empty output, but sometimes they print warnings about
redefinition warnings. Ignore those until they are fixed upstream.
https://github.com/rubygems/rubygems/commit/0cd3b6dbae -
11:43 AM Bug #19999: Backport: .travis.yml and fixed commits
- jaruga (Jun Aruga) wrote in #note-8:
> @nagachika I sent the PR to the ruby_3_2 branch to pass Travis CI with the latest config file that exists on master and ruby_3_3 branches. You can do cherry-pick the commits or merge the PR.
> ...... - 10:43 AM Revision aefc9889 (git): readline: Skip the test_interrupt_in_other_thread on arm32.
- Skip the test_interrupt_in_other_thread test failing on Travis arm32.
The failing test is not a new issue. It had already been skipped in .travis.yml
before updating .travis.yml.
https://github.com/ruby/ruby/blob/7b05cb8dbbd637910757f402... - 10:43 AM Revision fc25e166 (git): Backport .travis.yml from ruby_3_3 branch.
- Update the .travis.yml file copied from the latest ruby_3_3 branch
<5124f9ac7513eb590c37717337c430cb93caa151>. -
08:57 AM Misc #20013: Travis CI status
- jaruga (Jun Aruga) wrote in #note-16:
> > Now I am testing the Travis s390x on my forked repository.
> ...
Merged. The s390x is added on Travis again.
- 08:56 AM Revision 816ce53a (git): Revert ".travis.yml: Drop s390x temporarily."
- This reverts commit 7ded31d36dc78c1495b03a45ec1a3235fdd81f1e.
I was told from Travis CI support that their infra team has deployed a fix for
the issue we encountered with the s390x build environment. - 07:15 AM Revision 2deb105a (git): Bump ruby/setup-ruby from 1.169.0 to 1.170.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.169.0 to 1.170.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/5daca165445f0ae10478593083f72ca262... -
07:14 AM Revision a7ebe467 (git): Add newline between end and def
-
07:14 AM Revision 45b53dd8 (git): Add the ability to generate Launchable test reports
-
06:23 AM Bug #20230 (Closed): Fix crash when passing large keyword splat to method accepting keywords and keyword splat
- The following code causes a crash in Ruby 2.2-3.3 and master:
```ruby
h = {}
1000000.times{|i| h[i.to_s.to_sym] = i}
def f(kw: 1, **kws) end
f(**h)
```
Inside a thread or fiber, the size of the keyword splat could be much smal... -
05:56 AM Revision 3de2ab7f (git): [ruby/yaml] Make PStore support as optional
- https://github.com/ruby/yaml/commit/da421ce46f
-
05:56 AM Revision 7c8f9603 (git): [flori/json] Make OpenStruct support as optional
- https://github.com/flori/json/commit/202ffe2335
-
04:31 AM Revision f3df218f (git): Introduced `rb_node_const_decl_val` function
- Introduce `rb_node_const_decl_val` function to allow `rb_ary_join` and
`rb_ary_reverse` functions to be removed from Universal Parser. -
03:16 AM Feature #20108: Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
- Regarding the content mentioned above, I have made the following changes to the commit:
https://github.com/ruby/ruby/pull/9374/commits/461b75830599408feca086f7f6719b8426008802
- Improved performance in the case where there is only one a...
01/30/2024
-
11:41 PM Misc #20013: Travis CI status
- > Now I am testing the Travis s390x on my forked repository.
I tested. I sent a PR to add the s390x again.
https://github.com/ruby/ruby/pull/9773
-
07:48 PM Misc #20013: Travis CI status
- jaruga (Jun Aruga) wrote in #note-14:
> I will drop the s390x case in Travis CI temporarily. I am not sure that the issue comes from an infra or Ruby. But right now the test failing with 50 minutes is not convenient as a CI.
> ...
I go... -
02:33 PM Misc #20013: Travis CI status
- I will drop the s390x case in Travis CI temporarily. I am not sure that the issue comes from an infra or Ruby. But right now the test failing with 50 minutes is not convenient as a CI.
https://github.com/ruby/ruby/pull/9758
-
12:46 PM Misc #20013: Travis CI status
- It seems that Travis s390x is slow, running out the max 50 minutes (ruby_3_3 specific issue?),
https://app.travis-ci.com/github/ruby/ruby/builds/268615249
Or not starting soon.
https://app.travis-ci.com/github/ruby/ruby/builds/26861... -
11:06 PM Bug #20227: Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
- FWIW I'm keeping https://gist.github.com/eregon/912e6359e83781c5fa1c638d3768c526 to show that more methods are being implemented in Ruby (it's great).
And indeed that means gems sometimes need to handle backtrace entries starting with `... -
07:23 PM Bug #20227: Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
- For the record I fixed it in Rails with https://github.com/rails/rails/pull/50923.
-
05:57 PM Bug #20227: Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
- As Jean said, this is intentional. It's not new in Ruby 3.4 that we're changing backtraces by Ruby rewrite (Ruby 3.0: `Kernel#tap` and `Kernel#then`, Ruby 3.3: `Kernel#loop` and `Integer#times`), but I guess `Array#each` is more commonly...
-
12:19 PM Bug #20227 (Closed): Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
- @yahonda this isn't a regression, it happens when methods are migrated from pure C to the new Primitive system. It's Rails that should be fixed.
-
11:47 AM Bug #20227 (Closed): Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
- Unexpected "<internal:array>" appears since c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
Rails CI against Ruby master branch gets failed
https://buildkite.com/rails/rails-nightly/builds/85#018d3dec-4a38-41cb-9ebf-1cbc78a697ba/1147-1156
... -
10:22 PM Revision 8041b7d9 (git): [PRISM] pm_compile_logical: Fix OrNode in IfNode predicate
- Fixes: https://github.com/ruby/prism/issues/2294
-
10:22 PM Revision 1142ed2f (git): [PRISM] Remove unneccessary uses of cond_seq
- As this is compiled into only on the recursive call and then added, we
can just use `ret` directly -
09:43 PM Revision dddef93b (git): Fix memory leak in File.expand_path
- File.expand_path leaks the dir if the encodings are not compatible.
For example:
Encoding.default_external = Encoding::UTF_16BE
10.times do
100_000.times do
File.expand_path("./a")
rescue
end
p... -
08:29 PM Bug #20229: Empty keyword splat in array not removed in ARGSPUSH case
- I found that this bug was actually reported earlier in #20180, which I already have submitted a pull request to fix. I think we should use the approach in this pull request to fix this issue in master, as it is more efficient. We could...
-
08:00 PM Bug #20229 (Closed): Empty keyword splat in array not removed in ARGSPUSH case
- For the following code:
```ruby
a = []
kw = {}
[*a, **kw]
```
Ruby 2.0-3.3 return `[{}]`, when the desired result (since 2.7) is `[]`.
I discovered this while working on an optimization for the ARGSCAT case, where `[*a, 1, *... -
07:59 PM Revision c1f8d974 (git): YJIT: Specialize splatkw on T_HASH (#9764)
- * YJIT: Specialize splatkw on T_HASH
* Fix a typo
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
* Fix a few more comments
---------
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
07:57 PM Revision fe5590e4 (git): YJIT: add specialized codegen for fixnum XOR (#9763)
-
07:29 PM Bug #20228 (Closed): Memory leak in Regexp timeout
- GitHub PR: https://github.com/ruby/ruby/pull/9765
If a Regexp::TimeoutError is raised, the `stk_base` and `OnigRegion` will leak.
For example:
```ruby
Regexp.timeout = 0.001
regex = /^(a*)*$/
str = "a" * 1000000 + "x"
10.t... -
06:45 PM Revision 731367d0 (git): [ruby/prism] Fix up CI
- https://github.com/ruby/prism/commit/224ea85565
-
06:19 PM Revision 8e708e4a (git): Update forwarding locals for prism
-
05:54 PM Revision 6b350bc6 (git): [DOC] Note about the ticket number
-
05:49 PM Revision 1891b4b6 (git): [DOC] Add a NEWS entry about Array#each
- in response to [Bug #20227]
-
04:47 PM Revision 20732cad (git): Make compile_array first_chunk argument bool instead of int
-
04:47 PM Revision 332e0db6 (git): Avoid unnecessary array allocation for ARGSCAT with LIST body
- Previously, this would use newarray followed by concattoarray.
This now uses pushtoarray instead, avoiding the unnecessary
array allocation.
This is implemented by making compile_array take a first_chunk
argument, passing in 1 in the no... -
04:10 PM Revision ba06a825 (git): [ruby/prism] Better error messages for unexpected tokens in prefix
- https://github.com/ruby/prism/commit/a35b8e45ee
-
03:29 PM Revision c85e28d1 (git): [PRISM] Remove unused variable
- 03:22 PM Revision 846f87ee (git): .travis.yml: Drop s390x temporarily.
- The s390x pipelines are timeout (50 minutes) on both master and ruby_3_3
branches. Drop it temporarily.
* https://app.travis-ci.com/github/ruby/ruby/builds/268617296
* https://app.travis-ci.com/github/ruby/ruby/builds/268615249 -
03:21 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- > many developers will have come to rely on and expect that behavior,
I think that's a fair point, similar to e.g Set insertion ordering, even though that's not documented I'm pretty sure some Ruby code relies on it because it holds s... -
02:50 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- If sort *was* stable for a long time (it does seem like it was, but I am not 100% sure), then despite Ruby's disclaimer, *many developers* will have come to rely on and expect that behavior, and consider this as "a behavior change that b...
-
01:48 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- Regardless of any individual impressions, Ruby never made any stability guarantees for sorting. It was always explicit that sorting MAY BE unstable. This is because Ruby delegates the actual sorting to the efficient sorting routines prov...
-
01:34 PM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- Whether or not Ruby's documentation made any explicit guarantees, I was under the strong impression (as per the Ruby behavior I've observed for 10 years) that Ruby did have a stable sort. Other `Array` operations such as `-` (minus), `un...
-
10:58 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- `Enumerable#sort_by` was also documented to not be stable in 3.2 (and previous versions): https://ruby-doc.org/3.2.3/Enumerable.html#method-i-sort_by
What might have changed (this is a layman's guess since I don't know the internals o... -
10:44 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- > Sorting in Ruby never was stable
My mistake, like Roger Pack in https://github.com/crystal-lang/crystal/issues/2350#issuecomment-550188746, my experience is sort looks stable (on Linux).
And sort is stable on TruffleRuby since it u... -
10:25 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- Here is the previous discussion from 15 years ago: https://bugs.ruby-lang.org/issues/1089
It might be about time to revisit the performance impact of a stable sort, imo, but that's not the discussion on this ticket. -
10:22 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- Sorting in Ruby never was stable. There were discussions to make it stable, but Matz was concerned about the speed impact. I don't think this particular case is a regression, the behaviour of sort depends on the number of elements, and o...
-
10:17 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- When was `sort`/`sort_by` changed to no longer be stable? I don't remind any ticket about it or NEWS entry.
IMO it's a pretty big change to make it non-stable when it has been stable for so long.
Especially for a high-level language li... -
10:15 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- You can force stability by using the original index as a tiebreaker.
```ruby
arr = [*Array.new(15,1), -0.02, 0.02]
puts "Unstable: #{arr.sort_by(&:abs)[0..1]}"
puts "Stable: #{arr.sort_by.with_index { [_1.abs, _2] }[0..1]}"
``` -
03:39 AM Bug #20226: Inconsistent Sort results on 3.3.0 compared to previous versions
- `sort` family methods do not guarantee stable sort.
That means the result order of the same value elements is not affected by the original order of those elements. -
03:26 AM Bug #20226 (Closed): Inconsistent Sort results on 3.3.0 compared to previous versions
- Try this code block:
```
[-0.9, -0.88, -0.85, -0.83, -0.81, -0.79, -0.77, -0.75, -0.73, -0.71, -0.69, -0.67, -0.65, -0.63, -0.6, -0.58, -0.56, -0.54, -0.52,
-0.5, -0.48, -0.46, -0.44, -0.42, -0.4, -0.38, -0.35, -0.33, -0.31, -0.29, -... -
02:45 PM Revision 4e72c9af (git): rbinstall.rb: Fix a closing parenthesis [ci skip]
-
02:02 PM Misc #19758: Statically link ext/json
- Hello,
I am facing the same issue today, though I am presently on Ubuntu, not windows. I realized that `Init_ext` was doing nothing (I couldn't then use `require 'bigdecimal'` without a crash) by using a debugger and I noticed that it ... -
01:49 PM Revision 928f3884 (git): [DOC] Fix Ripper DSL input example
- '!' suffix is needed for event dispatch.
-
01:36 PM Revision 64fa4c75 (git): rbinstall.rb: Show types to install in the help [ci skip]
-
12:55 PM Revision fd44b42f (git): [ruby/irb] Fix undef and alias indent
- (https://github.com/ruby/irb/pull/838)
https://github.com/ruby/irb/commit/a641746b18 -
12:18 PM Revision f73ae058 (git): Prefer `sa_handler` to `sa_sigaction` in Wasm
- Previously the code assigns `handler` function pointer, which accepts
one argument, to `sigact.sa_sigaction`, which accepts three argument.
This mismatch is not allowed in Wasm.
I don't see the reason to use `sa_sigaction` here, so this... -
11:29 AM Revision f585171a (git): merge revision(s) e12d4c654e3cb7a4473014610bc3bae41aaf811e: [Backport #20104]
- Don't create T_MATCH object if /regexp/.match(string) doesn't match
Fixes [Bug #20104]
---
re.c | 9 ++++++---
test/ruby/test_regexp.rb | 12 ++++++++++++
tool/lib/envutil.rb... -
11:28 AM Bug #20090: Anonymous arguments are now syntax errors in unambiguous cases
- ruby_3_3 f8f0d342e48a38caac6d32b438c145bb581a51e6 merged revision(s) 3d19409637de1462b6790d2a92344bf0a10d8c52.
-
10:19 AM Revision 86547fd6 (git): [ruby/io-console] Move the condition to omit to command line option
- https://github.com/ruby/io-console/commit/32583460e1
-
10:19 AM Revision c2cb5b44 (git): [ruby/io-console] Move the condition to omit outside the method
- https://github.com/ruby/io-console/commit/8b9b5b611a
-
09:57 AM Revision f8f0d342 (git): merge revision(s) 3d19409637de1462b6790d2a92344bf0a10d8c52: [Backport #20090]
- Use index for referring to symbols in `args` rule instead of named
references
In `args: args ',' arg_splat`, `args` is not unique name.
Currently the associated rule is interpreted as
`$$ = rest_arg_appe... -
09:26 AM Revision 2f54422d (git): [rubygems/rubygems] Update namespace Gem::Resolver::Molinillo to Gem::Molinillo
- https://github.com/rubygems/rubygems/commit/6c4caf3ab0
-
09:26 AM Revision b31995d8 (git): [rubygems/rubygems] Rename molinillo wrapper file to vendored_molinillo.rb
- https://github.com/rubygems/rubygems/commit/d7c15f6fd7
-
09:00 AM Revision 9f18cbd7 (git): Revert "merge revision(s) bc002971b6ad483dbf69b8a275c44412bb6ab954: [Backport #20094]"
- This reverts commit d4b780e84e9a6b858d0f6c6a44b22da0d2f5835e.
-
08:41 AM Revision d4b780e8 (git): merge revision(s) bc002971b6ad483dbf69b8a275c44412bb6ab954: [Backport #20094]
- [Bug #20094] Distinguish `begin` and parentheses
---
compile.c | 1 +
parse.y | 36 +++++++++++++++++++++---------------
test/ruby/test_whileuntil.rb | 18 +++++++... -
05:48 AM Revision 361b3efe (git): Use `UNDEF_P`
-
05:07 AM Revision 03246171 (git): Move molinillo under the vendor directory
-
05:07 AM Revision dfa8e696 (git): Move tsort under the vendor directory
-
05:06 AM Revision 881e76ce (git): Move timeout under the vendor directory
-
05:05 AM Revision 04dbdc81 (git): Move net-http under the vendor directory
-
05:05 AM Revision 6933aee9 (git): Move net-protocol under the vendor directory
-
05:03 AM Revision 898090ad (git): Move optparse under the vendor directory
-
05:01 AM Revision 5a0302d2 (git): Move resolv under the vendor directory
-
04:02 AM Revision d187e06d (git): [rubygems/rubygems] Load wrapper file for vendored timeout
- https://github.com/rubygems/rubygems/commit/deb1b6d293
-
03:22 AM Revision 83966a57 (git): [PRISM] Method location for calls
-
03:21 AM Bug #20190 (Closed): `invalid_encoding_string << number` should be valid encoding in some case, but does not
-
03:19 AM Revision db5d9429 (git): YJIT: No need to RESTORE_REG now that we reject tailcalls
- Thanks to Kokubun for noticing.
Follow-up: b0711b1cf152afad0a480ee2f9bedd142a0d24ac -
03:10 AM Bug #20083: String#match? behaving inconsistently with Ruby 3.3.0
- ruby_3_3 5f3dfa1c273c6fb9eae65ceca633b46f7e30f686 merged revision(s) d8702ddbfbe8cc7fc601a9a4d19842ef9c2b76c1.
-
01:27 AM Bug #20083 (Closed): String#match? behaving inconsistently with Ruby 3.3.0
-
02:53 AM Bug #20225 (Assigned): Inconsistent behavior of regex matching for a regex has a null loop
- Usually, in Ruby (Onigmo), when a null loop (a loop consuming no characters) occurs on regex matching, this loop is terminated. But, if a loop has a capture and some complex condition is satisfied, this causes backtracking. This behavior...
-
02:09 AM Bug #20086: Windows memory mapped file `IO::Buffer` is buggy.
- ruby_3_3 818b4ea9b16e3570b431b86da9a24a5743b29617 merged revision(s) e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6.
-
01:39 AM Bug #20224 (Closed): Backport https://github.com/ruby/ruby/pull/9634 to Ruby 3.3
- It's nice if we can backport https://github.com/ruby/ruby/pull/9634 (3d19409637de1462b6790d2a92344bf0a10d8c52) to Ruby 3.3 branch.
Even so previous codes work as expected but it depends on how parse.c works and misleading.
-
01:31 AM Revision 5f3dfa1c (git): merge revision(s) d8702ddbfbe8cc7fc601a9a4d19842ef9c2b76c1: [Backport #20083]
- Fix [Bug #20083]: correct a cache point size for atomic groups
(#9367)
---
regexec.c | 2 +-
test/ruby/test_regexp.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-) -
01:24 AM Revision 818b4ea9 (git): merge revision(s) e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6: [Backport #20086]
- Fix Window private file mapping unlink EACCES issue. (#9358)
* Don't return early.
* Add missing `mapping` assignment.
* Make debug logs conditional.
---
io_buffer.c | 18 ++++++...
01/29/2024
-
11:59 PM Feature #20196: Proposal: Binary data literal
- For what it's worth, there's a shorthand String#b.
``` ruby
"\xAB\xCD\xEF\x12\x34\x56".b
#=> => "\xAB\xCD\xEF\x124V"
```
For fun, here's a Ruby implementation along the lines of what you propose.
```ruby
module Kernel
def... -
11:14 PM Bug #20095 (Closed): Regex lookahead behaving strangely in 3.3.0
- If the duplicate has already be resolved, then let's close this, too.
-
02:03 PM Bug #20095: Regex lookahead behaving strangely in 3.3.0
- It is the exact same as #20207.
-
10:15 PM Revision bbb7ab90 (git): [PRISM] Fix crash when multiple underscores
- Fixes ruby/prism#2295.
-
10:11 PM Revision 4cf3c026 (git): Fix RegExp warning causing flaky Ripper failure
- Sometimes this file get picked up and break Ripper tests:
TestRipper::Generic#test_parse_files:test/ruby
assert_separately failed with error message
pid 63392 exit 0
| test_regexp.rb:2025: warning: character class has du... -
10:05 PM Revision 2d6f7d08 (git): Fix test/ruby/test_rubyoptions.rb + --parser=prism
-
09:38 PM Revision 3fb74106 (git): [PRISM] Fix rescue frame label
-
09:34 PM Revision 8e1fe15b (git): [PRISM] Implement opt_str_uminus
-
09:25 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- I have tried several things using `require` and `autoload` with the [test scheduler](https://github.com/ruby/ruby/blob/master/test/fiber/scheduler.rb) and cannot get a deadlock by now.
-
04:29 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- I'll open a separate issue for this :). If `require` is fiber-safe I'd like to know and maybe improve its docs. If it is not, that may be important.
-
04:10 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- So, we are arriving at the concern I expressed above in the first message of this "subthread".
Since fiber schedulers have no contract related to `require` or `autoload`, my understanding is that these methods are thread-safe and not ... -
03:59 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- > That is less the case with fiber schedulers, no?
It's still cooperative. You implicitly yield on IOs sure, but still won't be prempted after running for too long.
> ...
I don't see why not, but I may be missing something. I'm not... -
03:56 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- To me, this is related with `autoload`, because it is the `autoload` the one making the fibers deadlock. If the last line was
```ruby
Fiber.new { p 1 }.resume
```
instead of a reference to the constant being autoloaded, there wou... -
01:44 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- > If a fiber does a non-blocking operation while the file is being loaded, and that was part of an autoload or require, what can we assume about that situation?
I don't think it's anything particular to `autoload`.
`autoload` simpl... -
09:17 PM Revision bc10b958 (git): YJIT: print warning when disasm options used without a dev build (#9744)
- * YJIT: print warning when disasm options used without a dev build
I was confused for a few minutes the other way then
--yjit-dump-disasm printed nothing, so I figured this would be
useful for end-users (and future me).
* Fix lone extr... -
07:53 PM Revision 32bbf475 (git): [PRISM] Use opt_str_freeze instruction
- Fixes ruby/prism#2290.
-
07:44 PM Feature #20080: Introduce #bounds method on Range
- Oh you're right, it seems like I mixed up the #deconstruct comment in note-2 with the rejection notice in note-3.
Although imho it doesn't feel intuitive to pattern-match a range like that. I would expect to able to do `1..8 in [*,5,*]`... -
07:13 PM Revision d7501c40 (git): [PRISM] Fix InterpolatedStringNode
- If the first element of an interpolated string node is an embedded
statement, CRuby "pre-initializes" the interpolation with a string of
known encoding to concat into.
This patch replicates thate behaviour in Prism -
06:56 PM Revision 3d3d9e83 (git): [PRISM] Support US-ASCII symbols
-
06:56 PM Revision d980c892 (git): [PRISM] Support ASCII-8BIT symbols
-
06:56 PM Revision f634c7a2 (git): [PRISM] Support UTF-8 symbols
- Fixes ruby/prism#2242.
-
06:42 PM Revision d39d9e06 (git): [ruby/prism] Fix binding power for modifier rescue
- https://github.com/ruby/prism/commit/f614863d79
-
05:23 PM Revision 1005b7d2 (git): Revert "Provisionally ignore panics that happen in these days often"
- This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa.
We expect https://github.com/ruby/ruby/pull/9729 to address the failure. - 05:22 PM Revision d42330d7 (git): [rubygems/rubygems] Improve gem login scope selection
- https://github.com/rubygems/rubygems/commit/26c7abe5f6
-
05:21 PM Revision b0711b1c (git): YJIT: Fix tailcall and JIT entry eating up FINISH frames (#9729)
- Suppose YJIT runs a rb_vm_opt_send_without_block()
fallback and the control frame stack looks like:
```
will_tailcall_bar [FINISH]
caller_that_used_fallback
```
will_tailcall_bar() runs in the interpreter and sets up a tailcall.
Right ... -
04:54 PM Bug #20223 (Rejected): For simple objects each_cons appears to work as I expect, but for other objects it seems to fail to terminate iterations when I would expect.
- Not a bug, you are doing `yield @obj.each(&block)`, and Array#each returns the receiver.
-
04:48 PM Bug #20223 (Rejected): For simple objects each_cons appears to work as I expect, but for other objects it seems to fail to terminate iterations when I would expect.
- Reproduce process:
``` ruby
p `ruby -v`
class X
include Enumerable
attr_accessor :obj
def initialize = @obj = (1..5).to_a
def each(&block) = yield @obj.each(&block)
end
wtf = X.new
(1..5).each_cons(3) { |g| p g }
p '... -
04:42 PM Revision 9a5a11f3 (git): [PRISM] Use the splatkw instruction
- Fixes ruby/prism#2272.
-
04:33 PM Misc #20222 (Closed): Dedup-ing clarification
- ``` ruby
source = %q{"foo".freeze.equal?("foo".freeze)}
RubyVM::InstructionSequence.compile(source).eval # => true
RubyVM::InstructionSequence.compile_option = false
RubyVM::InstructionSequence.compile(source).eval # => false
```
... -
04:09 PM Revision e050097b (git): [ruby/prism] Raise diagnostics for parser
- https://github.com/ruby/prism/commit/102b4a16f5
-
03:36 PM Revision adf29c9a (git): YJIT: add asm comment when we clear local types (#9713)
- Small PR to add a comment when we clear local variable types,
so we can be aware that it's happening when looking at the disasm. -
03:05 PM Revision fde3d065 (git): Add removable and refcnt output to labels
- Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
-
03:04 PM Bug #20212 (Closed): Regex match method is crashing - (irb):6: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
- Applied in changeset commit:git|3e6e3ca2627b1aa71b17de902cc1b8188246a828.
----------
Correctly handle consecutive lookarounds (#9738)
Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, s... -
12:22 PM Bug #20212: Regex match method is crashing - (irb):6: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
- It is the exact same bug as #20207.
-
03:04 PM Bug #20207 (Closed): Segmentation fault for a regexp containing positive and negative lookaheads
- Applied in changeset commit:git|3e6e3ca2627b1aa71b17de902cc1b8188246a828.
----------
Correctly handle consecutive lookarounds (#9738)
Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, s... -
03:04 PM Revision c422805b (git): [PRISM] Fix encoding for interpolated strings.
- This wasn't taking into account strings with flags set on the containing
node that could affect the encoding. It does now -
02:51 PM Revision 3e6e3ca2 (git): Correctly handle consecutive lookarounds (#9738)
- Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, so it
causes invalid memory access reported in [Bug #20207] and [Bug #20212].
This fixes it by using recursive functions to detected look... -
02:45 PM Revision 0d4de0f4 (git): wasm: align fiber stack pointer to 16 bytes
- In WebAssembly C ABI, the linear stack pointer must be always aligned
to 16 bytes like other archs.
The misaligned stack pointer causes some weird memory corruption since
compiler assumes the aligned stack pointer. -
11:17 AM Bug #20221: ASAN: make test-basic: un-prefixed symbol leakage
- Thanks for this. I'm able to reproduce this on my machine (Fedora 39 with clang 17.0.6). A cursory inspection suggests this might be a new behaviour in Clang 17, because of `-fsanitize-address-use-odr-indicator` defaulting to on (https:/...
-
10:48 AM Bug #20221 (Closed): ASAN: make test-basic: un-prefixed symbol leakage
- When building and running the tests (here, test-basic) with ASAN enabled, it fails with the following message:
```
Checking leaked global symbols...leaked
__odr_asan_gen_rb_cArray
__odr_asan_gen_ruby_digitmap
__odr_asan_gen_... -
08:16 AM Revision 8bff7e99 (git): [DOC] Move "Execution Shell on Windows" under "Execution Shell"
-
07:57 AM Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
- I'm wondering which encoding should be used if the parser hits invalid source encoding like `# coding: foo`. I think it's needed to clarify which encoding is assumed on this ticket.
-
07:46 AM Bug #20147: FreeBSD libyaml
- Analyzing the changes made on January 6. From 9b78ef75522b1f6aa20fc81ddf06e5fb40db152d I am not able to compile. Even though the previous commits I can compile, the message of yaml.h not being found keep showing up.
-
05:30 AM Bug #20147: FreeBSD libyaml
- The 76afbda5b566148b9e73939e0ff9b8464d59806c. The last commit from January 6 is not compiling. It seems that something was changed on January 6 that broke the compilation in my environment.
-
04:35 AM Bug #20147: FreeBSD libyaml
- The day I reported this bug I was still able to compile Ruby using master. Today I have decided to try compiling again from master, before compiling I have fetched from upstream and the compilation was not working anymore. If I use the 7...
-
05:39 AM Revision 933ede5d (git): [rubygems/rubygems] Remove `travis_removal_info`
- `travis_removal_info` is added by https://github.com/rubygems/rubygems/pull/6150. According to the comment, it's supposed to be removed at bundler v2.5.0 but it hasn't.
https://github.com/rubygems/rubygems/commit/e18797d43f -
03:20 AM Revision e99951ed (git): [rubygems/rubygems] Simplify how extensions are built
- https://github.com/rubygems/rubygems/commit/0b8faf1e39
-
03:20 AM Revision 5ea4df6a (git): [rubygems/rubygems] Remove annoying debug info
- Sometimes you want this, sometimes you don't. And when you don't, this
hides other debugging puts you may have added.
https://github.com/rubygems/rubygems/commit/df37582c81 -
03:19 AM Revision 1991c6d7 (git): [rubygems/rubygems] Remove now unnecessary elseif
- https://github.com/rubygems/rubygems/commit/d05b9e659b
Co-authored-by: Samuel Giddins <segiddins@segiddins.me> -
03:19 AM Revision 355480de (git): [rubygems/rubygems] Properly restore empty env vars
- https://github.com/rubygems/rubygems/commit/e0d68a8688
-
03:18 AM Revision 2956d3a5 (git): Removed duplicated license file
-
03:15 AM Revision 5a884c2e (git): [rubygems/rubygems] Add a spec to prove uri is no longer loaded
- https://github.com/rubygems/rubygems/commit/3a262f55c8
-
03:15 AM Revision 5f9c1200 (git): [rubygems/rubygems] Remove no longer needed uri install during specs
- https://github.com/rubygems/rubygems/commit/7f35dc19c5
-
03:15 AM Revision f3123f8a (git): [rubygems/rubygems] Use rubygems vendored uri from Bundler when available
- https://github.com/rubygems/rubygems/commit/5d6a8f2fb4
-
03:14 AM Revision d64d0b54 (git): Vendor uri gem in RubyGems
-
03:02 AM Revision 6bbbfb46 (git): [rubygems/rubygems] Require vendored_uri file in Bundler
- https://github.com/rubygems/rubygems/commit/62bc261042
01/28/2024
-
05:56 PM Bug #20188: `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- While in threads Ruby controls context switching and coordination for autoloading constants or loading files with `Kernel#require` is built-in, the problem I see with fibers is that Ruby has no control, the user has the control by design...
-
04:12 PM Feature #20080: Introduce #bounds method on Range
- @Dan0042 To be fair, that ticket seems to have rejected "old-style" deconstruction mainly (`b, e = range`). The possibility of `#deconstruct` is mentioned in one of the comments, but rejection is more vague on it.
-
02:07 AM Feature #20080: Introduce #bounds method on Range
- AMomchilov (Alexander Momchilov) wrote in #note-15:
> Could we implement this as `#deconstruct`, so Ranges can support destructuring?
This was rejected in the original ticket from which this one originated: #20027#note-3
-
03:27 PM Revision 5ac9c8f0 (git): [ruby/win32ole] [DOC] Remove spaces inside parentheses
- https://github.com/ruby/win32ole/commit/57e4a38465
-
03:25 PM Revision 8074525b (git): [ruby/win32ole] Move toplevel constant for olegen under `WIN32OLE`
- https://github.com/ruby/win32ole/commit/78ff137c0f
-
03:25 PM Revision 3ad54239 (git): [ruby/win32ole] [DOC] Move sample to toplevel
- https://github.com/ruby/win32ole/commit/70ea60c4d2
-
03:25 PM Revision 703ad99b (git): [ruby/win32ole] Use `end_with?` and fix indent
- https://github.com/ruby/win32ole/commit/7648ee7e56
-
03:25 PM Revision bd6f9834 (git): [ruby/win32ole] Use the scoped names in the tests
- https://github.com/ruby/win32ole/commit/2b91b6b838
-
03:25 PM Revision 8af4ef30 (git): [ruby/win32ole] Move `WIN32OLE` prefixed error classes under `WIN32OLE`
- https://github.com/ruby/win32ole/commit/1c95816168
-
03:25 PM Revision 1e2d088d (git): [ruby/win32ole] Use the scoped names in `inspect` and error messages
- https://github.com/ruby/win32ole/commit/2f51493bd1
-
03:25 PM Revision baef72da (git): [ruby/win32ole] [DOC] Update class names using the scoped names
- https://github.com/ruby/win32ole/commit/2c5d193da7
-
03:25 PM Revision 1bc48684 (git): [ruby/win32ole] Rename `WIN32OLE::Typelib` as `WIN32OLE::TypeLib`
- https://github.com/ruby/win32ole/commit/5feede2cc5
-
03:25 PM Revision 853bcf65 (git): [ruby/win32ole] Rename `WIN32OLE::VARIANT` as `WIN32OLE::VariantType`
- Prevent name clash with `WIN32OLE::Variant`, of generated document
files on case-insensitive filesystems, such as Windows.
https://github.com/ruby/win32ole/commit/049e5f0a6e - 12:38 PM Revision c1666158 (git): [ruby/reline] Add metadata for rubygems.org
- (https://github.com/ruby/reline/pull/638)
https://github.com/ruby/reline/commit/d3a324d22c -
10:53 AM Bug #20219 (Closed): Segfault with circular parameter
- Applied in changeset commit:git|23b8337cd10329020d74a2f0d8e43434645c4d5b.
----------
[Bug #20219] `gettable` returns NULL on error -
10:15 AM Revision 23b8337c (git): [Bug #20219] `gettable` returns NULL on error
-
10:11 AM Bug #20217 (Closed): void value not checked for begin/ensure/rescue
- Applied in changeset commit:git|fed877c791f1c16a2b1a2c9a167b7f433505794d.
----------
[Bug #20217] `return` with `ensure` is a void value expression -
09:44 AM Revision 5f733a1a (git): [Bug #20217] `rescue` block is void only if all children are void
-
09:44 AM Revision fed877c7 (git): [Bug #20217] `return` with `ensure` is a void value expression
-
06:49 AM Revision d3e6bcd3 (git): [ruby/digest] [DOC] Expand `Digest::SHA2` definitions for RDoc
- Since RDoc searches `var = rb_define_class_under(...)` statements
literally, they cannot be built by macros.
https://github.com/ruby/digest/commit/d39b684f91 -
06:49 AM Revision 81702b4b (git): [ruby/digest] Prefer `rb_const_get` over `rb_path2class` for direct constants
- https://github.com/ruby/digest/commit/e5d30394b3
-
06:49 AM Revision f475dc1c (git): [ruby/digest] [DOC] Add .document
- https://github.com/ruby/digest/commit/6db96aa99a
-
04:55 AM Bug #20220 (Closed): M:N threading needs to tell ASAN about stack switches
- When switching stacks via `coroutine_transfer` in the M:N threading information, we need to tell ASAN about it in the same way that we do in cont.c. This is a matter of calling `__sanitizer_start_switch_fiber` in the transferring M:N thr...
-
03:46 AM Revision e0f4c4e4 (git): Provisionally ignore panics that happen in these days often [ci skip]
- ```
ruby: YJIT has panicked. More info to follow...
thread '<unnamed>' panicked at src/core.rs:2751:9:
assertion `left == right` failed: each stub expects a particular iseq
left: 0x7fc8d8e09850
right: 0x7fc8d2c2f3a0
stac... -
03:30 AM Revision 3dde9c1b (git): Extract continue-on-error condition to the matrix [ci skip]
-
02:12 AM Revision e018036d (git): Rename `nd_head` in `RNode_RESBODY` as `nd_next`
-
02:11 AM Revision 0f98d284 (git): Remove unused `nd_resq` from `RNode_ENSURE`
-
01:10 AM Revision e256d44f (git): [ruby/prism] Handle implicit rest in array pattern for parser gem
- https://github.com/ruby/prism/commit/d3722d6660