Activity
From 02/02/2024 to 02/08/2024
02/08/2024
-
11:52 PM Revision e2aa00ca (git): YJIT: Remove unnecessary casts for chain_depth (#9893)
-
11:47 PM Revision 5cbca911 (git): YJIT: Allow tracing a counted exit (#9890)
- * YJIT: Allow tracing a counted exit
* Avoid clobbering caller-saved registers -
11:03 PM Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
- https://github.com/ruby/ruby/pull/9371 is already backported into `ruby_3_3`.
https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9 -
08:39 PM Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
- To everyone saying they’re blocked by this bug: how are you installing your Ruby? The workaround in https://bugs.ruby-lang.org/issues/20085#note-5 should be pretty straightforward and get you unblocked.
Of course we need to fix the co... -
04:18 PM Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
- I can't deploy apps with Kamal (e.g. Docker) because of this crash
-
11:01 PM Bug #20248 (Closed): Ruby does not build with ASAN support with clang
- The [instructions](https://github.com/ruby/ruby/blob/master/doc/contributing/building_ruby.md) for building Ruby with ASAN enabled do not work when using clang to build.
Given a trivial Dockerfile such as:
```
FROM gcr.io/clang-dock... -
10:27 PM Bug #20247: net/http/header limits are too low
- The upstream repo didn't have info for bug reports in the README, so I looked at the main ruby/ruby instructions instead.
I have filed the same issue with upstream: https://github.com/ruby/net-http/issues/173
-
09:58 PM Bug #20247: net/http/header limits are too low
- This should be reported upstream: https://github.com/ruby/net-http and can be found at https://github.com/ruby/net-http/commit/c245f7f9c845f1e7534b4e50b69e94ca9d083ca7.
Based on my reading (https://www.geekersdigest.com/max-http-reque... -
09:33 PM Bug #20247 (Closed): net/http/header limits are too low
- Hello, some of my HTTP tests are failing on Ruby 3.3 due to ArgumentError too long. I am trying to update from Ruby 2.7. I did not see any mention of this change in the net/http changelog, but looking at git history, the limit was added...
-
07:36 PM Revision 4a40364c (git): [PRISM] Run opt init before parsing
-
07:36 PM Revision 3ecfc3e3 (git): [PRISM] Support the DATA constant
-
06:18 PM Misc #20238: Use prism for mk_builtin_loader.rb
- > It seems not working if BASERUBY is system ruby on Linux distribution because these environment is separated ruby, rubygems and bundler packages.
I tried it on Ubuntu 22.04, and it worked. We already use ERB of baseruby, so it should ... -
05:03 PM Revision 19362784 (git): YJIT: Maintain MapToLocal that is just upgraded (#9876)
-
04:53 PM Revision 3e03981f (git): [PRISM] Compile constant paths with optimizations
-
04:53 PM Revision 54295ba5 (git): [PRISM] Compile constant reads using opt_getconstant_path
-
04:53 PM Revision b2d468fc (git): [PRISM] Refactor call opts to only check for specific ids
-
04:03 PM Revision 33974498 (git): YJIT: Report invalidation counts in non-stats mode (#9878)
- The `invalidation_count` and `invalidate_*` counters are all incremented
using `incr_counter!` without a guard on stats mode, so they can be made
always available.
This could be to helpful in investigating where, how often, and what
typ... -
04:03 PM Revision 50b4ef29 (git): YJIT: Use jit_prepare_call_with_gc as much as possible (#9874)
- * YJIT: Use jit_prepare_call_with_gc as much as possible
* Stop assuming vm_defined doesn't make a call -
04:02 PM Revision 19839498 (git): [ruby/prism] Looks like Symbol#name wasn't a thing in 2.7, so need to switch back to to_s
- https://github.com/ruby/prism/commit/0b90c9a398
-
04:02 PM Revision 0c735530 (git): [ruby/prism] Add Kevin's visit_all change and change the parent class to Compiler.
- https://github.com/ruby/prism/commit/bbdba3f42d
Co-Authored-By: Kevin Newton <kddnewton@gmail.com> -
04:02 PM Revision f8b8a678 (git): [ruby/prism] Update lib/prism/ripper_compat.rb
- https://github.com/ruby/prism/commit/03addf2d3d
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
04:02 PM Revision 3f0aa554 (git): [ruby/prism] Update lib/prism/ripper_compat.rb
- https://github.com/ruby/prism/commit/5eac08f699
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
04:02 PM Revision c1aba5d9 (git): [ruby/prism] Update lib/prism/ripper_compat.rb
- https://github.com/ruby/prism/commit/8271ce5ec9
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
04:02 PM Revision 70bc4ce3 (git): [ruby/prism] Update lib/prism/ripper_compat.rb
- https://github.com/ruby/prism/commit/6e2bf9c8cd
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
04:02 PM Revision 6aceb91d (git): [ruby/prism] Update lib/prism/ripper_compat.rb
- https://github.com/ruby/prism/commit/bce0a5c916
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
04:02 PM Revision 366af467 (git): [ruby/prism] RipperCompat: support for more features.
- * add bin/prism ripper to compare Ripper output
* block arg handling is quirky, do it per-call-site
* block required params
* boolean values
* various assign-operator support
* breaks, early fragile begin/rescue/end
* more fixtures being... -
03:49 PM Revision c6b39121 (git): [DOC] Improve flags of string
-
03:22 PM Revision b74c8abd (git): YJIT: Skip pushing a frame for Hash#empty? (#9875)
-
03:13 PM Bug #20245 (Closed): Crash when checking symbol encoding
- Applied in changeset commit:git|01fd262e62076277a41af72ea13f20deb1b462a2.
----------
Fix crash when checking symbol encoding
[Bug #20245]
We sometimes pass in a fake string to sym_check_asciionly. This can crash
if sym_check_asciionly... -
03:12 PM Revision 01fd262e (git): Fix crash when checking symbol encoding
- [Bug #20245]
We sometimes pass in a fake string to sym_check_asciionly. This can crash
if sym_check_asciionly raises because it creates a CFP with the fake
string as the receiver which will crash if GC tries to mark the CFP.
For exampl... - 02:17 PM Revision 6756dbf3 (git): Update bundled gems list at 443c5c06ac2be84059a7c4435c37de [ci skip]
-
02:17 PM Revision 443c5c06 (git): Bundle rbs-3.4.4 (#9883)
-
09:19 AM Bug #20246 (Closed): Unexpected behavior for Regexp in Subexpression Calls on Ruby 3.3.0
- Hello! A few days ago, after migration on 3.3.0 I have faced with issue inside subexpression calls.
An expected result on Ruby up to 3.3.0:
```ruby
'1.2.3'[/(\d+)(\.\g<1>){2}/] # => "1.2.3"
```
An actual result on Ruby 3.3.0:
... -
09:08 AM Revision 34581410 (git): Extract `RBIMPL_VA_OPT_ARGS`
- Similar to splat argument in Ruby, which be expanded to `__VA_ARGS__`
with a leading comma if any arguments given, otherwise empty. -
09:08 AM Revision f3cc1f9a (git): Show actual imemo type when unexpected type
-
09:08 AM Revision d31a12a2 (git): Optional detail info at assertion failure
- 08:28 AM Revision 0292d1b7 (git): Update bundled gems list as of 2024-02-07
-
08:19 AM Bug #20184: Ruby segfaults on Fly.io with 256 MB RAM
- Backport PR for 3.3: https://github.com/ruby/ruby/pull/9805
-
08:15 AM Revision 482b82ae (git): Bump typeprof to 0.21.10
-
06:29 AM Revision 908cedf7 (git): Removed accidentally commit for lockfile
-
06:27 AM Revision 70bb9cf0 (git): [rubygems/rubygems] rake vendor:install
- https://github.com/rubygems/rubygems/commit/c38a96ceae
-
06:27 AM Revision 75c5e1a1 (git): [rubygems/rubygems] Removed unnecessary disabling of Style/RedundantParentheses
- https://github.com/rubygems/rubygems/commit/2361527c45
- 06:07 AM Revision 43af2060 (git): Update default gems list at a35cade79125d2ae99cea01914939d [ci skip]
-
05:43 AM Revision a35cade7 (git): [rubygems/rubygems] Improve assertion
- https://github.com/rubygems/rubygems/commit/7f2f2b898c
Co-authored-by: Martin Emde <martin.emde@gmail.com> -
05:43 AM Revision c2362126 (git): [rubygems/rubygems] Use deprecation helper for deprecation warning
- https://github.com/rubygems/rubygems/commit/d1963bf1a6
-
05:43 AM Revision 0c71fb4b (git): [rubygems/rubygems] Run definition specs in an isolated location
- And consistently pass Pathname's to `Definition.new` like production
code does.
https://github.com/rubygems/rubygems/commit/660def5b68 -
05:43 AM Revision 5500f880 (git): [rubygems/rubygems] Fix incorrect 4th parameter to Definition.new
- https://github.com/rubygems/rubygems/commit/54948e428d
-
05:43 AM Revision e0412077 (git): [rubygems/rubygems] Move `subject` to top level context
- https://github.com/rubygems/rubygems/commit/331c415af0
-
05:43 AM Revision 24d5e717 (git): [rubygems/rubygems] Refactor lockfile generation
- https://github.com/rubygems/rubygems/commit/6a0c03c77f
-
05:43 AM Revision debc5aae (git): [rubygems/rubygems] Remove unused parameter
- https://github.com/rubygems/rubygems/commit/085eda7147
- 05:43 AM Revision ce2618c6 (git): [ruby/strscan] Bump version
- https://github.com/ruby/strscan/commit/ba338b882c
-
05:43 AM Revision 39f2e37f (git): [ruby/strscan] Don't add begin to length for new string slice
- (https://github.com/ruby/strscan/pull/87)
Fixes https://github.com/ruby/strscan/pull/86
https://github.com/ruby/strscan/commit/c17b015c00 - 05:43 AM Revision 5afae77c (git): [ruby/strscan] Bump version
- https://github.com/ruby/strscan/commit/842845af1f
- 05:43 AM Revision e1834cdf (git): [ruby/fiddle] Set changelog_uri gem metadata
- (https://github.com/ruby/fiddle/pull/138)
See https://guides.rubygems.org/specification-reference/#metadata for changelog_uri metadata.
https://github.com/ruby/fiddle/commit/0bd8e96adc -
03:06 AM Revision ce6054a6 (git): Move an embedded directive outside macro arguments
- Suppress warnings/errors by -Wembedded-directive with `-std=c99` on
macOS. -
02:28 AM Revision 9f1afefa (git): Now we can use ruby analysis with large runner
-
01:17 AM Misc #20222: Dedup-ing clarification
- Seems like a valid optimization to me and is similar to identity of small integers versus heap allocated bignums.
-
12:36 AM Revision 04d42650 (git): Remove obsoleted rb_vm_opt_cfunc_p
- That was added for MJIT's inlining decisions, but we no longer have MJIT.
02/07/2024
-
09:26 PM Revision 0e1f22ac (git): [ruby/prism] Dev-only CLI
- We keep adding more scripts to /bin that are doing the same kinds
of processing. Instead, this commit consolidates them all into a
single CLI that shares the same logic so that we can consistently
read files in the same way.
It keeps ar... -
07:42 PM Revision 1b68b459 (git): [ruby/prism] Commit Kevin's suggestion to simplify grabbing the operator.
- https://github.com/ruby/prism/commit/874ba7a1f4
Co-Authored-By: Kevin Newton <kddnewton@gmail.com> -
07:42 PM Revision 5b7baa04 (git): [ruby/prism] More different block-call syntaxes, support more types of method calls
- https://github.com/ruby/prism/commit/40cf114a24
-
07:42 PM Revision 73d222e1 (git): [ruby/prism] Support &. calls and calling with blocks, test with fixtures
- https://github.com/ruby/prism/commit/e346fa583a
-
07:42 PM Revision b1310940 (git): [ruby/prism] RipperCompat: support more kinds of method calls and operators.
- Add tests. Start parsing some simpler fixture code.
https://github.com/ruby/prism/commit/997f4191d8 - 06:37 PM Revision a5c871e2 (git): Update default gems list at fcc8df622a47a99c3df9889ec7efaf [ci skip]
-
06:36 PM Revision fcc8df62 (git): Bump prism version
-
05:48 PM Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
- Getting closer...backport merged to 3.3.0. Anyone familiar with the release process know when the new binaries will land?
-
05:15 PM Revision b2392c6b (git): Fix memory leak when parsing invalid pattern matching
- If the pattern matching is invalid, then the pvtbl would get leaked. For
example:
10.times do
100_000.times do
eval(<<~RUBY)
case {a: 1}
in {"a" => 1}
end
RUBY
rescue SyntaxE... - 04:59 PM Revision f741b05d (git): Update default gems list at 0b7f51683446c81d7352d7d2eab9f4 [ci skip]
-
04:57 PM Revision 0b7f5168 (git): [ruby/irb] Bump version to v1.11.2
- (https://github.com/ruby/irb/pull/865)
https://github.com/ruby/irb/commit/afe1f459cc -
04:55 PM Misc #20238: Use prism for mk_builtin_loader.rb
- hsbt (Hiroshi SHIBATA) wrote in #note-1:
> It seems not working if BASERUBY is system ruby on Linux distribution because these environment is separated ruby, rubygems and bundler packages. It should be using repository version of prism.
... -
03:15 PM Misc #20238: Use prism for mk_builtin_loader.rb
- I tried to get that working, but it seems like the extensions are built too late. We need prism earlier in the process to build the core files first. Maybe there's a way, but @k0kubun and I couldn't find it.
-
04:54 PM Revision aad3c36b (git): [ruby/prism] Support for Ruby 2.7
- https://github.com/ruby/prism/commit/1a15b70a8e
-
04:38 PM Bug #20245 (Closed): Crash when checking symbol encoding
- GitHub PR: https://github.com/ruby/ruby/pull/9871
We sometimes pass in a fake string to sym_check_asciionly. This can crash if sym_check_asciionly raises because it creates a CFP with the fake string as the receiver which will crash i... -
04:35 PM Feature #20244 (Closed): Show the conflicting another chdir block
- `Dir.chdir` is warning when in another `chdir` block.
```sh-session
$ ruby -e 'Dir.chdir {' -e 'Dir.chdir("/")' -e '}'
-e:2: warning: conflicting chdir during another chdir block
```
If two `chdir`s are far apart, it can be diff... -
03:42 PM Revision aed052ce (git): [PRISM] Revert incorrect frozen string literal handling
-
02:59 PM Revision 5f4245e7 (git): [ruby/irb] Polish tracer integration and tests
- (https://github.com/ruby/irb/pull/864)
* Remove useless ivar
* Simplify tracer test setup
* Treat tracer like a normal development dependency
* Only require ext/tracer when value is truthy
* Make tracer integration skip IRB traces
... -
02:44 PM Revision 164c18af (git): [ruby/prism] Correct handle recover parameters on tokenize for parser translation
- https://github.com/ruby/prism/commit/63979de21d
-
01:46 PM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-6:
> Is this enough to meet your needs? If so, I can close this out.
Maybe, yes. It's unfortunate for me to rewrite a few lines of Ruby into 100~200 lines of C++, though.
I wonder whet... -
09:44 AM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- > It looks something like this works:
Won't win any awards for beauty perhaps, but gets the job done!
Is this enough to meet your needs? If so, I can close this out. Otherwise, perhaps a good next step would be to open a new featur... -
12:13 PM Misc #20242: `--parser=prism_without_warning`
- Do you have an example? That could help to clarify the need for this.
Is it problematic to modify these tests/specs to accept Prism warnings too? I think that would be best (since it would be needed longer-term anyway).
For compatibili... -
11:34 AM Revision 9ebaf7a8 (git): Run CodeQL using macos-arm-oss only on ruby/ruby
-
11:03 AM Revision e965c5a1 (git): Keep cpp build with ubuntu-latest
-
09:33 AM Revision 78898c53 (git): Refer gmp to macOS build
-
09:33 AM Revision 5d5d27a6 (git): readline-ext is extracted bundled gems at Ruby 3.3
-
09:28 AM Bug #20243: M:N threading VM_ASSERT failure in rb_current_execution_context with clang 17 (on Linux)
- yeah you definitely can't tell the compiler you're clobbering `%fs`
```
../thread_pthread.c:1166:20: error: unknown register name 'fs' in asm
1166 | __asm__("" ::: "fs", "memory");
| ^
1 error generat... -
09:18 AM Bug #20243 (Open): M:N threading VM_ASSERT failure in rb_current_execution_context with clang 17 (on Linux)
- When building with Clang 17 and `-DVM_CHECK_MODE=1` (with the following configure)
```
optflags="-ggdb3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -O3" cflags="-DVM_CHECK_MODE=1" CC=clang ../configure --prefix=/home/kj/ruby... -
09:04 AM Feature #9113: Ship Ruby for Linux with jemalloc out-of-the-box
- We've been using jemalloc since 2018 and it cut our memory use to 1/5, it also stopped us needing to restart our app every 3-4 days as the memory slowly leaked. It is staggering to me why this isn't the default, until we discovered jemal...
-
08:42 AM Bug #20221 (Closed): ASAN: make test-basic: un-prefixed symbol leakage - Applied in changeset commit:git|565ef06e917c6f326f8d528dc8fa6c6de88a8753.
----------
Ignore _odr_asan symbols in leaked-globals
ASAN includes these to detect violations of the ODR rule.
[Bug #20221] - 08:42 AM Revision 565ef06e (git): Ignore _odr_asan symbols in leaked-globals
- ASAN includes these to detect violations of the ODR rule.
[Bug #20221] -
08:27 AM Revision 42c36269 (git): The default ram size is 13GB at macos runner
-
08:27 AM Revision 66d6695f (git): Try to run with large runner
-
08:27 AM Revision 84070443 (git): Update latest version of CodeQL
-
07:06 AM Revision d95d3484 (git): omit tests related legacy provider
- It failed with recent update of FreeBSD
https://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20240207T023002Z.fail.html.gz -
06:44 AM Bug #20239 (Closed): Segmentation fault when using Regex on a large String
- Applied in changeset commit:git|75aaeb35b82da26359b9418d2963384d0c55839c.
----------
[Bug #20239] Fix overflow at down-casting -
06:14 AM Revision 75aaeb35 (git): [Bug #20239] Fix overflow at down-casting
- 05:46 AM Revision 8bd83bb1 (git): [rubygems/rubygems] fix flaky tests
- https://github.com/rubygems/rubygems/commit/0e87ae032d
- 05:46 AM Revision 0edf5a71 (git): [rubygems/rubygems] #to_spec must fallback for prereleases always
- https://github.com/rubygems/rubygems/commit/6302798a32
- 05:46 AM Revision aaef443a (git): [rubygems/rubygems] release requirement may load prerelease when sole option
- https://github.com/rubygems/rubygems/commit/7990771939
- 05:46 AM Revision 5ddf4f5c (git): [rubygems/rubygems] fix Gem::Dependency#to_spec returning nil when prerelease is the only available version
- https://github.com/rubygems/rubygems/commit/a7dcc7214b
-
03:21 AM Revision 2dba4413 (git): [ruby/prism] Even more ripper compat
- https://github.com/ruby/prism/commit/47a602dc1c
- 01:59 AM Revision 64b6a018 (git): Fix test session reuse but expire (#9824)
- * OpenSSL 3.2.1 30 Jan 2024 is also broken
Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch
tentatively. -
01:49 AM Revision e34505c6 (git): [ruby/prism] More visitors and tests for RipperCompat
- Part of issue #2354
https://github.com/ruby/prism/commit/cb28edae34 -
01:38 AM Revision ae13f853 (git): Add test-all to prism
02/06/2024
-
11:48 PM Misc #20240: Unable to build ruby 3.1.0 on macOS when shared due to dylibs (libgmp) not found when running miniruby
- Thank you for your reponse!
Ideally I'd like to support it.
I've tried it, I get similar issues for some of the other dylibs, during make install. Psych is built correctly, just can't be installed. Zlib looks to be the same issue.... -
03:12 PM Misc #20240: Unable to build ruby 3.1.0 on macOS when shared due to dylibs (libgmp) not found when running miniruby
- You could try building using `--without-gmp` to sidestep this problem.
-
10:53 AM Misc #20240 (Open): Unable to build ruby 3.1.0 on macOS when shared due to dylibs (libgmp) not found when running miniruby
- I am trying to develop a conan (the C/C++ package manager) recipe for Ruby. The recipe would allow downstream users to 1) get a runnable ruby executable, and 2) be able to link to ruby, or embbed it in a C/C++ program if built statically...
-
11:31 PM Bug #20241 (Closed): Makefile rule for BUILTIN_ENCOBJS does not create the directory for its output files
- > Also note that having an in-place build and an out-of-src build at the same time doesn't work. Maybe that's what you're seeing.
Exactly this - now I feel stupid. I thought i'd `make clean`'d my previous in tree build, but `.ext/.tim... -
03:00 PM Bug #20241: Makefile rule for BUILTIN_ENCOBJS does not create the directory for its output files
- Also note that having an in-place build and an out-of-src build at the same time doesn't work. Maybe that's what you're seeing.
-
02:24 PM Bug #20241 (Feedback): Makefile rule for BUILTIN_ENCOBJS does not create the directory for its output files
- Try removing `.ext/.timestamp` directory.
-
11:57 AM Bug #20241: Makefile rule for BUILTIN_ENCOBJS does not create the directory for its output files
- https://github.com/ruby/ruby/pull/9846 is my best suggestion to fix this but I'm very open to better ideas from people better versed in Make and autotools than me.
-
11:52 AM Bug #20241 (Closed): Makefile rule for BUILTIN_ENCOBJS does not create the directory for its output files
- When I build Ruby out-of-source (e.g. in a `build/` subdirectory) by running `mkdir build && cd build && ../configure <args> && make`, the build fails because GCC tries to write `build/enc/ascii.o` but the `build/enc` subdirectory does n...
-
09:17 PM Revision 44f0dc62 (git): YJIT: Allow popping before falling back
- Popping but not generating any code before returning `None` was allowed
before fallbacks were introduced so this is restoring that support in
the same way. The included test used to trip an assert due to popping
too much. -
08:49 PM Misc #20193: DevMeeting-2024-02-14
- * [Misc #20242] `--parser=prism_without_warning` (kddnewton)
* Could we add `--parser=prism_without_warning`? It hard to run the tests/specs that test against the output of stderr.
* This would do the exact same thing as --parser=p... -
06:56 PM Misc #20193: DevMeeting-2024-02-14
- * [Bug #20218] aset/masgn/op_asgn with keyword arguments (jeremyevans0)
* Do we want to make it a syntax error to pass keyword arguments in these cases?
* There was already a desire to make passing blocks in these cases a syntax ... -
08:10 AM Misc #20193: DevMeeting-2024-02-14
- * [Feature #20205] Enable `frozen_string_literal` by default (byroot)
* A proposed migration plan for allowing to enable `frozen_string_literal` by default in the future.
* Introduce "chilled strings", they behave like frozen strin... -
08:49 PM Revision 936c0ab5 (git): [ruby/prism] Implement file parsing error handling
- This PR implements proper file parsing error handling. Previously
`file_options` would call `pm_string_mapped_init` which would print an
error from `perror`. However this wouldn't raise a proper Ruby error so
it was just a string output.... -
08:42 PM Misc #20242 (Closed): `--parser=prism_without_warning`
- I was hoping to add another option to `--parser` which would be `--parser=prism_without_warning`. The issue is that it's making it hard to run the tests/specs that test against the output of stderr. This would do the exact same thing as ...
-
08:33 PM Bug #18009: Regexps \w and \W with /i option and /u option produce inconsistent results under nested negation and intersection
- One more case:
```
[26] pry(main)> ("a".."z").to_a.join.scan(/[\W]/iu)
=> ["st"]
``` - 07:56 PM Revision c3403322 (git): [PRISM] Use block node location when building block iseq
- Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
-
07:32 PM Feature #20202: Memoized endless method definitions
- @palkan made it possible to play with [what this feature would look like](https://ruby-next.github.io/#gist:bf3a796268a9730a095fb26cf7f51410) via Ruby Next.
-
07:31 PM Revision c1bc7147 (git): [PRISM] Do not show source snippets if non-UTF-8
-
06:46 PM Feature #20235: Deprecate CHAR syntax
- I agree, it would be good to fix the parsing. At least that's a bugfix that can be done now.
In the long term I think warning about char literals would also be a good thing. Because I stumbled on a problem with `p $stdin.closed?=>true` ... -
06:37 AM Feature #20235: Deprecate CHAR syntax
- Currently, `!` and `?` are interpreted as a part of the method name unless they are followed by `=`. This trick is needed to interpret `foo!=bar` as `foo != bar`, not a method name `foo!`. I think this trick is not needed very much for `...
-
02:34 AM Feature #20235: Deprecate CHAR syntax
- Maybe want to parse `closed?=>true` as `(closed?)=>true`?
If only it is, `?c` syntax doesn't feel to need to be removed. -
06:10 PM Revision f5b368df (git): [ruby/prism] Better invalid token messages
- https://github.com/ruby/prism/commit/8c9bed2a4d
-
05:36 PM Revision ccec209b (git): [PRISM] Fix fsl coming from file
-
04:57 PM Revision d77172b7 (git): [PRISM] Fix deconstruct index for posts
- 04:46 PM Revision 300dee1f (git): [ruby/irb] Fix usage of tracer gem and add tests
- (https://github.com/ruby/irb/pull/857)
The new tests are skipped when ruby below 3.1, as it was a default gem on it, and in a version we do not support.
This also move definition of `use_tracer` to module Context instead of monkey patc... -
04:21 PM Revision 26fac8f6 (git): [PRISM] Set correct call target flags
-
04:12 PM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-4:
> > or hook into fork to run some code in the child process immediately after it spawns
> ...
Thank you for your advice. It looks something like this works:
```cpp
namespace {
t... -
11:06 AM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- > or hook into fork to run some code in the child process immediately after it spawns
If your objective is "from a C extension, fork, set up the child process whilst it is still single threaded, and then return to Ruby".... you could ... -
07:26 AM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- hanazuki (Kasumi Hanazuki) wrote in #note-2:
> Another option would be to define something like `fork_then_unshare(unshare_flags:, &block)` method in C extension, but because you would usually want to set up and clean up your environmen... -
04:08 PM Revision c6d4071c (git): [PRISM] Handle match write popped
-
03:54 PM Revision a50e3588 (git): Free all remaining objects in rb_objspace_free_objects
- rb_objspace_call_finalizer didn't free fibers and neither did
rb_objspace_free_objects, which caused fibers to be reported as leaked
when using RUBY_FREE_AT_EXIT. This commit changes rb_objspace_free_objects
to free all remaining Ruby ob... -
03:46 PM Revision 1c120023 (git): [PRISM] Correctly handle popped attr write
-
03:13 PM Revision b801a19c (git): [PRISM] Handle empty interpolated statements at start of string
-
02:51 PM Revision d6b7eae5 (git): [PRISM] Correct spec for defined? parentheses
-
11:23 AM Bug #20220 (Closed): M:N threading needs to tell ASAN about stack switches - Applied in changeset commit:git|719db18b50a996f3df4f76854f7dc9d69f875582.
----------
notify ASAN about M:N threading stack switches
In a similar way to how we do it with fibers in cont.c, we need to call
__sanitize_start_switch_fiber a... - 11:23 AM Revision 4f4f3a6d (git): Don't check __asan_region_is_poisoned in objspace_each_objects
- This returns whether or not _any_ piece of memory in the range is
poisoned, not if _all_ of it is. That means that currently, with ASAN
enabled, pages which contain a single poisoned object are skipped
entirely from being iterated with o... - 11:23 AM Revision 719db18b (git): notify ASAN about M:N threading stack switches
- In a similar way to how we do it with fibers in cont.c, we need to call
__sanitize_start_switch_fiber and __sanitize_finish_switch_fiber around
the call to coroutine_transfer to let ASAN save & restore the fake stack
pointer.
When a M:N... -
10:23 AM Bug #20239 (Closed): Segmentation fault when using Regex on a large String
- Since v3.2.0 ruby crashes with segmentation fault on the following script with a `[BUG] Segmentation fault at ...`
``` ruby
require "rbconfig/sizeof"
("\u{0101}" + "a" * RbConfig::LIMITS["INT_MAX"] + "b").match(/b/)
```
Crash ca... -
08:32 AM Misc #20238: Use prism for mk_builtin_loader.rb
- Do you have any reason this use `bundler` and gem version of `prism`? It seems not working if BASERUBY is system ruby on Linux distribution because these environment is separated ruby, rubygems and bundler packages. It should be using re...
-
03:19 AM Revision 4f6b827e (git): Use `__asm` instead of `asm`
- With `--std=c99` option coroutine/arm64/Context.h errs:
```
In file included from cont.c:26:
coroutine/arm64/Context.h:59:5: error: call to undeclared function 'asm'; ISO C99 and later do not support
implicit function declarations... - 02:56 AM Revision 62190667 (git): Bump actions/upload-artifact from 4.3.0 to 4.3.1
- Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/26f96d...
02/05/2024
-
10:18 PM Bug #20209: YJIT can leak memory by retaining objects with singleton class
- Note, there was an additional fix to stabilize CI after this. I opened a GitHub PR with everything bundled together: https://github.com/ruby/ruby/pull/9841
-
09:13 PM Revision bae3e5b2 (git): YJIT: No need to reject splat+zsuper
- There is nothing special about argument handling when it comes to zsuper
if you look around in the VM. Everything passes removing these fallback
reasons. It was ~16% on `railsbench`. -
08:53 PM Misc #20193: DevMeeting-2024-02-14
- * [Misc #20238] Use prism for mk_builtin_loader.rb (kddnewton)
* I would like to propose that we use prism for mk_builtin_loader.rb.
* This would allow us to use the latest Ruby syntax in builtin classes, as opposed to the base Rub... -
04:09 AM Misc #20193: DevMeeting-2024-02-14
- - [Feature #20108] Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
- Fixed the points raised at the last DevMeeting and in the comments.
- When an IP address is specified as an argument, or when the host is singl... -
08:52 PM Misc #20238 (Assigned): Use prism for mk_builtin_loader.rb
- I would like to propose that we use prism for mk_builtin_loader.rb.
Right now the Ruby syntax that you can use in builtin classes is restricted to the base Ruby version (2.7). This means you can't use a lot of the nicer syntax that Ru... -
08:40 PM Revision c42b1029 (git): [ruby/prism] Change the location of an implicit begin to method
- https://github.com/ruby/prism/commit/d08e140859
-
08:18 PM Revision c5694c64 (git): [PRISM] Raise ArgumentError for invalid encoding
-
07:42 PM Revision 10a182f5 (git): [PRISM] Fix method return line
-
07:24 PM Revision 07611acb (git): [ruby/prism] Add another error type for raising argument errors
- https://github.com/ruby/prism/commit/f3030cb2b2
-
06:17 PM Revision ca7a4811 (git): [rubygems/rubygems] Revert "Simplify how extensions are built"
- This reverts commit https://github.com/rubygems/rubygems/commit/0b8faf1e3926.
https://github.com/rubygems/rubygems/commit/7528e0f1ce -
05:54 PM Revision 7eea066c (git): [PRISM] Fix pattern matching array with implicit rest
-
04:57 PM Revision ae7816bc (git): [PRISM] Fix up idUMinus optimization
-
04:55 PM Revision 948c618b (git): [PRISM] Fix encoding of interpolated strings
- Fixes ruby/prism#2313.
-
04:11 PM Bug #20169 (Closed): `GC.compact` can raises `EFAULT` on IO
- Applied in changeset commit:git|5e0c17145131e073814c7e5b15227d0b4e73cabe.
----------
Make io_fwrite safe for compaction
[Bug #20169]
Embedded strings are not safe for system calls without the GVL because
compaction can cause pages to ... -
04:11 PM Revision 5e0c1714 (git): Make io_fwrite safe for compaction
- [Bug #20169]
Embedded strings are not safe for system calls without the GVL because
compaction can cause pages to be locked causing the operation to fail
with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acqui... -
04:08 PM Revision 02c88477 (git): [wasm] tool/m4/ruby_wasm_tools.m4: Add default value for OBJCOPY
- The tool is used to build shared libraries but system installed
tools usually don't support WebAssembly, so use WASI SDK's tools by default. - 04:08 PM Revision 0a88437d (git): Update default gems list at 0b5be2f9e97e0618f76b9a861eaf9c [ci skip]
-
04:07 PM Revision 0b5be2f9 (git): Sync to latest prism
-
03:29 PM Revision 40642cd3 (git): Update to ruby/spec@3fc4444
-
03:29 PM Revision abe07d4b (git): Update to ruby/mspec@31f51e0
-
03:29 PM Revision d9bd64f9 (git): Fix typo
- 03:27 PM Revision b35cdb47 (git): [PRISM] Implement opt_aset_with
- Part of ruby/prism#2231
Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
Co-authored-by: Peter Zhu <peter@peterzhu.ca> - 03:27 PM Revision 8ed26a3f (git): [PRISM] Refactor PM_CALL_NODE conditional
- Co-authored-by: Peter Zhu <peter@peterzhu.ca>
-
02:51 PM Revision 3f0e3ede (git): YJIT: Fix exits on splatkw instruction (#9715)
- [[Bug #20214]](https://bugs.ruby-lang.org/issues/20214)
-
02:51 PM Revision ac526abc (git): Merge RubyGems 3.5.5 and Bundler 2.5.5 (#9676)
- * Merge RubyGems-3.5.4 and Bundler-2.5.4
* Merge RubyGems-3.5.5 and Bundler-2.5.5
* Make tests play with upstream Ruby tests
CI broke in https://github.com/ruby/ruby/pull/9604 because if any Ruby
tests run `require 'net/http'`, they w... -
02:50 PM Revision 7f97e354 (git): [Backport 3.3] [Bug #20085] Use consistent default options for `-mbranch-protection` (#9385)
- [Bug #20085] Use consistent default options for `-mbranch-protection`
We need to use the same options for both C compiler and assembler
when `-mbranch-protection` is guessed by configure. Otherwise,
`coroutine/arm64/Context.{h,S}` will ... -
02:47 PM Bug #19542: Operations on zero-sized IO::Buffer are raising
- ruby_3_3 d7dc57a545d75c01313a9020b162ebb648a3ea18 merged revision(s) c5cf4d4e129f64cb69aaf0a829aed068ef1943c4.
-
02:43 PM Bug #20231: Don't wait in io_binwrite_string if not necessary.
- ruby_3_3 2c365e6dfb95e0df24725c6f377b9cdf5e354557 merged revision(s) 2554c5d3b8738a248cedb2fea96dfab9fbe19417.
-
08:06 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
- ioquatix (Samuel Williams) wrote in #note-4:
> @naruse That PR seems unrelated, is the link correct?
Thanks, the correct PR is https://github.com/ruby/ruby/pull/9831 -
01:10 PM Bug #20236 (Closed): OpenSSL::Cipher#update - probable buffer overflow: 16 for 15
- A fix for this in ruby/openssl's upstream: https://github.com/ruby/openssl/pull/717
-
11:58 AM Bug #20085: Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux
- Noticed this is closed but the issue still persists and the backport isn't merged in yet. Do we know when it will be available?
- 08:41 AM Revision 288d84d8 (git): merge revision(s) 2554c5d3b8738a248cedb2fea96dfab9fbe19417: [Backport #20231] (#9831)
- Don't wait in `io_binwrite_string` if not necessary. (#9792)
---
io.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-) -
08:15 AM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- Another option would be to define something like `fork_then_unshare(unshare_flags:, &block)` method in C extension, but because you would usually want to set up and clean up your environment between fork and unshare, this C function coul...
-
05:55 AM Bug #20237 (Assigned): Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
-
04:59 AM Bug #20237 (Closed): Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- ## Backgrounds
[unshare(2)](https://man7.org/linux/man-pages/man2/unshare.2.html) is a syscall in Linux to move the calling process into a fresh execution context. With `unshare(CLONE_NEWUSER)` you can move a process into a new [user_... - 03:32 AM Revision 3af47f14 (git): Bump necojackarc/auto-request-review from 0.12.0 to 0.13.0
- Bumps [necojackarc/auto-request-review](https://github.com/necojackarc/auto-request-review) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/necojackarc/auto-request-review/releases)
- [Commits](https://github.com/necojackarc/...
02/04/2024
-
11:41 PM Bug #20169: `GC.compact` can raises `EFAULT` on IO
- > IMO it's undefined behaviour to use a Ruby object in a non-GVL scenario, this just fixes the issue inside of Ruby using a hack.
In this case, shouldn’t we fix the original issuing by copying the write through a C-allocated buffer? ... -
10:14 PM Bug #20169: `GC.compact` can raises `EFAULT` on IO
- > I want to try and spell out what it means for "the rules" for extensions if we accept it.
I don't think this implies any new rules. IMO it's undefined behaviour to use a Ruby object in a non-GVL scenario, this just fixes the issue i... -
06:11 PM Feature #20235: Deprecate CHAR syntax
- Dan0042 (Daniel DeLorme) wrote in #note-3:
> @shan it's not "an uncommented `=>` designating a return value", it's (supposed to be) a hash literal like `p 1=>2`. With spaces maybe it's more obvious: `p $stdin.closed? => true`
Ah, I m... -
01:52 PM Feature #20235: Deprecate CHAR syntax
- @shan it's not "an uncommented `=>` designating a return value", it's (supposed to be) a hash literal like `p 1=>2`. With spaces maybe it's more obvious: `p $stdin.closed? => true`
In ruby 1.8 character literals were useful for things... - 04:05 PM Revision 8bc6fff3 (git): [PRISM] Do not optimize safe navigation aref
- Co-authored-by: Peter Zhu <peter@peterzhu.ca>
- 04:05 PM Revision c5d44447 (git): [PRISM] Do not optimize safe navigation -@/freeze
- Co-authored-by: Peter Zhu <peter@peterzhu.ca>
-
03:58 PM Bug #20236 (Closed): OpenSSL::Cipher#update - probable buffer overflow: 16 for 15
- input program crash.rb
``` ruby
require 'openssl'
cipher = OpenSSL::Cipher.new('aes128-wrap-pad').encrypt
cipher.random_key
cipher.update('42')
```
crashes systematically with the attached diagnostic report and the followi... - 01:54 PM Revision d7dc57a5 (git): merge revision(s) c5cf4d4e129f64cb69aaf0a829aed068ef1943c4: [Backport#19542] (#9829)
- merge revision(s) c5cf4d4e129f64cb69aaf0a829aed068ef1943c4: [Backport #19542]
Improve behavioural consistency of unallocated (zero length)
`IO::Buffer`. (#9532)
This makes the behaviour of IO::Buffer.new(0) and... -
01:11 PM Bug #20178: Out of bounds stack read on Array#first when built with -O0
- ruby_3_3 ce6863a0cf971e0c0328e3fc85b10b6de36ecbad merged revision(s) 18573b8d054f655e3e8b24902985bf4028f88810.
-
11:33 AM Revision 7b3e05c3 (git): Do not define ABI version in statically linked objects
- It is for dynamically loading, useless for statically linked objects.
-
09:39 AM Revision 8b897e60 (git): [DOC] Update NEWS refs
-
08:09 AM Revision 3f37b4fe (git): Extend tests for ext/Setup
-
07:43 AM Revision ae8990ae (git): Alias init functions
- The extension library has each initialization function named "Init_" +
basename. If multiple extensions have the same base name (such as
cgi/escape and erb/escape), the same function will be registered for
both names.
To fix this confli... -
07:40 AM Revision 143a1be1 (git): Allow glob patterns in ext/Setup
-
07:35 AM Revision c40b0d52 (git): Glob with base option
- When ripping the base directory off the result names.
-
05:37 AM Revision a065b68b (git): Backport #9415 to ruby_3_3 (#9424)
- YJIT: Let RubyVM::YJIT.enable respect --yjit-stats
-
05:36 AM Revision ba16b340 (git): YJIT: reduce default exec mem size to 48MiB (#9692)
- * YJIT: reduce default exec mem size to 48MiB based
Based on user feedback from @jhawthorn and others.
Better for small and memory-constrained deployments.
NOTE: This commit should be included in the next Ruby 3.3.x point
release. @xrx... -
05:36 AM Bug #20172: Socket.addrinfo failing randomly
- ruby_3_3 53d4e9c4bbba077a569549a01a8263e5e8f59ee8 merged revision(s) 1bd98c820da46a05328d2d53b8f748f28e7ee8f7.
- 04:13 AM Revision ce6863a0 (git): merge revision(s) 18573b8d054f655e3e8b24902985bf4028f88810: [Backport #20178] (#9822)
- Avoid reading unused lvars in Primitive.cexpr
Previously on builds with optimizations disabled, this could result in
an out of bounds read. When we had all of:
* built with -O0
* Leaf builtin
* Pr...
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.