summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-09Fix crash in TCPSocket.openLuke Jahnke
Fix segfault crash observable with TCPSocket.open(nil, nil)
2025-04-08Merge RubyGems-3.6.7 and Bundler-2.6.7Hiroshi SHIBATA
2025-04-08Merge RubyGems-3.6.6 and Bundler-2.6.6Hiroshi SHIBATA
2025-04-03Use EnvUtil.apply_timeout_scaleHiroshi SHIBATA
2025-04-03Extend open_timeout for test failure on s390xHiroshi SHIBATA
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
2025-04-02Picking test fix from ↵Hiroshi SHIBATA
https://github.com/ruby/ruby/commit/3d8a66568e8106b367665d716e0d3c8c8208aa07 The original change is https://github.com/ruby/ruby/commit/d78ff6a767ca813ac5fa178dd7611f20a993c191
2025-04-03Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml ↵Hiroshi SHIBATA
via vcpkg
2025-04-02Improve backtrace of errors raised by `Socket.tcp_with_fast_fallback`Jean Boussier
[Bug #21211] Socket errors raised from background threads are hard to track down because their backtrace starts from the spawned thread. To solve this we can raise a new error with the old one as `cause`.
2025-04-02[rubygems/rubygems] Bump up minimum required version for cmake 4Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/3e77caeddf
2025-03-27[Backport #21141] [DOC] Refine description of `Time#utc?`Nobuyoshi Nakada
2025-03-27[Backport #21141] [DOC] Clarify what time is in UTCNobuyoshi Nakada
2025-03-27FCALL shouldn't be forwarded from callerAaron Patterson
When we forward an FCALL (a method call with an implicit self), we shouldn't forward the FCALL flag because it ignores method visibility checks. This patch removes the FCALL flag from callers. [Bug #21196]
2025-03-27Fix handling of `error`/`errno` in `io_internal_wait`. (#12961)Samuel Williams
[Bug #21195]
2025-03-24[rubygems/rubygems] Support git 2.49David Rodríguez
One error message that we parse is now slightly different. https://github.com/rubygems/rubygems/commit/758528791d
2025-03-20[Bug #21094] Update nested module names when setting temporary nameNobuyoshi Nakada
[Backport #21094]
2025-03-20[Bug #21186] multibyte char literal should be a single letter wordNobuyoshi Nakada
[Backport #21186]
2025-03-14Push a real iseq in rb_vm_push_frame_fname()Alan Wu
Previously, vm_make_env_each() (used during proc creation and for the debug inspector C API) picked up the non-GC-allocated iseq that rb_vm_push_frame_fname() creates, which led to a SEGV when the GC tried to mark the non GC object. Put a real iseq imemo instead. Speed should be about the same since the old code also did a imemo allocation and a malloc allocation. Real iseq allows ironing out the special-casing of dummy frames in rb_execution_context_mark() and rb_execution_context_update(). A check is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy iseqs. [Bug #21180] Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2025-03-14Have `ast` live longer in ISeq.compile_file to fix GC stress crashAlan Wu
Previously, live range of `ast_value` ended on the call right before rb_ast_dispose(), which led to premature collection and use-after-free. We observed this crashing on -O3, -DVM_CHECK_MODE, with GCC 11.4.0 on Ubuntu. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2025-03-13Check LoadError firstNobuyoshi Nakada
The message from dlerror is not our concern.
2025-03-13Added assertion strings with Xcode 16.3 betaHiroshi SHIBATA
2025-03-12[Bug #19841] Refine error on marshaling recursive USERDEFNobuyoshi Nakada
2025-03-11Fix `Socket.tcp_with_fast_fallback` to be usable from a RactorJean Boussier
[Bug #21179] ``` socket.rb:1046:in 'Socket::HostnameResolutionStore#get_addrinfo': can not access non-shareable objects in constant Socket::HostnameResolutionStore::PRIORITY_ON_V6 by non-main ractor. (Ractor::IsolationError) from socket.rb:724:in 'block in Socket.tcp_with_fast_fallback' from socket.rb:720:in 'Socket.tcp_with_fast_fallback' ```
2025-03-10RUBY_FREE_AT_EXIT does not work when error in -rPeter Zhu
[Bug #21173] When loading a file using the command line -r, it is processed before RUBY_FREE_AT_EXIT is checked. So if the loaded file raises an error, it will cause memory to not be freed with RUBY_FREE_AT_EXIT. For example `ruby -rtest.rb -e ""` will report a large amount of memory leaks if `test.rb` raises.
2025-03-10[Bug #21163] Fix hexadecimal float conversionNobuyoshi Nakada
2025-03-06Fix a race condition with interned strings sweeping.Jean Boussier
[Bug #21172] This fixes a rare CI failure. The timeline of the race condition is: - A `"foo" oid=1` string is interned. - `"foo" oid=1` is no longer referenced and will be swept in the future. - Another `"foo" oid=2` string is interned. - `register_fstring` finds `"foo" oid=1`, but since it is about to be swept, removes it from `fstring_table` and insert `"foo" oid=2` instead. - `"foo" oid=1` is swept, since it has the `RSTRING_FSTR` flag, a `st_delete` is issued in `fstring_table` which removes `"foo" oid=2`. I don't know how to reproduce this bug consistently in a single test case.
2025-03-05Replace tombstone when converting AR to ST hashJohn Hawthorn
[Bug #21170] st_table reserves -1 as a special hash value to indicate that an entry has been deleted. So that that's a valid value to be returned from the hash function, do_hash replaces -1 with 0 so that it is not mistaken for the sentinel. Previously, when upgrading an AR table to an ST table, rb_st_add_direct_with_hash was used which did not perform the same conversion, this could lead to a hash in a broken state where one if its entries which was supposed to exist being marked as a tombstone. The hash could then become further corrupted when the ST table required resizing as the falsely tombstoned entry would be skipped but it would be counted in num entries, leading to an uninitialized entry at index 15. In most cases this will be really rare, unless using a very poorly implemented custom hash function. This also adds two debug assertions, one that st_add_direct_with_hash does not receive the reserved hash value, and a second in rebuild_table_with, which ensures that after we rebuild/compact a table it contains the expected number of elements. Co-authored-by: Alan Wu <alanwu@ruby-lang.org>
2025-03-05yjit.rb: Fix parameter name in documentationa5-stable
2025-03-04[Bug #21144] Win32: Use Windows time zone ID if TZ is not setNobuyoshi Nakada
If the TZ environment variable is not set, the time zone names retrieved from the system are localized for UI display and may vary across editions and language packs for the same time zone. Use the time zone IDs that are invariant across environments instead.
2025-03-03[ruby/prism] Use a locale-insensitive version of tolowerJean Boussier
[Bug #21161] The `tolower` function provided by the libc is locale dependent and can behave in ways you wouldn't expect for some value of `LC_CTYPE`. https://github.com/ruby/prism/commit/e3488256b4 Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
2025-03-03[Bug #21159] module names should not be modifiableNobuyoshi Nakada
2025-03-03[Feature #19521] Test for `Module#set_temporary_name`Nobuyoshi Nakada
2025-03-03Ensure IO.copy_stream buffer is an independent stringJeremy Evans
Otherwise, changes to the buffer by the destination write method could result in data changing for supposedly independent strings. Fixes [Bug #21131]
2025-03-03[Bug #21030] Fix step for non-numeric rangeNobuyoshi Nakada
When the end points of an inclusive range equal, `Range#step` should yields the element once.
2025-02-28Visual Studio 2022 17.13.x couldn't build miniruby.exe. It prevents other PRs.Hiroshi SHIBATA
https://github.com/actions/runner-images/commit/e43209e1398efe7739e42509162b3187515b9359 ``` user32.lib advapi32.lib shell32.lib ws2_32.lib iphlpapi.lib gmp.lib imagehlp.lib shlwapi.lib bcrypt.lib linking miniruby.exe Creating library miniruby.lib and object miniruby.exp [BUG] heap_idx_for_size: allocation size too large (size=145u, heap_idx=25u) ruby 3.5.0dev (2025-02-28T01:12:37Z pull/12827/merge 3d6a5a1883) [x64-mswin64_140] ``` ``` user32.lib advapi32.lib shell32.lib ws2_32.lib iphlpapi.lib imagehlp.lib shlwapi.lib bcrypt.lib linking miniruby.exe NMAKE : fatal error U1077: '@ miniruby.exe -v' : return code '0xc0000005' ```
2025-02-27Merge uri-1.0.3Hiroshi SHIBATA
2025-02-27Merge cgi-0.4.2Hiroshi SHIBATA
2025-02-25[Bug #21153] Add missing op-assign to top const in `command_asgn`Nobuyoshi Nakada
It was defined in `arg` only; add that pattern to `command_asgn` as well.
2025-02-20Merge RubyGems-3.6.5 and Bundler-2.6.5Hiroshi SHIBATA
2025-02-20Merge RubyGems-3.6.4 and Bundler-2.6.4Hiroshi SHIBATA
2025-02-20Merge RubyGems-3.6.3 and Bundler-2.6.3Hiroshi SHIBATA
2025-02-20[ruby/mmtk] Fix compatibility for Rust 1.85Peter Zhu
https://github.com/ruby/mmtk/commit/9da566e26a
2025-02-18[ruby/prism] Fix escape unicode curly inline whitespaceKevin Newton
Fixes [Bug #21145] https://github.com/ruby/prism/commit/be2d845639
2025-02-14v3.4.2v3_4_2Takashi Kokubun
2025-02-14Fix locals_test based on previous backportsKevin Newton
2025-02-14Backport Bug #21137Kevin Newton
2025-02-14Backport Bug #21118 and Bug #21043Kevin Newton
2025-02-14Backport Bug #21031Kevin Newton
2025-02-13[Bug #20982] Put spaces in `ENV.inspect` results as well as `Hash`Nobuyoshi Nakada
2025-02-13Refine ENV testsNobuyoshi Nakada
2025-02-13merge revision(s) 19c39e4cfaa467e69b9848c9c5496d7f50d39c7f, ↵Takashi Kokubun
d78ff6a767ca813ac5fa178dd7611f20a993c191: [Backport #20984] [Bug #20984] ENV.inspect should be encoding aware [Bug #20984] Fix test with locale encoding