Project

General

Profile

Activity

From 11/20/2022 to 11/26/2022

11/26/2022

11:52 PM Bug #19154 (Closed): Specify require and autoload guarantees in ractors
Given a file `c.rb`:
```ruby
class C
end
```
the following script:
```ruby
r1 = Ractor.new do
require './c.rb'
end
r2 = Ractor.new do
require './c.rb'
end
r1.take
r2.take
```
raises:
```
% ruby -v foo....
fxn (Xavier Noria)
11:39 PM Revision 73e42ef8 (git): MJIT: Remove a duplicated rescue
`#compile` has a catch-call rescue, so compile_insn_entry shouldn't do
that. It was a temporary code needed during the migration.
k0kubun (Takashi Kokubun)
11:31 PM Revision b2dcde83 (git): MJIT: Merge mjit_compiler.rb into mjit.rb
There are too many mjit_compiler.* files. It was hard to find files. k0kubun (Takashi Kokubun)
11:20 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
Please also see #18995 for another example of the intricate implementation behaving unexpectedly. During my own investigation, I discovered that using `"-"` for the internal encoding name is silently ignored. According to the comments ... javanthropus (Jeremy Bopp)
12:44 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
I've taken a look in `IO#set_encoding` recently and it's such an unreadable mess, I think nobody would be able to explain its full semantics.
So anything to simplify it would IMHO be welcome.
I think `IO#set_encoding` should simply set...
Eregon (Benoit Daloze)
09:58 PM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
I filed a PR for truffleruby https://github.com/ruby/erb/pull/39.
> I think it is important to keep the optimized HTML escape in core/stdlib (e.g., in CGI)
I didn't get what you mean in this part. CGI and ERB are both default gems. The...
k0kubun (Takashi Kokubun)
01:06 PM Feature #19090: Do not duplicate an unescaped string in CGI.escapeHTML
I did not expect `rb_str_dup()` is so costly on CRuby, I guess the allocation is slow and of course CRuby can't escape-analyze it.
I think it is important to keep the optimized HTML escape in core/stdlib (e.g., in CGI), as the fastest w...
Eregon (Benoit Daloze)
09:56 PM Feature #19102: Optimize ERB::Util.html_escape more than CGI.escapeHTML for template engines
Would you mind reviewing https://github.com/ruby/erb/pull/39? I skipped this ticket's change for truffleruby in the PR. k0kubun (Takashi Kokubun)
01:03 PM Feature #19102: Optimize ERB::Util.html_escape more than CGI.escapeHTML for template engines
I think it is unfortunate to add a C extension for ERB for that, ERB was always pure-Ruby and that was nice.
Also the C extension is slower on TruffleRuby, the Regexp is actually JIT-compiled and can use vectorization, unlike that C cod...
Eregon (Benoit Daloze)
09:06 PM Revision de9e2a5a (git): [ruby/net-http] Fix test for Ruby head
The error raised for broken coderanges was changed in ruby/ruby@571d21f
and the test was fixed in that commit but not ported to this repo.
ruby/net-http@e6185dda26ea6db7a3515d4f47ab231f5f4ac902
peterzhu2118 (Peter Zhu)
05:00 PM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
This issue is discussed at https://github.com/ruby/cgi/pull/29 .
As I wrote in https://github.com/ruby/cgi/pull/29#issuecomment-1325852303, RFC 6265 prohibits leading dot for Cookie domain. However, the old spec of Cookie (RFC 2109) r...
mame (Yusuke Endoh)
04:30 PM Bug #19153 (Closed): Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
The rspec tests of our Rails app started failing with an ArgumentError after upgrading to 2.7.7. On inspection, the issue seems to be caused by CGI::Cookie.domain=:
```
def domain=(str)
if str and ((str = str.b).bytesize > 255...
cpinto (Celso Pinto)
12:40 PM Feature #19138: `SyntaxError#path` for syntax_suggest
schneems (Richard Schneeman) wrote in #note-6:
> Instead of adding #line though if we could attach the source that would be more impactful for syntax search.
> ...
Strongly agreed. We should have a way to get the original source code/t...
Eregon (Benoit Daloze)
12:21 AM Feature #19138: `SyntaxError#path` for syntax_suggest
I love the idea.
Instead of adding #line though if we could attach the source that would be more impactful for syntax search.
Some cases such as eval do not have source files, so if we could access the contents for casses without a...
schneems (Richard Schneeman)
06:45 AM Revision 26794b95 (git): Update bundled gems list at 3853385377525258881d35850a4247 [ci skip]
git[bot]
06:44 AM Revision 38533853 (git): Update bundled_gems (#6813)
* Update bundled_gems soutaro (Soutaro Matsumoto)
06:32 AM Misc #19142: Run test suites against 'install', based on ENV variable?
I think that `test` needs `install` only when "preloadenv" and `--enable-load-relative` can't work.
At least `test-all` can run as `/install/bin/ruby test/runner.rb`, I think.
nobu (Nobuyoshi Nakada)
06:06 AM Revision 51994955 (git): Update default gems list at 534bac04e71efcbb9f4dc877f490b9 [ci skip]
git[bot]
06:05 AM Revision 534bac04 (git): [ruby/erb] Version 4.0.0
https://github.com/ruby/erb/commit/2809a54d88 k0kubun (Takashi Kokubun)
05:45 AM Revision 29bf5495 (git): Do not use the same variable for multiple things
`conv` proc is used before and after the `url` variable is updated. So
this script didn't seem to behave correctly for the "Close #xxx" syntax.
Reusing the same variable name for different things seems prone to errors.
k0kubun (Takashi Kokubun)
05:44 AM Revision 95647378 (git): Support other GitHub PR/issue syntaxes
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue k0kubun (Takashi Kokubun)
05:36 AM Revision 7cf94a61 (git): Allow an arbitrary number of newlines
k0kubun (Takashi Kokubun)
05:36 AM Revision 91c7e8af (git): Revert "Update default gems list at 574896a0ce99ab00676aa5ff2fabd3 [ci skip]"
This reverts commit eb3a6ae524b029e96738f21931d95dfad1caed2f. k0kubun (Takashi Kokubun)
05:33 AM Revision eb3a6ae5 (git): Update default gems list at 574896a0ce99ab00676aa5ff2fabd3 [ci skip]
git[bot]
05:32 AM Revision 574896a0 (git): [ruby/erb] Define ERB::Escape module
(https://github.com/ruby/erb/pull/38)
Close #32
k0kubun (Takashi Kokubun)
04:29 AM Revision 15be9ecb (git): Revert "Update default gems list at d0bb24c497ceae01cc7b7698365982 [ci skip]"
This reverts commit ba26dd7ba557f1a8d58251bb8437d579e0d5d23a, which
duplicates the list.
nobu (Nobuyoshi Nakada)
04:13 AM Revision ba26dd7b (git): Update default gems list at d0bb24c497ceae01cc7b7698365982 [ci skip]
git[bot]
04:12 AM Revision d0bb24c4 (git): [DOC] Fix loose and tight lists
The MarkDown parser of RDoc does not allow mixing loose and tight
lists, and the results may be very unexpected otherwise.
nobu (Nobuyoshi Nakada)
04:12 AM Revision 19fdc9ca (git): [DOC] Fix indents of nested bullet lists
nobu (Nobuyoshi Nakada)
04:11 AM Revision 6bd86bb2 (git): Follow the NEWS.md change up [ci skip]
nobu (Nobuyoshi Nakada)

11/25/2022

11:55 PM Revision ac4d00df (git): MJIT: Change default --mjit-max-cache back to 100
These days we benchmark MJIT using yjit-bench. The warmup duration in
yjit-bench is very short, so compiling many methods comes at a cost even
while it's actually optimal for MJIT to compile everything / tens of
thousands of methods once...
k0kubun (Takashi Kokubun)
11:27 PM Revision 3c16f33f (git): MJIT: Refactor source_shape_id extraction
I'm not comfortable indenting code that deeply. k0kubun (Takashi Kokubun)
11:23 PM Revision 89a98ee1 (git): MJIT: Remove obsoleted variable
no longer used after 4ea9d7d7c223ff92365c4a013fc1bd073d67a3a5 k0kubun (Takashi Kokubun)
11:18 PM Revision 4ea9d7d7 (git): MJIT: Remove the code to optimize shape transition
because this code crashes on railsbench. I'll try adding a repro for it
later, but I don't know shapes enough to craft it right away.
k0kubun (Takashi Kokubun)
10:15 PM Bug #19152 (Closed): Integration test for ruby-core
It also works. hsbt (Hiroshi SHIBATA)
09:55 PM Bug #19152 (Closed): Integration test for ruby-core
This is test posting for new issue. hsbt (Hiroshi SHIBATA)
10:15 PM Misc #19149 (Closed): Minimal covered tests with the --enable-yjit case?
Applied in changeset commit:git|1d64a5a7c09d1029508b6b3cb3d04e5a939bc8f8.
----------
YJIT: Run test-all tests without requiring RUN_OPTS
Most tests in test_yjit.rb use a sub process, so we can run them even
when the parent process is n...
alanwu (Alan Wu)
03:22 PM Misc #19149: Minimal covered tests with the --enable-yjit case?
> > This will run YJIT with its default options, which is what most people would use when running YJIT. If you specify `--yjit-call-threshold=1 --yjit-verify-ctx`, it will make YJIT compile every single method and run extra verifications... jaruga (Jun Aruga)
10:41 AM Misc #19149: Minimal covered tests with the --enable-yjit case?
maximecb (Maxime Chevalier-Boisvert) wrote in #note-1:
> If you want to thoroughly test everything, you could run make check two times, once with YJIT, and once without.
> ...
Thank you for clarifying it. I understood it. I am still tryi...
jaruga (Jun Aruga)
10:15 PM Revision 1d64a5a7 (git): YJIT: Run test-all tests without requiring RUN_OPTS
Most tests in test_yjit.rb use a sub process, so we can run them even
when the parent process is not running with YJIT. Run them so simply
running `make check` tests YJIT a bit.
[Misc #19149]
alanwu (Alan Wu)
09:44 PM Bug #19151 (Closed): Integration test for ruby-dev
It works. hsbt (Hiroshi SHIBATA)
09:36 PM Bug #19151 (Closed): Integration test for ruby-dev
This issue is posting test for ruby-dev. hsbt (Hiroshi SHIBATA)
09:25 PM Bug #19115 (Closed): RubyGems fails to detect OpenSSL in --with-static-linked-ext builds
Applied in changeset commit:git|790cf4b6d0475614afb127b416e87cfa39044d67.
----------
Fix autoload status of statically linked extensions
Previously, for statically-linked extensions, we used
`vm->loading_table` to delay calling the ini...
alanwu (Alan Wu)
09:21 PM Revision 790cf4b6 (git): Fix autoload status of statically linked extensions
Previously, for statically-linked extensions, we used
`vm->loading_table` to delay calling the init function until the
extensions are required. This caused the extensions to look like they
are in the middle of being loaded even before th...
alanwu (Alan Wu)
05:55 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
After more research, it appears the current behavior is expected. Parsing the single string with embedded colon is already handled correctly. However, if the external encoding is binary/ASCII-8BIT, then the internal encoding is deliber... jeremyevans0 (Jeremy Evans)
04:26 PM Misc #19074: DevMeeting-2022-12-01 (postponed from 11-17)
* [Bug #19150] pack/unpack silently ignores unknown directives (eregon)
* Similar to #19108 just above.
* I believe unknown directive should be ArgumentError, not silent unless VERBOSE is true.
Eregon (Benoit Daloze)
04:24 PM Bug #19150 (Closed): pack/unpack silently ignores unknown directives
But I believe it should be an error instead.
Typically when a parser sees a syntax error it should fail not continue silently.
For instance `[1].pack('<L')` succeeds and only emits a warning if `$VERBOSE` is true.
This behavior caus...
Eregon (Benoit Daloze)
11:12 AM Revision e15cd011 (git): [StepSecurity] ci: Harden GitHub Actions
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> StepSecurity Bot
10:53 AM Revision 8a50db7d (git): NEWS: "Find pattern" is not related to find.rb [ci skip]
nobu (Nobuyoshi Nakada)
10:51 AM Revision 26baf481 (git): [Feature #18925] [DOC] Add `FileUtils.ln_sr` to NEWS
nobu (Nobuyoshi Nakada)
10:42 AM Revision e9d6d2a5 (git): [DOC] Fix AST documents
- Fix indents of `tokens`, to make the contents of Token a list
- Move the example of `tokens` to separate from the above list
- Markup keyword argument and method name
nobu (Nobuyoshi Nakada)
10:17 AM Revision fb7598fb (git): [DOC] Remove extraneous backticks
So cross-references to defined classes/modules/methods work. nobu (Nobuyoshi Nakada)
10:07 AM Revision 4ab89d57 (git): Fix indents in NEWS [ci skip]
The MarkDown parser in RDoc requires 4 columns indentation for
paragraphs following list items.
nobu (Nobuyoshi Nakada)
10:06 AM Misc #19122: Use MADV_DONTNEED instead of MADV_FREE when freeing a Fiber's stack
ioquatix (Samuel Williams) wrote in #note-2:
> I don't have a strong opinion about this, but I'm generally against loosing performance.
> ...
Having this user-controllable works for me, although I don't know about the Ruby project's ge...
smcgivern (Sean McGivern)
08:54 AM Revision addb1cbb (git): [ruby/erb] Keep ERB::Util#html_escape private
ERB::Util.html_escape has been public, but ERB::Util#html_escape had
been private.
https://github.com/ruby/erb/commit/e62210bf56
k0kubun (Takashi Kokubun)
08:14 AM Misc #19030: [ANN] Migrate lists.ruby-lang.org to Google Groups
I migrated `ruby-core` list to mailmanlist and confirm to work redmine integration.
Sorry to send debug message for this.
hsbt (Hiroshi SHIBATA)
03:05 AM Misc #19030: [ANN] Migrate lists.ruby-lang.org to Google Groups
I update a migration plan:
* ruby-core, ruby-dev, ruby-list, ruby-talk and ruby-doc will move to https://mailmanlists.net/
* Other lists have been migrated to google groups
hsbt (Hiroshi SHIBATA)
08:02 AM Revision 58dc9c93 (git): [rubygems/rubygems] Stop installing everything under "lib" at the top in all tests
https://github.com/rubygems/rubygems/commit/f9772d62e1 nobu (Nobuyoshi Nakada)
07:11 AM Bug #18971 (Closed): Enumerator::Lazy.take(0) leaks first element into next operation
Applied in changeset commit:git|ffc6c5d056e0f18a9bdfb9b1477d0192a6d37ea3.
----------
[Bug #18971] Add precheck to enumerator
nobu (Nobuyoshi Nakada)
07:11 AM Bug #19145 (Closed): TestException#test_exception_in_message timeouts
Applied in changeset commit:git|67d0f4821ff9ae550425a66202710d82de886384.
----------
[Bug #19145] `volatile` on an argument may not be effective
nobu (Nobuyoshi Nakada)
07:11 AM Revision 64c8ed27 (git): `remain` no longer starts with 0
nobu (Nobuyoshi Nakada)
07:11 AM Revision ffc6c5d0 (git): [Bug #18971] Add precheck to enumerator
nobu (Nobuyoshi Nakada)
06:50 AM Revision 67d0f482 (git): [Bug #19145] `volatile` on an argument may not be effective
nobu (Nobuyoshi Nakada)
06:50 AM Revision 45bad8c7 (git): The mode flags may be clobbered by tag jumps
nobu (Nobuyoshi Nakada)
06:36 AM Revision e29d9e9f (git): Add examples to error_tolerant option in NEWS [ci skip]
yui-knk (Kaneko Yuichiro)
05:01 AM Revision 67766cd5 (git): add debug context APIs for debuggers (frame depth)
The following new debug context APIs are for implementing debugger's
`next` (step over) and similar functionality.
* `rb_debug_inspector_frame_depth(dc, index)` returns `index`-th
frame's depth.
* `rb_debug_inspector_current_depth()` ...
ko1 (Koichi Sasada)
02:25 AM Bug #18931 (Closed): Inconsistent handling of invalid codepoints in String#lstrip and String#rstrip
Applied in changeset commit:git|571d21fd4a2e877f49b4ff918832bda9a5e8f91c.
----------
Make String#rstrip{,!} raise Encoding::CompatibilityError for broken coderange
It's questionable whether we want to allow rstrip to work for strings
w...
jeremyevans (Jeremy Evans)
02:24 AM Revision 571d21fd (git): Make String#rstrip{,!} raise Encoding::CompatibilityError for broken coderange
It's questionable whether we want to allow rstrip to work for strings
where the broken coderange occurs before the trailing whitespace and
not after, but this approach is probably simpler, and I don't think
users should expect string ope...
jeremyevans (Jeremy Evans)
01:04 AM Feature #18925 (Closed): Add `FileUtils.ln_sr` to create symbolic links relative to link location
Applied in changeset commit:git|c6330cd32b7d02b4603080a2c53d64be9e05773c.
----------
[ruby/fileutils] [Feature #18925] Add `ln_sr` method and `relative:` option to `ln_s`
https://github.com/ruby/fileutils/commit/5116088d5c
nobu (Nobuyoshi Nakada)
01:03 AM Revision c6330cd3 (git): [ruby/fileutils] [Feature #18925] Add `ln_sr` method and `relative:` option to `ln_s`
https://github.com/ruby/fileutils/commit/5116088d5c nobu (Nobuyoshi Nakada)

11/24/2022

11:51 PM Revision 1a47521c (git): Use `rb_sprintf` instead of deprecated `sprintf`
nobu (Nobuyoshi Nakada)
11:49 PM Revision bcdfe129 (git): [ruby/erb] Allow requiring erb/escape.so alone
(https://github.com/ruby/erb/pull/37)
Prior to this commit, requiring erb/escape first and then requiring erb
did not work as expected.
k0kubun (Takashi Kokubun)
11:40 PM Revision 8ac4081a (git): [ruby/erb] Split erb.rb into files for each module under ERB
(https://github.com/ruby/erb/pull/36)
https://github.com/ruby/erb/commit/f74833cc07
k0kubun (Takashi Kokubun)
11:34 PM Bug #19130 (Closed): MRI failing when executing shell builtin commands with Errno::ENOENT
Closing as this behavior is by design and not a bug. jeremyevans0 (Jeremy Evans)
11:22 PM Revision c480f589 (git): [ruby/erb] Rename erb.so to erb/escape.so
(https://github.com/ruby/erb/pull/35)
https://github.com/ruby/erb/commit/1280046952
k0kubun (Takashi Kokubun)
11:18 PM Bug #18580 (Closed): Range#include? inconsistency for beginless String ranges
Applied in changeset commit:git|04a92a6764bf678919cf4b68a27496a39d6b886a.
----------
Raise TypeError for endless non-numeric range include?
Beginless ranges previously raised TypeError for this case,
except for string ranges, which had...
jeremyevans (Jeremy Evans)
11:18 PM Revision 04a92a67 (git): Raise TypeError for endless non-numeric range include?
Beginless ranges previously raised TypeError for this case,
except for string ranges, which had unexpected behavior:
('a'..'z').include?('ww') # false
(..'z').include?('ww') # previously true, now TypeError
Use of include? with end...
jeremyevans (Jeremy Evans)
10:55 PM Revision d15de2f0 (git): Add a NEWS entry about erb -S removal [ci skip]
k0kubun (Takashi Kokubun)
10:49 PM Revision 1c0c1c80 (git): [ruby/erb] Drop deprecated -S option from erb command
We attempted to remove things like this and reverted all of them, but I
think nobody relies on this unlike the positional arguments of
`ERB#initialize`.
https://github.com/ruby/erb/commit/92fde7e403
k0kubun (Takashi Kokubun)
10:35 PM Revision e5a0abc5 (git): [ruby/erb] Suppress warnings to fix ruby-head CI
(https://github.com/ruby/erb/pull/34)
There seems to be no way to fix this. It doesn't happen in an installed
directory, so it's likely a false positive and/or a bug in rubygems.
| <internal:/home/runner/.rubies/ruby-head/lib/ruby/3....
k0kubun (Takashi Kokubun)
10:27 PM Revision 1340195e (git): Reduce duplication in pack by sharing code for some cases
s/S, i/I, l/L, and q/Q had the same code in both cases, so
combine the cases.
Alternatively, we could actually the size of the unsigned type,
but I doubt there are any platforms where the unsigned type is
a different size than the signe...
jeremyevans (Jeremy Evans)
10:26 PM Bug #18974 (Closed): Wrong line number in the rescue iseq for the exception matching code
Applied in changeset commit:git|f5d73da8062377e5b93100c6ea109a37bd04b4c1.
----------
Fix the position of rescue clause without exc_list
If the rescue clause has only exc_var and not exc_list, use the
exc_var position instead of the res...
jeremyevans (Jeremy Evans)
10:26 PM Revision f5d73da8 (git): Fix the position of rescue clause without exc_list
If the rescue clause has only exc_var and not exc_list, use the
exc_var position instead of the rescue body position.
This issue appears to have been introduced in
688169fd83b24564b653c03977c168cea50ccd35 when "opt_list" was split
into ...
jeremyevans (Jeremy Evans)
09:37 PM Revision 07169fd8 (git): Update YJIT section of `NEWS.md` (#6803)
* Update YJIT section of `NEWS.md`
* Update NEWS.md
maximecb (Maxime Chevalier-Boisvert)
07:59 PM Misc #19146 (Closed): Failed to activate YJIT for 3.2.0-dev on macOS Ventura (M1: Apple Silicon)
Applied in changeset commit:git|a81c89b7c877cc0ddf40a8d4672ca90090e116c6.
----------
YJIT: Make sure rustc's target matches before enabling (#6804)
For people using Rosetta 2 on ARM Macs, it can happen that the
rustc in the PATH compil...
alanwu (Alan Wu)
06:15 PM Misc #19146: Failed to activate YJIT for 3.2.0-dev on macOS Ventura (M1: Apple Silicon)
Hello @hachi8833.
It seems YJIT is failing to link because you have an x86-64 `rustc` toolchain installed on a Mac M1 arm64. We've made it so YJIT auto-enables when rustc is present, but we're not detecting that the right toolchain is...
maximecb (Maxime Chevalier-Boisvert)
01:01 PM Misc #19146 (Closed): Failed to activate YJIT for 3.2.0-dev on macOS Ventura (M1: Apple Silicon)
(hsbt kindly suggested to open the issue here. Thank you!)
I found that I'm unable to activate YJIT for the latest 3.2.0-dev in rbenv with ruby_build.
Then I tried the build from the freshest 3.2.0-dev source, but the symptom remai...
hachi8833 (Shozo Hatta)
07:58 PM Revision a81c89b7 (git): YJIT: Make sure rustc's target matches before enabling (#6804)
For people using Rosetta 2 on ARM Macs, it can happen that the
rustc in the PATH compiles for x86_64 while clang is targeting
ARM. We were enabling YJIT in these situations because the test
program compiled fine, but caused linking failu...
alanwu (Alan Wu)
06:32 PM Revision 656f2598 (git): [ruby/cgi] Fix test_cgi_cookie_new_with_domain to pass on older rubies
https://github.com/ruby/cgi/commit/05f0c58048 byroot (Jean Boussier)
06:26 PM Misc #19149: Minimal covered tests with the --enable-yjit case?
If you want to thoroughly test everything, you could run make check two times, once with YJIT, and once without.
If you just run:
```
$ make check RUN_OPTS="--yjit"
```
This will run YJIT with its default options, which is what ...
maximecb (Maxime Chevalier-Boisvert)
04:26 PM Misc #19149 (Closed): Minimal covered tests with the --enable-yjit case?
In the [Fedora Ruby's RPM recipe file](https://src.fedoraproject.org/rpms/ruby/blob/rawhide/f/ruby.spec), we were running the commands below.
```
$ ./autogen.sh
$ ./configure ...
$ make
$ make check
```
## What is the minimal ...
jaruga (Jun Aruga)
05:49 PM Bug #19124 (Feedback): Compile with clang: Cannot compile with -flto -fvisibility=hidden
Since the linker hangs, I don't think there is much we can do on our end.
Assuming Clang mimics GCC I think `LD` should be set to `clang` for LTO.
From GCC's man page:
>The important thing to keep in mind is that to enable link-
> ...
alanwu (Alan Wu)
05:09 PM Bug #19143 (Closed): Windows - bundled extension gems compile, but don't copy *.so files to lib folder
alanwu (Alan Wu)
03:49 AM Bug #19143: Windows - bundled extension gems compile, but don't copy *.so files to lib folder
@alanwu
Thanks. A bit of 'multi-tasking brain freeze' going on this morning.
Or, yes they do work **without** a copy in the lib folder.
Please close...
MSP-Greg (Greg L)
02:27 AM Bug #19143: Windows - bundled extension gems compile, but don't copy *.so files to lib folder
Does that mean the native extensions of those gems don't work when one tries to load them after installation? alanwu (Alan Wu)
03:54 PM Feature #19148 (Open): Define Hash#merge_sum as Hash#merge with sum block
To merge two hashes whilst summing any common elements, we currently have to pass a block instructing how to add the elements from each hash:
```ruby
items_1_counts = {:book => 4, :pen => 2, :pencil => 3}
items_2_counts = {:book => 2,...
hgraham (Harry Graham)
03:30 PM Revision d2fa67de (git): YJIT: rename `InsnOpnd` => `YARVOpnd` (#6801)
Rename InsnOpnd => YARVOpnd
Make it more clear this refers to YARV insn/vm operands rather
than backend IR, x86 or ARM insn operands.
maximecb (Maxime Chevalier-Boisvert)
02:37 PM Bug #19145: TestException#test_exception_in_message timeouts
Does this work?
```diff
diff --git a/eval_error.c b/eval_error.c
index 0112dece0d1..7f184691e50 100644
--- a/eval_error.c
+++ b/eval_error.c
@@ -443,6 +443,15 @@ exiting_split(VALUE errinfo, volatile int *exitcode, volatile int *...
nobu (Nobuyoshi Nakada)
11:21 AM Bug #19145: TestException#test_exception_in_message timeouts
I think it has been happening since @nobu tweaked the exit process for https://bugs.ruby-lang.org/issues/19016. mame (Yusuke Endoh)
10:32 AM Bug #19145 (Closed): TestException#test_exception_in_message timeouts
Testing with 66e5200ba4, I observe following error:
~~~
$ make -C redhat-linux-build test-all 'TESTS=-v -n /TestException#test_exception_in_message/' 'MSPECOPT=-fs '
make: Entering directory '/builddir/build/BUILD/ruby-3.2.0-66e5200...
vo.x (Vit Ondruch)
01:53 PM Bug #19147: `TestFileExhaustive#test_expand_path_for_existent_username` and `TestDir#test_home` fails on i686
Maybe some of the recent changes in the string.c might be the reason? vo.x (Vit Ondruch)
01:28 PM Bug #19147 (Closed): `TestFileExhaustive#test_expand_path_for_existent_username` and `TestDir#test_home` fails on i686
Testing with commit:git|66e5200ba4 on Fedora Rawhide, I observe following error just on i686 (other platforms are passing just fine):
~~~
1) Error:
TestFileExhaustive#test_expand_path_for_existent_username:
RuntimeError: can't se...
vo.x (Vit Ondruch)
01:52 PM Revision 6dfa45c4 (git): bump teeny version to 3.1.4.
nagachika (Tomoyuki Chikanaga)
01:43 PM Bug #18166: Windows Ripper test-all failures? bison package?
merged into ruby_2_7 at 168ec2b1e5ad0e4688e963d9de019557c78feed9 usa (Usaku NAKAMURA)
12:42 PM Revision 168ec2b1 (git): Use %printer directive for Bison 3.8 (used release flow)
This is backport of fa05697e4832fbd67a4f91b9bb362471902faab3 U.Nakamura
11:43 AM Revision ee8dc8a2 (git): Fix GitHub Actions error
U.Nakamura
11:06 AM Revision 9308e32a (git): Merge openssl-2.1.4
The changes can be found at:
https://github.com/ruby/openssl/compare/v2.1.3...v2.1.4
rhenium (Kazuki Yamaguchi)
11:04 AM Revision ba5cf0f7 (git): Merge openssl-2.2.2
The changes can be found at:
https://github.com/ruby/openssl/compare/v2.2.1...v2.2.2
rhenium (Kazuki Yamaguchi)
11:02 AM Bug #17583: Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
mergerd into ruby_3_0 at 5fb3cf4 usa (Usaku NAKAMURA)
11:01 AM Revision 5fb3cf46 (git): Keep GC disabled until VM bootstrap has done [Bug #17583]
nobu (Nobuyoshi Nakada)
10:42 AM Revision 9eee81bc (git): Bump version
U.Nakamura
10:20 AM Revision 1a6b1675 (git): merge revision(s) 3071a727e081f754e71a9abed8dd19e36bacc785:
Add a comment about confusing code [ci skip]
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
nagachika (Tomoyuki Chikanaga)
09:17 AM Feature #19128 (Rejected): Hash#delete could take a second argument as the default value?
byroot (Jean Boussier)
09:16 AM Feature #19128: Hash#delete could take a second argument as the default value?
You can close this, passing a block is much nicer and provides the functionality I need.
As a side note, I think passing multiple arguments could delete multiple keys from the hash but I don't have the use for it.
dorianmariefr (Dorian Marié)
06:13 AM Revision 66e5200b (git): Relax the timeout of TestRegexp#test_cache_optimization_square
It fails on riscv (QEmu)
http://rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20221124T000021Z.fail.html.gz
```
1) Error:
TestRegexp#test_cache_optimization_square:
Regexp::TimeoutError: regexp match timeout
/home/rubyci/...
mame (Yusuke Endoh)
02:55 AM Bug #19144 (Closed): Ruby should set AI_V4MAPPED | AI_ADDRCONFIG getaddrinfo flags by default
Currently, DNS lookups made with `getaddrinfo` from Ruby (i.e. not from the `Resolv` module) cause both A and AAAA DNS requests to be made, even on systems that don’t actually have an IPv6 address that could possibly make the AAAA respon... kjtsanaktsidis (KJ Tsanaktsidis)
02:21 AM Revision 22ace33a (git): * 2022-11-24 [ci skip]
git[bot]
02:21 AM Revision bdb8980f (git): merge revision(s) 4f1e0bfacd93c28bff549e2f3603c3b4942429a3:
Followed up CVE-2022-39253 for bundler examples
---
spec/bundler/cache/git_spec.rb | 3 +++
spec/bundler/install/gemfile/git_spec.rb | 9 +++++++++
spec/bundler/update/git_spec.rb | 3 ...
nagachika (Tomoyuki Chikanaga)
02:21 AM Revision 3b231086 (git): merge revision(s) 36f297e62108072b9377d927321928b994f66a93:
Use valid tokens as cookie names
---
spec/ruby/library/cgi/cookie/name_spec.rb | 12 ++++++------
spec/ruby/library/cgi/cookie/parse_spec.rb | 10 +++++-----
2 files changed, 11 insertions(+), 11 deleti...
nagachika (Tomoyuki Chikanaga)
02:21 AM Revision 3ff3855b (git): merge revision(s) dae843f6b7502f921a7e66f39e3714a39d860181,86096a91d55f72620e0f8ca8634da5fa342dc35b:
Bypass git submodule add/update with git config
protocol.file.allow=always option.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
test/rubygems/test_gem_source_git.rb | 5 +++++
1 fil...
nagachika (Tomoyuki Chikanaga)
02:21 AM Revision cbe2c0cd (git): Merge CGI-0.2.2
hsbt (Hiroshi SHIBATA)
02:21 AM Revision ca07082a (git): * 2022-11-24 [ci skip]
git[bot]
02:20 AM Revision fa7fab95 (git): Removed unnecessary RLIMIT_AS
Even without this limit, these assertions almost certainly cause a
NoMemoryError by removing the fix in 72ad8595f20.
nobu (Nobuyoshi Nakada)
02:20 AM Revision 233634fb (git): merge revision(s) 4f1e0bfacd93c28bff549e2f3603c3b4942429a3:
Followed up CVE-2022-39253 for bundler examples
---
spec/bundler/cache/git_spec.rb | 3 +++
spec/bundler/install/gemfile/git_spec.rb | 9 +++++++++
spec/bundler/update/git_spec.rb | 3 ...
nagachika (Tomoyuki Chikanaga)
02:20 AM Revision 7f1163e9 (git): Use ubuntu-20.04 instead of latest, because Ruby 2.7 didn't support openssl3 on Ubuntu 22.04
hsbt (Hiroshi SHIBATA)
02:20 AM Revision 39f6a33e (git): merge revision(s) 36f297e62108072b9377d927321928b994f66a93:
Use valid tokens as cookie names
---
spec/ruby/library/cgi/cookie/name_spec.rb | 12 ++++++------
spec/ruby/library/cgi/cookie/parse_spec.rb | 10 +++++-----
2 files changed, 11 insertions(+), 11 deleti...
nagachika (Tomoyuki Chikanaga)
02:20 AM Revision 25df68ae (git): merge revision(s) dae843f6b7502f921a7e66f39e3714a39d860181,86096a91d55f72620e0f8ca8634da5fa342dc35b:
Bypass git submodule add/update with git config
protocol.file.allow=always option.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
test/rubygems/test_gem_source_git.rb | 5 +++++
1 fil...
nagachika (Tomoyuki Chikanaga)
02:20 AM Revision f33522ba (git): Upgrade zlib_version on AppVeyor
They removed https://zlib.net/zlib1212.zip because
https://zlib.net/zlib1213.zip was released :thinking_face:
Fix CI failures like:
https://ci.appveyor.com/project/ruby/ruby/builds/45064876/job/bb9biogolh0u2595
k0kubun (Takashi Kokubun)
02:20 AM Revision 7cf69717 (git): Merge CGI-0.1.0.2
hsbt (Hiroshi SHIBATA)

11/23/2022

11:00 PM Revision d92054e3 (git): YJIT: Use a Box for branch targets to save memory
We frequently make branches that only have one target but we used to
always allocate space for two branch targets. This patch moves all the
information a branch target has into a struct and refer to them using
Option<Box<BranchTarget>>, ...
alanwu (Alan Wu)
10:18 PM Revision e7882151 (git): Add next_shape_id to vm stats
We need to track this number in CI. It's important to know how changes
to the codebase impact the number of shapes in the system, so lets add
the number to the VM stat hash
tenderlovemaking (Aaron Patterson)
07:55 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
> If it doesn't wait it's not structured concurrency (children outlive the parent).
The problem with being strict is that there are some cases where you need the child to outlive the parent. So, strict structured concurrency is insuff...
ioquatix (Samuel Williams)
10:54 AM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
ioquatix (Samuel Williams) wrote in #note-17:
> We can already write it like this:
> ...
That doesn't wait for the child tasks at the end of the parent task, does it?
If it doesn't wait it's not structured concurrency (children outliv...
Eregon (Benoit Daloze)
05:14 PM Revision a50aabde (git): YJIT: Simplify Insn::CCall to obviate Target::FunPtr (#6793)
k0kubun (Takashi Kokubun)
05:12 PM Revision 5ee94731 (git): [ruby/net-http] Enhanced RDoc for Net::HTTPHeader
https://github.com/ruby/net-http/commit/86b0514239 burdettelamar (Burdette Lamar)
05:12 PM Revision 4b32ed6e (git): [ruby/net-http] Enhanced RDoc for Net::HTTPHeader
https://github.com/ruby/net-http/commit/ef0ef53b0c burdettelamar (Burdette Lamar)
05:12 PM Revision 79a9280a (git): [ruby/net-http] Enhanced RDoc for Net::HTTPHeader
https://github.com/ruby/net-http/commit/0af9fb94a9 burdettelamar (Burdette Lamar)
05:12 PM Revision c6dc1266 (git): [ruby/net-http] Enhanced RDoc for Net::HTTPHeader
https://github.com/ruby/net-http/commit/995ff356b4 burdettelamar (Burdette Lamar)
05:12 PM Revision 66be0922 (git): [ruby/net-http] Enhanced RDoc for Net::HTTPHeader
https://github.com/ruby/net-http/commit/e924f1205b burdettelamar (Burdette Lamar)
05:02 PM Revision d88adaad (git): YJIT: Use NonNull pointer for CodePtr (#6792)
k0kubun (Takashi Kokubun)
04:59 PM Revision 9c36de3c (git): YJIT: Stop passing target1 to gen_return_branch
k0kubun (Takashi Kokubun)
04:59 PM Revision fe2bed67 (git): YJIT: Simplify code for RB_SPECIAL_CONST_P (#6795)
k0kubun (Takashi Kokubun)
03:48 PM Revision e82b15b6 (git): Fix YJIT backend to account for unsigned int immediates (#6789)
YJIT: x86_64: Fix cmp with number where sign bit is set
Before this commit, we were unconditionally treating unsigned ints as
signed ints when counting the number of bits required for representing
the immediate in machine code. When the...
jemmai (Jemma Issroff)
02:43 PM Bug #19143 (Closed): Windows - bundled extension gems compile, but don't copy *.so files to lib folder
Just finished updating ruby-loco's mswin build to use a system similar to the ucrt & mingw builds.
Confirmed something I noticed previously, and also occurs with the RubyInstaller2 head build.
On Windows, bundled extension gems (de...
MSP-Greg (Greg L)
11:09 AM Feature #19141: Add thread-owned Monitor to protect thread-local resources
chrisseaton (Chris Seaton) wrote in #note-11:
> Maybe `Enumerator` should not use a full fiber - but something less that behaves like the thread it's run on?
It still needs its own stack so it can suspend anywhere.
For Enumerators c...
Eregon (Benoit Daloze)
04:32 AM Revision 9ca4b96f (git): disable remote tests in debug.gem on macOS.
nagachika (Tomoyuki Chikanaga)
02:57 AM Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
Checking `ascii_only?` would reject non-ascii comments which are fine:
```ruby
p [2, 89].pack(<<~PACK)
C # 🚗
c
PACK
p [2, 89].pack('Cc')
# Same output
```
alanwu (Alan Wu)

11/22/2022

11:14 PM Feature #19138: `SyntaxError#path` for syntax_suggest
`SyntaxError` can have a series of errors.
Before adding `line`, we need to consider how to provide that list.
nobu (Nobuyoshi Nakada)
11:07 PM Feature #19138: `SyntaxError#path` for syntax_suggest
Should we also expose the `line`. Or maybe `source_location`?
Just a suggestion, if we only need `path` I think it's fine to just add `SyntaxError#path`.
Eregon (Benoit Daloze)
10:39 PM Misc #19142 (Open): Run test suites against 'install', based on ENV variable?
Some time ago I believe there was discussion about:
```
make
make test
make install
```
vs
```
make
make install
make test
```
Some people preferred to not have to run install before test (disk space, time, etc).
M...
MSP-Greg (Greg L)
09:54 PM Revision aedf682b (git): Free the IV table after estimation
We need to make sure the name table is freed otherwise we have a memory
leak.
tenderlovemaking (Aaron Patterson)
09:49 PM Revision 003f8ea8 (git): Remove dead code in rb_obj_copy_ivar
The removed code is a duplicate of the code above. peterzhu2118 (Peter Zhu)
09:18 PM Revision c4e99ac4 (git): Update yjit.md
maximecb (Maxime Chevalier-Boisvert)
09:11 PM Feature #19071 (Closed): Add Time#deconstruct, #deconstruct_keys, and #to_h
https://github.com/ruby/ruby/pull/6594 merged. zverok (Victor Shepelev)
09:10 PM Revision eaf2b6c4 (git): Add Time#deconstruct_keys
zverok (Victor Shepelev)
08:57 PM Revision 63f4a7a1 (git): YJIT: Skip padding jumps to side exits on Arm (#6790)
YJIT: Skip padding jumps to side exits
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierbois...
k0kubun (Takashi Kokubun)
08:28 PM Revision 9c5e3671 (git): Increment max_iv_count on class based on number of set_iv in initialize (#6788)
We can loosely predict the number of ivar sets on a class based on the
number of iv set instructions in the initialize method. This should give
us a more accurate estimate to use for initial size pool allocation,
which should in turn giv...
jemmai (Jemma Issroff)
05:32 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
Async already has the concept of structured concurrency.
> I've been reading https://cr.openjdk.java.net/~rpressler/loom/loom/sol1_part2.html#scope-variables again and parts of the JEP.
The inspiration for our model is dynamic binding/...
ioquatix (Samuel Williams)
12:20 PM Feature #19078: Introduce `Fiber#storage` for inheritable fiber-scoped variables.
I've been reading https://cr.openjdk.java.net/~rpressler/loom/loom/sol1_part2.html#scope-variables again and parts of the [JEP](https://openjdk.org/jeps/429).
For that approach to work it really needs structured concurrency (well explai...
Eregon (Benoit Daloze)
05:24 PM Feature #19141: Add thread-owned Monitor to protect thread-local resources
Maybe `Enumerator` should not use a full fiber - but something less that behaves like the thread it's run on? An underlying issue is that the user doesn't know they're using a fiber, and really how can we expect them to? chrisseaton (Chris Seaton)
01:40 PM Feature #19141: Add thread-owned Monitor to protect thread-local resources
I had a call with @byroot about this issue.
First of all, in the cases it's possible it's best to avoid `Enumerator#{next*,peek*}` as that avoids this issue, but also passing extra state to it, etc.
If the Enumerator is used for e.g....
Eregon (Benoit Daloze)
11:26 AM Feature #19141: Add thread-owned Monitor to protect thread-local resources
> How do we address this with Thread::Monitor?
If you are trying to say that one can shoot themselves in the foot with a ThreadMonitor and explicit fibers, then yes that's true.
But these folks had it working for years (and still ...
byroot (Jean Boussier)
11:18 AM Feature #19141: Add thread-owned Monitor to protect thread-local resources
It's not only an issue with Fiber scheduler although that is the most obvious way to illustrate.
After all Fiber scheduler is not the only usage of `resume`/`transfer`/`yield`, any gem or app might use those as well and not always in cle...
Eregon (Benoit Daloze)
08:46 AM Feature #19141: Add thread-owned Monitor to protect thread-local resources
> Based on that I don't think a per-thread Monitor is really a solution
In the case of the original issue they are with Rails connection, they don't use a Fiber scheduler, they just use an enumerator for control flow which happens to ...
byroot (Jean Boussier)
05:10 AM Feature #19141: Add thread-owned Monitor to protect thread-local resources
Why do you need a recursive mutex for this code? Why not just lock inside the enumerator around whatever shared resource you are protecting?
http://www.zaval.org/resources/library/butenhof1.html
> 1) The biggest of all the big prob...
ioquatix (Samuel Williams)
05:23 PM Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
> I think you want to mean "if the string is not ASCII-compatible".
Can you explain why?
I think a string is only a valid pack format string if it is `ascii_only?` - if it isn't `ascii_only?` then there is a silent warning and the ...
chrisseaton (Chris Seaton)
08:26 AM Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
chrisseaton (Chris Seaton) wrote in #note-1:
> Possibly we should raise an exception if the string is not `ascii_only?`
I think you want to mean "if the string is not ASCII-compatible".
https://github.com/ruby/ruby/pull/6785
nobu (Nobuyoshi Nakada)
03:37 PM Bug #19140 (Closed): rb_vm_insn_addr2insn: invalid insn address
jeremyevans0 (Jeremy Evans)
08:37 AM Bug #19140: rb_vm_insn_addr2insn: invalid insn address
That's valuable insight! Probably it is a volatile memory fault then. I restarted the physical machine now and I haven't experienced the issue since. turion (Manuel Bärenz)
02:04 PM Revision 16ea2213 (git): Merge CGI-0.3.5
hsbt (Hiroshi SHIBATA)
12:50 PM Revision 14704023 (git): Merge RubyGems-3.3.26 and Bundler-2.3.26
hsbt (Hiroshi SHIBATA)
12:50 PM Revision b102175b (git): Merge RubyGems-3.3.25 and Bundler-2.3.25
hsbt (Hiroshi SHIBATA)
12:50 PM Revision 6f59f0be (git): Merge RubyGems-3.3.24 and Bundler-2.3.24
hsbt (Hiroshi SHIBATA)
11:55 AM Revision 8f2586f1 (git): merge revision(s) 36f297e62108072b9377d927321928b994f66a93:
Use valid tokens as cookie names
---
spec/ruby/library/cgi/cookie/name_spec.rb | 12 ++++++------
spec/ruby/library/cgi/cookie/parse_spec.rb | 10 +++++-----
2 files changed, 11 insertions(+), 11 deleti...
nagachika (Tomoyuki Chikanaga)
05:20 AM Revision 20b9d7b9 (git): Use `enum` over `int`
nobu (Nobuyoshi Nakada)
05:07 AM Revision 8c02084a (git): Use dedicated assertions for warnings
nobu (Nobuyoshi Nakada)
04:58 AM Revision 77f96300 (git): Avoid unnecessary use of global variables
nobu (Nobuyoshi Nakada)
02:32 AM Revision 36f297e6 (git): Use valid tokens as cookie names
nobu (Nobuyoshi Nakada)
02:13 AM Revision 32d202eb (git): Update default gems list at 805d70f716c782e82ec77ca623b217 [ci skip]
git[bot]
02:12 AM Revision 805d70f7 (git): [ruby/cgi] Bump up 0.3.5
https://github.com/ruby/cgi/commit/daf88c2a75 hsbt (Hiroshi SHIBATA)
02:12 AM Revision 58682b69 (git): [ruby/cgi] Relax domain label restrictions
https://github.com/ruby/cgi/commit/b46d41c363 nobu (Nobuyoshi Nakada)
02:01 AM Revision 5304b3bd (git): Update default gems list at 3f960cf445dd387a5497ffad897ea6 [ci skip]
git[bot]
02:00 AM Revision 3f960cf4 (git): [ruby/cgi] Bump up 0.3.4
https://github.com/ruby/cgi/commit/3649a27bf4 hsbt (Hiroshi SHIBATA)
02:00 AM Revision 0e75b2f2 (git): [ruby/cgi] Prevent CRLF injection
Throw a RuntimeError if the HTTP response header contains CR or LF to
prevent HTTP response splitting.
https://hackerone.com/reports/1204695
https://github.com/ruby/cgi/commit/64c5045c0a
mame (Yusuke Endoh)
02:00 AM Revision c05f85f3 (git): [ruby/cgi] Check cookie name/path/domain characters
https://hackerone.com/reports/1204977
https://github.com/ruby/cgi/commit/30107a4797
nobu (Nobuyoshi Nakada)
01:20 AM Bug #19139: Ruby 2.3.8 - 42912 IOT instruction (core dumped) when running rake -v
The fault occurred in /lib/x86_64-linux-gnu/libssl.so.3.
https://gist.github.com/Pauloparakleto/3cef9f75b8dce6215d00f073e6b977ca#file-gistfile1-txt-L224
This file seems from libssl3, and ruby 2.3 has reached the EOL before libssl3 was r...
nobu (Nobuyoshi Nakada)

11/21/2022

10:04 PM Feature #19141: Add thread-owned Monitor to protect thread-local resources
> That means any framework using Monitor is incompatible to be used with Enumerator.
It's only problematic if both the parent Fiber and the Enumerator-using-Fiber try to acquire the same Monitor while the other holds it.
> ...
Whether ...
Eregon (Benoit Daloze)
10:02 PM Feature #19141: Add thread-owned Monitor to protect thread-local resources
@Eregon how does this relate to `Fiber#storage`? byroot (Jean Boussier)
05:50 PM Feature #19141 (Open): Add thread-owned Monitor to protect thread-local resources
### Background
In Ruby v3.0.2, Monitor was modified to be owned by fibers instead of threads [for reasons as described in this issue](https://bugs.ruby-lang.org/issues/17827) and so it is also consistent with Mutex. Before the change...
wildmaples (Maple Ong)
08:52 PM Bug #19140: rb_vm_insn_addr2insn: invalid insn address
Thanks for the report. The stack trace shows that it's crashing
during GC, which means some bytecode object on the heap is corrupt:
Stack trace of thread 1006223:
#0 0x00007f0646646bc7 __pthread_kill_implementation (libc.so...
alanwu (Alan Wu)
03:12 PM Bug #19140 (Closed): rb_vm_insn_addr2insn: invalid insn address
I recently upgraded my mastodon installation to 4.0.2 (and possibly also updated a minor ruby version, not sure) and since then I'm experiencing regular crashes with error messages like:
```
Nov 21 15:25:18 manuelbaerenz puma[1006220...
turion (Manuel Bärenz)
06:52 PM Revision cf05c202 (git): Fixup spec/ruby/optional/capi/rbasic_spec.rb for mswin
MSP-Greg (Greg L)
06:28 PM Bug #19139 (Feedback): Ruby 2.3.8 - 42912 IOT instruction (core dumped) when running rake -v
Ruby 2.3 is out of support. Can you reproduce this issue Ruby 3.0 or 3.1? jeremyevans0 (Jeremy Evans)
01:35 PM Bug #19139 (Feedback): Ruby 2.3.8 - 42912 IOT instruction (core dumped) when running rake -v
https://gist.github.com/Pauloparakleto/3cef9f75b8dce6215d00f073e6b977ca
Above is the link to the backtrack. There it is said "You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome." So...
Paulo.Felipe (Paulo Souza)
06:27 PM Revision 607fb49d (git): YJIT: Lower the required Rust version from 1.58.1 to 1.58.0 (#6780)
k0kubun (Takashi Kokubun)
04:47 PM Bug #19115: RubyGems fails to detect OpenSSL in --with-static-linked-ext builds
I've submitted a [PR](https://github.com/ruby/ruby/pull/6756) to fix this issue and I thought I'd also post some updates.
Here is a script to summarize the mechanics of the bug:
```ruby
puts RUBY_DESCRIPTION # ruby 3.2.0dev (2022-01-20...
alanwu (Alan Wu)
04:26 PM Revision 09423876 (git): Let SHAPE_BITS take 32 bits on debug builds
The ractor_belonging_id has been moved out of the headers, so object
shapes can take the top 32 bits of the flags on debug builds.
peterzhu2118 (Peter Zhu)
04:26 PM Revision 5f95228c (git): Add RVALUE_OVERHEAD and move ractor_belonging_id
This commit adds RVALUE_OVERHEAD for storing metadata at the end of the
slot. This commit moves the ractor_belonging_id in debug builds from the
flags to RVALUE_OVERHEAD which frees the 16 bits in the headers for
object shapes.
peterzhu2118 (Peter Zhu)
04:08 PM Feature #19138: `SyntaxError#path` for syntax_suggest
https://github.com/ruby/ruby/pull/6779 nobu (Nobuyoshi Nakada)
03:18 AM Feature #19138 (Closed): `SyntaxError#path` for syntax_suggest
Currently syntax_suggest searches the path name from the exception message.
But extracting the info from messages for humans is fragile, I think.
So proposing a new method `SyntaxError#path`, similar to `LoadError#path`.
```patch
c...
nobu (Nobuyoshi Nakada)
03:33 PM Revision b7a0ce32 (git): [Bug #19016] `SyntaxError` with parser error messages
Raise a `SyntaxError` with the parser error message, in the case
reading from a file instead of the `-e` option or standard input. So
syntax_suggest can get the message from the caught error.
nobu (Nobuyoshi Nakada)
03:33 PM Revision 5b959e23 (git): [Bug #19016] re-order error handling at cleanup
Build and store the error message with `#detailed_message` before
terminating all Ractors, then show the message later.
nobu (Nobuyoshi Nakada)
03:31 PM Bug #19130: MRI failing when executing shell builtin commands with Errno::ENOENT
nobu (Nobuyoshi Nakada) wrote in #note-5:
> The list in Ruby is based on http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html,
> ...
FYI, this list is here: https://github.com/ruby/ruby/blob/50c6cab/process.c#L2659-...
nobu (Nobuyoshi Nakada)
03:24 PM Bug #19130: MRI failing when executing shell builtin commands with Errno::ENOENT
ifiht (Mikal R) wrote in #note-3:
> Is there a ruby-specific list then of what gets implemented? Seems like `type` is both included in the POSIX spec (https://pubs.opengroup.org/onlinepubs/9699919799/utilities/type.html) and the Bourne ...
nobu (Nobuyoshi Nakada)
03:22 PM Revision 1f0888ab (git): Speed up shape transitions
This commit significantly speeds up shape transitions as it changes
get_next_shape_internal to not perform a lookup (and instead require
the caller to perform the lookup). This avoids double lookups during
shape transitions.
There is a ...
peterzhu2118 (Peter Zhu)
02:58 PM Revision 648927d7 (git): Refactor obj_ivar_set and vm_setivar
obj_ivar_set and vm_setivar_slowpath is essentially doing the same thing,
but the code is duplicated and not quite implemented in the same way,
which could cause bugs. This commit refactors vm_setivar_slowpath to use
obj_ivar_set.
peterzhu2118 (Peter Zhu)
01:53 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
Thank you for your response. How do the changes to the example make a difference? The results with the original example are:
```
args: ["binary:utf-8"] external encoding: #<Encoding:ASCII-8BIT> ...
javanthropus (Jeremy Bopp)
12:22 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
I think your example needs to be as follows:
```ruby
#!/usr/bin/env ruby
def show(io, args)
printf(
"args: %-50s external encoding: %-25s internal encoding: %-25s\n",
args.inspect,
io.external_encoding.inspect,
...
naruse (Yui NARUSE)
01:50 PM Misc #19074: DevMeeting-2022-12-01 (postponed from 11-17)
* [Bug #19108] Format routines like pack blindly treat a string as ASCII-encoded (@eregon)
* Is it OK to make `unknown pack directive` an `ArgumentError`?
* If not is it OK to make it a non-verbose warning (i.e., shown with default...
Eregon (Benoit Daloze)
01:47 PM Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
Agreed, I think it should be ArgumentError since it's otherwise silently ignoring characters in the pack format string.
A non-verbose warning is better than the current state if ArgumentError is deemed too incompatible.
Here is real cas...
Eregon (Benoit Daloze)
01:16 PM Revision 612aa5c2 (git): Use class methods of `File` over `Kernel.open` and `IO.read`
nobu (Nobuyoshi Nakada)
01:15 PM Revision 116920cf (git): [ruby/un] Use class methods of `File` over `Kernel.open`
https://github.com/ruby/un/commit/13bdd766fe nobu (Nobuyoshi Nakada)
10:54 AM Feature #19089: Load bundler/setup in gem_prelude.rb when "bundle exec" is used
naruse (Yui NARUSE) wrote in #note-12:
> People shouldn't use and recommend others to use --disable-gem as a workaround for a bug. It's only for debugging.
> ...
There is no need for `--disable-gem` here.
`--disable-did-you-mean` / `-...
Eregon (Benoit Daloze)
03:32 AM Feature #19089: Load bundler/setup in gem_prelude.rb when "bundle exec" is used
People shouldn't use and recommend others to use --disable-gem as a workaround for a bug. It's only for debugging.
If people use --disable-gem for such use case widely, we need to remove the option.
naruse (Yui NARUSE)
10:26 AM Revision e2b15461 (git): [ruby/optparse] Use class methods of `File` over `IO`
https://github.com/ruby/optparse/commit/ab5073e4d8 nobu (Nobuyoshi Nakada)
08:46 AM Revision c9fbc779 (git): [ruby/irb] Add commands to start and use the debugger
(https://github.com/ruby/irb/pull/449)
* Seamlessly integrate a few debug commands
* Improve the break command support
* Utilize skip_src option if available
* Add step and delete commands
* Write end-to-end tests for each debugger ...
k0kubun (Takashi Kokubun)
07:35 AM Revision 65e31402 (git): Use double quotes for nmake [ci skip]
nobu (Nobuyoshi Nakada)
07:32 AM Revision 854312ee (git): Refactor to use has_delayed_token macro
yui-knk (Kaneko Yuichiro)
07:21 AM Revision 3071a727 (git): Add a comment about confusing code [ci skip]
k0kubun (Takashi Kokubun)
07:13 AM Revision 730b841f (git): Prevent a "warning: ambiguity between regexp and two divisions"
mame (Yusuke Endoh)
06:10 AM Revision 166598a6 (git): Add outdate-bundled-gems target [ci skip]
nobu (Nobuyoshi Nakada)
05:25 AM Revision 427985c1 (git): Update default gems list at 509f04ca9159d1dd046af4ffb19cfa [ci skip]
git[bot]
05:24 AM Revision 509f04ca (git): [ruby/irb] Version 1.5.0
Asked by ko1 to release https://github.com/ruby/irb/pull/444 for
simplifying https://github.com/ruby/debug/pull/808,
and hsbt made me a gem owner for this.
Stan said 1.4.3 should have been 1.5.0, but now that it's already
released and i...
k0kubun (Takashi Kokubun)
05:23 AM Revision 1753cf59 (git): Fix a broken interpolation #{head}
k0kubun (Takashi Kokubun)
05:17 AM Revision db8ff237 (git): Add a link to Feature #19070 ticket [ci skip]
yui-knk (Kaneko Yuichiro)
05:07 AM Revision 29e6d975 (git): Fix typos (#6775)
* s/Innteger/Integer/
* s/diretory/directory/
* s/Bufer/Buffer/
* s/defalt/default/
* s/covearge/coverage/
Yudai Takada
04:18 AM Misc #19122: Use MADV_DONTNEED instead of MADV_FREE when freeing a Fiber's stack
I don't have a strong opinion about this, but I'm generally against loosing performance.
Maybe it can be controlled using environment variable.
ioquatix (Samuel Williams)
12:01 AM Feature #19070 (Closed): Enhance keep_tokens option for RubyVM::AbstractSyntaxTree parsing methods
Applied in changeset commit:git|d8601621edcf29e3323b90dcf04b774edd9fb45e.
----------
Enhance keep_tokens option for RubyVM::AbstractSyntaxTree parsing methods
Implementation for Language Server Protocol (LSP) sometimes needs token info...
yui-knk (Kaneko Yuichiro)
12:01 AM Revision d8601621 (git): Enhance keep_tokens option for RubyVM::AbstractSyntaxTree parsing methods
Implementation for Language Server Protocol (LSP) sometimes needs token information.
For example both `m(1)` and `m(1, )` has same AST structure other than node locations
then it's impossible to check the existence of `,` from AST. Howev...
yui-knk (Kaneko Yuichiro)

11/20/2022

10:22 PM Revision bbc4cf5f (git): Revert wrong sync in 5958c305e5 [ci skip]
sync_default_gems.rb sometimes syncs too much. k0kubun (Takashi Kokubun)
03:40 PM Bug #4992: finalizer中のThread.newでSEGV
`Thread.new` is prohibited but not `Thread.start`.
```
$ ruby -v --disable=gems -d -e 'class E<StandardError;def detailed_message(...) Thread.start{"<#{super}>"}.value; end; end' -e 'raise E'
ruby 3.2.0dev (2022-11-13T14:54:43Z mast...
nobu (Nobuyoshi Nakada)
01:44 PM Bug #19016 (Closed): syntax_suggest is not working with Ruby 3.2.0-preview2
Applied in changeset commit:git|701dfe4eb741628213e4d701c13ad6d76904ac4f.
----------
[Bug #19016] Handle syntax error in main script like other errors
So that `SyntaxError#detailed_message` will be used also in the case
exiting by such...
nobu (Nobuyoshi Nakada)
11:00 AM Revision 701dfe4e (git): [Bug #19016] Handle syntax error in main script like other errors
So that `SyntaxError#detailed_message` will be used also in the case
exiting by such syntax error.
nobu (Nobuyoshi Nakada)
11:00 AM Revision 12b7b852 (git): Use `enum ruby_tag_type` over `int`
nobu (Nobuyoshi Nakada)
09:51 AM Revision 230c7de2 (git): sync_default_gems.rb: Fix substitution [ci skip]
As there should be no modified files just affter `git cherry-pick`
succeeded in `sync_default_gems_with_commits`, reset to the previous
revision once to pick up the committed files.
nobu (Nobuyoshi Nakada)
08:18 AM Feature #17472 (Rejected): HashWithIndifferentAccess like Hash extension
As far as I understand, after `HashWithIndifferentAccess` is optimized to use `Symbol#name` and avoids to create duplicated string objects, it is not a performance bottleneck now.
If people identify this is a bottleneck again with bench...
naruse (Yui NARUSE)
05:58 AM Revision 779917fc (git): Avoid a timeout on test_cache_optimization_exponential
The timeout seems too short for some CIs.
http://rubyci.s3.amazonaws.com/debian11-aarch64/ruby-master/log/20221120T012840Z.fail.html.gz
k0kubun (Takashi Kokubun)
05:38 AM Revision 66ac288a (git): [ruby/irb] Push an accidentally uncommitted diff
https://github.com/ruby/irb/commit/7e9f27afd7 k0kubun (Takashi Kokubun)
05:34 AM Revision 67034ac7 (git): [ruby/irb] Deal with inconsistency with ruby/ruby
https://github.com/ruby/irb/commit/41d5012849 k0kubun (Takashi Kokubun)
05:32 AM Revision 8512b97d (git): [ruby/irb] Require missing EnvUtil
https://github.com/ruby/irb/commit/9bb1757b02 k0kubun (Takashi Kokubun)
05:31 AM Revision fa2e0cc0 (git): [ruby/irb] Try using a different file name
hoping to address:
https://github.com/ruby/ruby/actions/runs/3506561941/jobs/5873689640
https://github.com/ruby/irb/commit/de9a6b9d00
k0kubun (Takashi Kokubun)
05:19 AM Revision f4725167 (git): [ruby/irb] Require rubygems for ruby/ruby
You can't take rubygems for granted in a default gem.
https://github.com/ruby/ruby/actions/runs/3506561943/jobs/5873689466
https://github.com/ruby/irb/commit/58bb3954d0
k0kubun (Takashi Kokubun)
05:14 AM Revision 1284baec (git): Skip TestDRbSSLAry on mswin
This doesn't seem to stably work on mswin:
https://github.com/ruby/ruby/actions/runs/3505363753/jobs/5871633211
For CI stability, it generally seems like a bad idea to run druby tests
on Windows, given that it's pretty much unstable on ...
k0kubun (Takashi Kokubun)
05:06 AM Revision e0f0367a (git): [ruby/irb] Fix CI failure on ruby/ruby
https://github.com/ruby/irb/commit/ea8c716922 k0kubun (Takashi Kokubun)
04:47 AM Revision 180ed611 (git): [ruby/irb] Add edit command (https://github.com/ruby/irb/pull/453)
* Add edit command
* Make find_source a public singleton method
* Add document for the edit command
* Make find_end private
* Remove duplicated private
https://github.com/ruby/irb/commit/4321674aa7
Co-authored-by: Takashi Kokubun <t...
Stan Lo
03:08 AM Feature #19137 (Open): Numbered parameters are not made available to IRB.
Hello !
It does not look like numbered parameters are available through the Binding that's used by IRB.
```ruby
# repl.rb
[1,2,3].each do
binding.irb
end
```
```
$ irb repl.rb
irb(main):001:0> puts _...
0x1eef (0x 1eef)
02:06 AM Revision 43999031 (git): Avoid warnings on MINGW:
win32/win32.c: In function 'rtc_error_handler':
win32/win32.c:691:5: warning: function 'rtc_error_handler' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
691 | rb_str_vcatf(str, fmt, ap);
...
Lars Kanis
 

Also available in: Atom