Activity
From 07/02/2024 to 07/08/2024
07/08/2024
-
11:36 PM Feature #20610: Float::INFINITY as IO.select timeout argument
- ioquatix (Samuel Williams) wrote in #note-2:
> Please note that `nil` timeout can mean use the default timeout.
> ...
I see.
`Regexp.new(timeout: nil)` means `Regexp.new(timeout: Regexp.timeout)`.
Thank you.
Such a use case sh... -
10:04 AM Feature #20610: Float::INFINITY as IO.select timeout argument
- There is another issue with accepting Float::INFINITY, it means it needs to be checked explicitly in places where the timeout needs to be converted to a finite duration, to be treated as "no timeout", otherwise that conversation would ra...
-
09:54 AM Feature #20610: Float::INFINITY as IO.select timeout argument
- Regarding the general timeout loop, I would write it like this:
```ruby
# timeout is an optional argument. nil means no timeout.
def method(..., timeout: nil)
if timeout
now = Process.clock_gettime(Process::CLOCK_MONOTONIC)
dea... -
01:14 AM Feature #20610: Float::INFINITY as IO.select timeout argument
- I'm okay with this proposal but I think we should clearly implement:
> If we want to change the timeout of many methods, we would wish to new C-level API similar to rb_time_interval but can return NULL.
I previously discussed some ... -
11:28 PM Revision be1089c8 (git): v3.3.4
-
11:09 PM Bug #20570: Nokey behavior changed since 3.3.
- ruby_3_3 commit:17e21d815583ef7d6be03f29e90a219602497626 merged revision(s) commit:fc33559c.
-
11:09 PM Bug #20570: Nokey behavior changed since 3.3.
- I _think_ I managed to fix the conflict. I'd appreciate a backport PR next time though.
-
10:46 PM Bug #20570: Nokey behavior changed since 3.3.
- The patch doesn't apply to Ruby 3.3 cleanly. Could anybody file a backport PR to `ruby_3_3` branch?
-
11:08 PM Revision 17e21d81 (git): merge revision(s) fc33559c: [Backport #20570]
- clear `kw_flag` if given hash is nil
https://bugs.ruby-lang.org/issues/20570 is caused I missed to
clear the `kw_flag` even if `keyword_hash` is nil. -
11:04 PM Bug #20239: Segmentation fault when using Regex on a large String
- ruby_3_3 commit:df8a08fb6a1f173a9c25db15fbe390096f39c2ff merged revision(s) commit:75aaeb35b82da26359b9418d2963384d0c55839c.
-
11:04 PM Revision df8a08fb (git): merge revision(s) 75aaeb35b82da26359b9418d2963384d0c55839c: [Backport #20239]
- [Bug #20239] Fix overflow at down-casting
-
11:01 PM Bug #20605: PRs with backported fix for https://github.com/ruby/ruby/pull/11036 to Ruby 3.3 and 3.2
- Both PRs have been merged. Thank you!
-
10:59 PM Bug #20573: Warning.warn shouldn't be called for disabled warnings
- ruby_3_3 commit:a3eb5e5c70eaee12964cdd807b8f19950003141f.
-
10:58 PM Bug #20592: Interrupting Addrinfo causes Segmentation fault on alpine
- ruby_3_3 commit:9d583dd43a24354e8ae58c089cf091c1243e6e60 merged revision(s) commit:fba8aff7, commit:d8c6e91748871ab2287d7703347847fe18a292d2.
-
10:58 PM Revision 9d583dd4 (git): merge revision(s) fba8aff7, d8c6e91748871ab2287d7703347847fe18a292d2: [Backport #20592]
- [Bug #20592] Fix segfault when sending NULL to freeaddrinfo
On alpine freeaddrinfo does not accept NULL pointer
Fix dangling `else` -
10:57 PM Bug #20598: Corruption of internal encoding string
- ruby_3_3 commit:291cc913503475a204c93a53a2f470c8cc6bfca2.
-
10:56 PM Bug #20595: Corruption of encoding name string
- ruby_3_3 commit:291cc913503475a204c93a53a2f470c8cc6bfca2.
-
10:55 PM Bug #20468: Segfault on safe navigation in for target
- ruby_3_3 commit:8a2e41d34b135046957e1195a5d4f4967a82a965 merged revision(s) commit:2dd46bb82ffc4dff01d7ea70922f0e407acafb4e.
-
10:55 PM Revision 8a2e41d3 (git): merge revision(s) 2dd46bb82ffc4dff01d7ea70922f0e407acafb4e: [Backport #20468]
- [Bug #20468] Fix safe navigation in `for` variable
-
10:54 PM Bug #20585: Size of memory allocated by String.new(:capacity) is different from the specified value
- ruby_3_3 commit:d1ffd5ecfa62a049b7c508f30b6912a890de1b32.
-
10:52 PM Bug #20581: Ruby 3.3.3 install has missing deps for bundled net-pop gem
- ruby_3_3 commit:01762837b7f98934e402c6888e15de32a673b0fd.
-
10:42 PM Bug #20562: Categorize `RUBY_FREE_AT_EXIT` warning
- ruby_3_3 commit:a40645e115e6cd6328bb302dfc78b16f6ad45938 merged revision(s) commit:01b13886.
-
10:42 PM Revision a40645e1 (git): merge revision(s) 01b13886: [Backport #20562]
- [Bug #20562] Categorize `RUBY_FREE_AT_EXIT` warning as experimental
-
10:40 PM Revision 9a8454ea (git): Fix malformed JSON in macOS CI
-
09:43 PM Revision e500222d (git): fix last commit
- `th` is gone.
-
08:57 PM Revision ffc69eec (git): `struct rb_thread_sched_waiting`
- Introduce `struct rb_thread_sched_waiting` and `timer_th.waiting`
can contain other than `rb_thread_t`. -
08:47 PM Revision a9f6bd02 (git): Add make target shared-gc
- Allows building shared GC using `make shared-gc SHARED_GC=gc_impl`
-
08:41 PM Bug #20618 (Closed): ruby uses 1/2 (7 out of 16) cores for 16 ractors
- According to `top`, the below code uses 7/16 cores (700%) of my AMD Ryzen 7 5800HS:
```
#!/usr/bin/env ruby
16.times {
Ractor.new {
10_000.downto(1) { |i|
100_000.downto(1) { |j|
i * j
}
}
}
}... -
08:02 PM Revision 3be9ce3c (git): YJIT: `dump-disasm`: Print comments and bytes in release builds
- This change implements a fallback mode for the `--yjit-dump-disasm`
development command-line option to make it usable in release builds.
Previously, using the option with release builds of YJIT yielded only
a warning asking the user to b... -
07:22 PM Feature #20443: Allow Major GC's to be disabled
- ko1 (Koichi Sasada) wrote in #note-22:
> > Introduce GC.config, currently with a single key full_mark.
> ...
I prefer `config` for the following reasons
- `configure` is a verb and therefore implies taking an action. as @byroot says... -
06:17 PM Feature #20443: Allow Major GC's to be disabled
- > but not sure config or configure or other word? (English issue).
Given `GC.config` returns the current configuration, I can't be `.configure`.
It could be `.configuration`, or any other concept. We can add it to the upcoming dev... -
05:47 PM Feature #20443: Allow Major GC's to be disabled
- > Introduce GC.config, currently with a single key full_mark.
I'm okay to introduce it but not sure `config` or `configure` or other word? (English issue). -
06:56 PM Bug #20587: dir.c calls blocking filesystem APIs/system calls while holding the GVL
- @ivoanjo Can you be specific about which places this affects? I examined all `opendir` calls in `dir.c`:
* Called in `nogvl_opendir`
* Called in `opendir_without_gvl` when VM is not initialized
* Called in `nogvl_opendir_at`
* Cal... -
06:49 PM Bug #20602 (Closed): RangeError: integer 128496650801200 too big to convert to 'int' without YJIT since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
-
06:43 PM Bug #20602: RangeError: integer 128496650801200 too big to convert to 'int' without YJIT since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
- I think this is fixed since https://github.com/ruby/ruby/pull/11086 was merged. I haven't seen it on the Rails CI nightly, nor can I reproduce locally.
-
06:44 PM Bug #20616 (Feedback): <jemalloc>: Error in munmap(): Invalid argument
-
05:50 PM Bug #20616: <jemalloc>: Error in munmap(): Invalid argument
- You could try running with the jemalloc `MALLOC_CONF='abort:true'` environment variable to get a crash when the munmap() error happens. That might get you more information with a different backtrace.
I would also check if the code run... -
02:59 PM Bug #20616 (Feedback): <jemalloc>: Error in munmap(): Invalid argument
- Good day!
Description:
I am getting the following error randomly. I run the offending code every 10 minutes and some times it crashes and some it doesn't, I am clueless.
The error states:
```
<jemalloc>: Error in munmap(): I... -
06:42 PM Bug #20617 (Closed): /\pArabic/ character property doesn't match certain Arabic characters
- The "Arabic" property is a "scripts" property, which doesn't include punctuations: https://www.unicode.org/standard/supported.html
Ruby documentation for Unicode properties is here: https://docs.ruby-lang.org/en/3.3/regexp/unicode_pro... -
05:06 PM Bug #20617 (Closed): /\pArabic/ character property doesn't match certain Arabic characters
- I am not sure this is a bug.
On some occasions I have Arabic text, but the Arabic character property rejects it as being Arabic.
Example:
```
str = "شغل مرحلة أولى ، جداً؟"
/^\p{Arabic}$/.match(str).inspect
# => nil
str.ch... -
06:35 PM Revision a57b4340 (git): Doc fixes
-
06:33 PM Bug #20615 (Closed): [Regexp] Incorrect match result for Regexp including unicode property
-
02:47 PM Bug #20615: [Regexp] Incorrect match result for Regexp including unicode property
- This regexp pattern is invalid.
Sorry for my mistake. -
02:34 PM Bug #20615 (Closed): [Regexp] Incorrect match result for Regexp including unicode property
- A regex pattern including an unicode property is not matched correctly.
``` ruby
/\A *\z/.match?('') # => true
/\Ap{White_Space}*\z/.match?('') # => false
```
I think both of these patterns should be matched but the later patter... -
05:13 PM Misc #20574: DevMeeting-2024-07-11
- * [Feature #20594] A new String method to append bytes while preserving encoding (byroot)
* When working with binary (messagepack, protobuf) or mixed encoding protocols (Redis, Memcached, etc), it's common to assemble string with diff... -
04:41 PM Misc #20574: DevMeeting-2024-07-11
- - [Feature #20612] Introduce new Epsilon (no-op) GC
- Idea taken from [this Java implementation](https://openjdk.org/jeps/318)
- Used for testing and experimentation only, with the recently merged modular GC work
- We'd like to i... -
05:06 PM Revision ae6a2d06 (git): [rubygems/rubygems] Fix wrong version is comment
- This RubyGems feature is being released as 3.5.15, so we can stop
monkeypatching RubyGems once support for the previous version is
dropped.
https://github.com/rubygems/rubygems/commit/36f146840d -
05:06 PM Revision 39826f38 (git): [rubygems/rubygems] Backport binstub race condition fix to Bundler
- https://github.com/rubygems/rubygems/commit/b07e46820d
-
04:13 PM Bug #20604: Performance regression in C++ extensions due to lack of optimization flags by default since Ruby 2.7
- This can be reproduced with the following benchmark script:
``` ruby
# frozen_string_literal: true
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'benchmark-ips'
gem 'bootstrap', '~> 5.3'
gem ... -
02:20 PM Bug #20611 (Closed): Ruby 3.3: Tempfile#size returns 0 when file is not empty
-
06:26 AM Bug #20611: Ruby 3.3: Tempfile#size returns 0 when file is not empty
- I just realised now that Tempfile is atually a separate gem. Looking there I can see that the size method is using its internal buffer length if the file is not closed, otherwise it falls back on File.size. Now it's become clear to me th...
-
06:16 AM Bug #20611: Ruby 3.3: Tempfile#size returns 0 when file is not empty
- Sorry there is a double pipe on the tap call of the first code block - that was a mis-paste by me & I'm unable to edit to correct it.
The code I used was the same everywhere (but no double || :-) )::
ff = Tempfile.new('foo'); puts ... -
06:06 AM Bug #20611 (Closed): Ruby 3.3: Tempfile#size returns 0 when file is not empty
- Hi
I searched to see if this was reported already, or if it was somehow intentional but I'm having an issue with Ruby 3.3.3. I run under rbenv 2.7.6 on amd64 linux (debian 6.6.13-1 kernel). For me, ruby 3.3.3 exhibits some oddness wit... -
01:08 PM Revision 0c61e212 (git): Rename rb_gc_impl_verify_internal_consistency to gc_verify_internal_consistency
- It's an internal function so we can drop the rb_gc_impl
-
01:06 PM Revision e148db70 (git): Make rb_gc_impl_verify_internal_consistency static
- The function is not used outside of this file.
-
12:11 PM Bug #20614 (Rejected): Integer#size returns incorrect values on 64-bit Windows
- According to the ruby/spec, `0.size` should return size of the machine word in bytes, but on x64-mswin64_140 (both release 3.3.3 and git revision 02c4f0c89d) it doesn't. Following example:
``` ruby
a, b = 0.size, [0].pack('J').length... -
11:48 AM Feature #20613 (Open): Implement shadow stack (part of CET) for coroutines
- To fully enable CET, shadow stack needs to be implemented for coroutines. The initial implementation was proposed [here](https://github.com/ruby/ruby/pull/5895) by @ioquatix as part of #18061
-
11:44 AM Feature #20612 (Open): Introduce new Epsilon (no-op) GC
- ## Summary
[[Github PR 11122]](https://github.com/ruby/ruby/pull/11122)
This ticket proposes the introduction of a new GC, modelled on the [Epsilon collector introduced in Java 11](https://openjdk.org/jeps/318). This collector is a... -
11:00 AM Revision 02c4f0c8 (git): Reverts related commits with https://github.com/ruby/open-uri/pull/37
- It caused Timeout failure with RJIT and chkbuild
http://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240708T063006Z.fail.html.gz
https://github.com/ruby/ruby/actions/runs/9836594303/job/27152644853 -
10:24 AM Feature #19236 (Closed): Allow to create hashes with a specific capacity from Ruby
- Applied in changeset commit:git|9594db0cf28d7bc10bfc46142239191a11f1dbbe.
----------
Implement Hash.new(capacity:)
[Feature #19236]
When building a large hash, pre-allocating it with enough
capacity can save many re-hashes and signifi... -
10:24 AM Revision 9594db0c (git): Implement Hash.new(capacity:)
- [Feature #19236]
When building a large hash, pre-allocating it with enough
capacity can save many re-hashes and significantly improve
performance.
```
/opt/rubies/3.3.0/bin/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/b... -
08:58 AM Revision bfb8cad7 (git): Expand RJIT timeout to 60min
-
08:05 AM Revision a5f40147 (git): Load net-http explicitly for SimpleHTTPProxyServer
-
06:18 AM Revision b903d9f0 (git): [ruby/tempfile] typofix
- https://github.com/ruby/tempfile/commit/82a74b017e
-
06:15 AM Revision 4658d652 (git): Load socket explicitly for TCPServer
-
06:15 AM Revision 95bf9049 (git): Load OpenSSL on TestOpenURIUtils for with_https
-
05:38 AM Revision e4825a51 (git): [rubygems/rubygems] Fix another race condition
- We also need to protect prior removal of the binstub, otherwise it can
happen that:
* Process A removes prior binstub FOO.
* Process B removes prior binstub FOO (does nothing actually because Process A already removed it).
* Process A w... -
05:38 AM Revision d90a930e (git): [rubygems/rubygems] Properly protect writing binstubs with a file lock
- There's an issue when multiple processes try to write the same binstub.
The problem is that our file locking mechanism is incorrect because
files are truncated _before_ they are locked. So it can happen that:
* Process A truncates binst... -
05:38 AM Revision da12d634 (git): [rubygems/rubygems] Scope rescuing `Errno::ENOLCK` to just `File.open`
- https://github.com/rubygems/rubygems/commit/2a9d347d29
-
05:38 AM Revision 7cf7e7e2 (git): [rubygems/rubygems] Add missing blank line after method documentation
- https://github.com/rubygems/rubygems/commit/2df7560ade
-
05:38 AM Revision 6db1c53f (git): [rubygems/rubygems] Remove unnecessary FileUtils usage
- All other `chmod` usages in the file use `File.chmod`, so keep it
consistent.
https://github.com/rubygems/rubygems/commit/3dc0cf8703 -
04:53 AM Revision dcc8e542 (git): [ruby/open-uri] Don't use Base64 library
- https://github.com/ruby/open-uri/commit/c8c0452d53
-
04:53 AM Revision bf898057 (git): [ruby/open-uri] Test with Windows
- https://github.com/ruby/open-uri/commit/2606892a43
-
04:53 AM Revision 71490d23 (git): [ruby/open-uri] Move certificates under the TestOpenURIUtils
- https://github.com/ruby/open-uri/commit/a28c2da5d2
-
04:53 AM Revision 3d78e633 (git): [ruby/open-uri] Load stringio with the correct files
- https://github.com/ruby/open-uri/commit/cb17a907a2
-
04:53 AM Revision 09c52b91 (git): [ruby/open-uri] Removed needless class definition and variables
- https://github.com/ruby/open-uri/commit/ab0e916997
-
04:53 AM Revision 61e00856 (git): [ruby/open-uri] Don't use URI library
- https://github.com/ruby/open-uri/commit/15989970b6
-
04:53 AM Revision e6b6c2ba (git): [ruby/open-uri] support CONNECT method for SimpleHTTPProxy
- https://github.com/ruby/open-uri/commit/2e36793bd5
-
04:53 AM Revision b7829064 (git): [ruby/open-uri] Added SimpleHTTPSServer by TCPServer and OpenSSL
- https://github.com/ruby/open-uri/commit/57c80e1576
-
04:53 AM Revision debcf108 (git): [ruby/open-uri] Added SimpleHTTPProxyServer by TCPServer
- https://github.com/ruby/open-uri/commit/ad47529306
-
04:53 AM Revision a574e290 (git): [ruby/open-uri] Extract SimpleHTTPServer and with_http to TestOpenURIUtils module for other tests
- https://github.com/ruby/open-uri/commit/489a1e9006
-
04:53 AM Revision 7a74dced (git): [ruby/open-uri] Added SimpleHTTPSServer by TCPServer
- https://github.com/ruby/open-uri/commit/a2b1ebe465
-
04:53 AM Revision a105bf81 (git): [ruby/open-uri] Removed needless setup and teardown, tmpdir variables
- https://github.com/ruby/open-uri/commit/b2d7fc4ff3
-
04:53 AM Revision 846c45c2 (git): [ruby/open-uri] Extract FTP tests from test_open-uri.rb
- https://github.com/ruby/open-uri/commit/324111eb41
-
04:53 AM Revision 6fb482d4 (git): [ruby/open-uri] Extract HTTP Proxy tests from test_open-uri.rb
- https://github.com/ruby/open-uri/commit/e9e6bd2779
- 03:54 AM Revision 6d24bc49 (git): Bump actions/upload-artifact from 4.3.3 to 4.3.4
- Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/654628... - 03:15 AM Revision 6ac03098 (git): Bump ruby/setup-ruby from 1.184.0 to 1.185.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.184.0 to 1.185.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](http... -
01:15 AM Revision 8ede84aa (git): Move the file location of launchable.rb
-
01:15 AM Revision 5b789254 (git): Integrate Launchable into make btest
07/07/2024
-
12:37 PM Bug #18061 (Closed): Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found - Applied in changeset commit:git|3381c60836ae499899179f454c6bb1dd3b0891ba.
----------
Ensure CFLAGS are passed to probes.o generation
The dtrace python script from systemtap on Linux actually looks at the
CFLAGS environment variable whe... -
12:37 PM Bug #20601 (Closed): Configuration flags are not properly propagated to assembler - Applied in changeset commit:git|b18701a7ae0a71c339906ef0db4910fb43645b45.
----------
Remove $(ASFLAGS) from build system and assemble with $(CFLAGS) instead
We already assemble our assembly files using the $(CC) compiler driver,
rather... - 12:37 PM Revision dface442 (git): Also export CC for dtrace's benefit as well
- The CFLAGS might contain flags that only work with the specified CC
-
11:28 AM Bug #20162: Memory leak when duplicating too complex object
- ruby_3_2 commit:c97a632363a170879b9755c5a123e92533908039 merged revision(s) commit:82b57d7bfeefd717c10f7a5a3484aca6b3e708a3.
-
11:26 AM Bug #20311: Struct.new("A") memory leak?
- ruby_3_2 commit:bd5df1693c89d389471d145fc19b487c708912b1 merged revision(s) commit:e626da82eae3d437b84d4f9ead0164d436b08e1a, commit:f3af5ae7e6c1c096bbfe46d69de825a02b1696cf.
-
10:58 AM Misc #20574: DevMeeting-2024-07-11
- * [Feature #20610] Float::INFINITY as IO.select timeout argument (akr)
* Float::INFINITY is useful for timeout computation. - 10:14 AM Revision 8ec67052 (git): Do not define SHSTK feature for amd64 Context.S
- We do not implement CET shadow-stack switching in amd64 Context.S. If
you compile Ruby with `-fcf-protection=full` and run it with
`GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK` exported, it will crash with a
control flow exception.
Configure ... - 10:14 AM Revision 3381c608 (git): Ensure CFLAGS are passed to probes.o generation
- The dtrace python script from systemtap on Linux actually looks at the
CFLAGS environment variable when invoking gcc to make the probes.o file.
If we don't pass the CFLAGS we're using, this probes.o file can wind up
without the required ... - 10:14 AM Revision b940de83 (git): Revert autoconf macros defining RUBY_AARCH64_{BTI|PAC}_ENABLED
- This partially reverts https://github.com/ruby/ruby/pull/10944; now that
we decided to pass CFLAGS to $(CC) when assembling .S files, we don't
need these autoconf macros that capture the state of
__ARM_FEATURE{PAC|BTI}_DEFAULT.
[Bug #20... - 10:14 AM Revision b18701a7 (git): Remove $(ASFLAGS) from build system and assemble with $(CFLAGS) instead
- We already assemble our assembly files using the $(CC) compiler driver,
rather than the actual $(AS) assembler. This means that
* The C preprocessor gets run on the assembly file
* It's valid to pass gcc-style flags to it, like e.g.
-... -
07:46 AM Revision c97a6323 (git): merge revision(s) 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3: [Backport #20162]
- Fix memory leak when duplicating too complex object
[Bug #20162]
Creating a ST table then calling st_replace leaks memory because the
st_replace overwrites the ST table without freeing any of the existing
... -
07:44 AM Revision bd5df169 (git): merge revision(s) e626da82eae3d437b84d4f9ead0164d436b08e1a, f3af5ae7e6c1c096bbfe46d69de825a02b1696cf: [Backport #20311]
- Don't pin named structs defined in Ruby
[Bug #20311]
`rb_define_class_under` assumes it's called from C and that the
reference might be held in a C global variable, so it adds the
class to the VM root.
... -
07:43 AM Bug #19907: Method calls with keyword arguments in eval leaks callcache and callinfo objects
- Backporting 1c97abaabae6844c861705fd07f532292dcffa74 into ruby_3_2 branch introduces MJIT test failures (TestMJIT#test_compile_insn_invokesuper).
https://github.com/nagachika/ruby/actions/runs/9825009796/job/27124625737
I gave up to ... -
05:51 AM Bug #20145: Memory leak when duplicating identhash
- My trial backpoting to ruby_3_2 introduce Segmentation fault. See https://github.com/nagachika/ruby/actions/runs/9824962371/job/27124518333
I gave up to backport this to ruby_3_2. -
05:24 AM Bug #20228: Memory leak in Regexp timeout
- I gave up to make a clean patch for ruby_3_2 branch. Please make PR if you want to backport.
- 04:09 AM Revision 087b461c (git): [DOC] Fix typo `with` -> `wish`
-
02:01 AM Feature #20610: Float::INFINITY as IO.select timeout argument
- This is an experimental patch (IO.select only).
-
01:26 AM Feature #20610 (Closed): Float::INFINITY as IO.select timeout argument
- I propose IO.select accepts Float::INFINITY as a timeout argument.
It behaves the same as nil which means IO.select will block indefinitely.
Motivation:
Currently, the Ruby convention to indicate no timeout is using nil.
This pra... -
01:41 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- I'm really looking forward to this feature being available via a Ruby interface. ❤️
07/06/2024
- 05:55 PM Revision d76332e5 (git): Update default gems list at abaa1b913d6ac15ab1cb6c639a9b8b [ci skip]
-
05:55 PM Revision abaa1b91 (git): [ruby/irb] Bump version to v1.14.0
- (https://github.com/ruby/irb/pull/980)
https://github.com/ruby/irb/commit/6a9e129714 -
05:32 PM Feature #20609: Nested module namespace misses fallback to top level
- This is expected. When you do:
```ruby
module A::B
end
```
Understand that in Ruby, this is a general form of:
```ruby
module (expression)::B
end
```
Ruby resolves `expression` (e.g. constant lookup for `A`), then defin... -
02:10 PM Feature #20609 (Open): Nested module namespace misses fallback to top level
Currently, Ruby falls back to the top-level constants if it cannot find the Module in the local scope. This can cause it to behave unintuitively.
```ruby
module A
module B
MY_CONST = 'defined in A::B'
end
end
module ...-
10:07 AM Bug #20606 (Closed): Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- Applied in changeset commit:git|7f1fe5f091db3b05c3970e7b7a7c602922729642.
----------
Raise a TypeError for Thread#thread_variable{?,_get} for non-symbol
Previously, a TypeError was not raised if there were no thread
variables, because ... -
10:07 AM Revision 7f1fe5f0 (git): Raise a TypeError for Thread#thread_variable{?,_get} for non-symbol
- Previously, a TypeError was not raised if there were no thread
variables, because the conversion to symbol was done after that
check. Convert to symbol before checking for whether thread
variables are set to make the behavior consistent... -
07:20 AM Revision 2a4469ea (git): [Backport #11036 to 3.2] Add explicit compiler fence when pushing frames to ensure safe profiling
- **What does this PR do?**
This PR tweaks the `vm_push_frame` function to add an explicit compiler
fence (`atomic_signal_fence`) to ensure profilers that use signals
to interrupt applications (stackprof, vernier, pf2, Datadog profiler)
c... -
07:19 AM Bug #20305: commit 1d2d25dcadda0764f303183ac091d0c87b432566 breaks grapheme_clusters
- ruby_3_2 commit:a67b43d99e24dc7c2a9e134a65f28f968fe124c1 merged revision(s) commit:3a04ea2d0379dd8c6623c2d5563e6b4e23986fae.
-
07:19 AM Bug #20239: Segmentation fault when using Regex on a large String
- ruby_3_2 commit:2b35d80834f14011f7d313f8fac7855dc9949f70 merged revision(s) commit:75aaeb35b82da26359b9418d2963384d0c55839c.
-
06:55 AM Revision 2b35d808 (git): merge revision(s) 75aaeb35b82da26359b9418d2963384d0c55839c: [Backport #20239]
- [Bug #20239] Fix overflow at down-casting
-
06:54 AM Revision a67b43d9 (git): merge revision(s) 3a04ea2d0379dd8c6623c2d5563e6b4e23986fae: [Backport #20305]
- [Bug #20305] Fix matching against an incomplete character
When matching against an incomplete character, some `enclen` calls are
expected not to exceed the limit, and some are expected to return the
required leng... -
06:36 AM Bug #20288: `rb_fiber_scheduler_close` exceptions are not handled in `rb_fiber_scheduler_set`.
- ruby_3_2 commit:89de66dbb0d8454c9d69faa331d6e35f8b315cce merged revision(s) commit:78d9fe69479d32214a52ad7291c3973f1b6b7f6f, commit:04729fe68dceddab045be7324e26c2bb15aa62c7.
-
06:35 AM Bug #20393: `after_fork_ruby` clears all pending interrupts for both parent and child process.
- Thanks!
-
06:34 AM Bug #20393: `after_fork_ruby` clears all pending interrupts for both parent and child process.
- ruby_3_2 commit:5577e5d396cc8f062833b67d6280db6cc8501e7a merged revision(s) commit:a7ff264477105b5dc0ade6facad4176a1b73df0b.
-
06:35 AM Bug #20286: TracePoint does not emit `thread_end` event when thread exits with exception
- ruby_3_2 commit:89de66dbb0d8454c9d69faa331d6e35f8b315cce merged revision(s) commit:78d9fe69479d32214a52ad7291c3973f1b6b7f6f, commit:04729fe68dceddab045be7324e26c2bb15aa62c7.
-
05:14 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- > So either the metadata should signal just IBT
in the meanwhile I've done this in https://github.com/ruby/ruby/pull/11112 -
04:27 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- I wonder if distributors who want shadow-stack support should just compile Ruby with `--with-coroutine=ucontext` to use the `swapcontext(3)` based implementation of fibers instead of the assembly language one. I've spent the morning look...
-
04:35 AM Revision 89de66db (git): merge revision(s) 78d9fe69479d32214a52ad7291c3973f1b6b7f6f, 04729fe68dceddab045be7324e26c2bb15aa62c7: [Backport #20286] [Backport #20286]
- Ensure that exiting thread invokes end-of-life behaviour. (#10039)
Fix exception handling in `rb_fiber_scheduler_set`. (#10042) -
04:26 AM Revision 5577e5d3 (git): merge revision(s) a7ff264477105b5dc0ade6facad4176a1b73df0b: [Backport #20393]
- Don't clear pending interrupts in the parent process. (#10365)
-
02:24 AM Bug #20413: Enumerator can block fiber scheduler.
- Sorry, I accidentally handled a different ticket (#20414).
ruby_3_2 commit:2f8f17e842666abb05ca522d6072c957fab0e12e merged revision(s) commit:5d1702e01a36e11b183fe29ce10780a9b1a41cf0. -
02:22 AM Bug #20414: `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- Sorry, I accidentally changed a different ticket.
-
02:20 AM Bug #20414: `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- ruby_3_2 commit:2f8f17e842666abb05ca522d6072c957fab0e12e merged revision(s) commit:5d1702e01a36e11b183fe29ce10780a9b1a41cf0.
-
02:13 AM Bug #20414: `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- I think this change seems somewhat like a spec change. Could this change potentially reveal latent errors in the application and affect its operation?
Additionally, regardless of the case, I believe the ruby_version_is guard in rubysp... -
02:16 AM Revision 2f8f17e8 (git): merge revision(s) 5d1702e01a36e11b183fe29ce10780a9b1a41cf0: [Backport #20414]
- Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)
-
02:01 AM Bug #20499: Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
- ruby_3_2 commit:5141d72fde2528721663ddbc0554ac81ddc0656f merged revision(s) commit:1e08a9f0e9058186db18f29efc6458c00f10a856.
-
02:01 AM Revision 5141d72f (git): merge revision(s) 1e08a9f0e9058186db18f29efc6458c00f10a856: [Backport #20499]
- [Bug #20499] Use Xcode owned tools for Xcode clang
Xcode has its own version tools that may be incompatible with genuine
LLVM tools, use the tools in the same directory.
07/05/2024
-
10:38 PM Revision e240fc9c (git): [DOC] yjit.md: Markdown fixes for RDoc
- It now renders properly on both GitHub and with RDoc's darkfish theme.
-
06:18 PM Bug #20608 (Assigned): Hash#find always allocates each iterated pair
- I have prototyped a patch that delays the array allocation of multiple arguments for `Enumerable#find`, `#any?` etc.
https://github.com/ruby/ruby/pull/11110
```
$ ./miniruby bench.rb
ruby 3.4.0dev (2024-07-05T17:35:30Z lazy-alloc... -
10:32 AM Bug #20608: Hash#find always allocates each iterated pair
- > I personally don't like the idea of manually copying many Enumerable methods into Hash...
It is indeed annoying. On the good side, they could be implemented with Ruby code -- e.g. implementing `find` using `any?`. This would even op... -
10:07 AM Bug #20608: Hash#find always allocates each iterated pair
- As you've probably noticed from reading the source, there is no `Hash#find` method. `Enumerable#find` is. It cannot know that `#each` yields a two-element array, so it is not easy to optimize it.
We could define Hash#find method as a ... -
08:49 AM Bug #20608 (Closed): Hash#find always allocates each iterated pair
- Hey there!
Recently I ran into this sharp edge in `Hash#find`:
```ruby
puts RUBY_DESCRIPTION
def allocated_now = GC.stat(:total_allocated_objects)
dummy_hash = 10_000.times.each_with_index.to_h
before_allocs = allocated_n... -
06:05 PM Revision 3fede665 (git): Update GitHub actions for shared GC
-
06:05 PM Revision e2ceded2 (git): Change external GC to use directory at configure
- This commit changes the external GC API to use `--with-shared-gc=DIR` at
configure time with a directory of the external GC and uses
`RUBY_GC_LIBRARY` environment variable to load the external GC at
runtime. -
06:05 PM Revision 8fd2df52 (git): Revert "Load external GC using command line argument"
- This reverts commit 8ddb1110c283c5cb59b6582383f36fdbcc43ab19.
-
05:51 PM Revision 32ba86c9 (git): [ruby/irb] Return only commands when completing help command's
- argument
(https://github.com/ruby/irb/pull/973)
The command only takes command names as arguments, so we should only
return command names as candidates.
This will help users find a command faster as completion will be
another useful hi... -
05:17 PM Misc #20574: DevMeeting-2024-07-11
- * [Bug #20505] Reassigning the block argument in method body keeps old block when calling super with implicit arguments (jeremyevans0)
* This makes behavior when reassigning block argument inconsistent with reassigning positional/keyw... -
04:29 PM Bug #20606: Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- Eregon (Benoit Daloze) wrote in #note-4:
> > I'm not opposed to changing the behavior, but raising an exception when one was not previously raised presents backwards compatibility issues. We would probably have to warn in 3.4 and not ra... -
03:13 PM Revision f811f79b (git): Refine macOS CI (#11107)
- Update macos runners with latest environments.
* Use macos-14 instead of macos-arm-oss
* Removed macos-11 and added macos-13 -
01:15 PM Revision 1afcaa3e (git): Fix flaky test_stat_heap_all
- We only collect GC.stat_heap(nil, stat_heap_all)
once, outside of the loop, but assert_equal could
allocate objects which can cause a GC to run and
cause stat_heap_all to be out-of-sync. -
12:20 PM Revision 685a4e5b (git): VM barrier needs to store GC root
- On the VM barrier waiting, it needs to store machine context
as a GC root.
Also it needs to wait for barrier synchronization correctly
by `while` (for continuous barrier sync by another ractor).
This is why GC marking misses are occerr... -
09:37 AM Revision 2dfaa00e (git): Added macos-13 and removed macos-11
-
09:02 AM Revision 88a2a46e (git): [rubygems/rubygems] Restrict generic `arm` to only match 32-bit arm
- https://github.com/rubygems/rubygems/commit/14c4c16e96
- 03:51 AM Revision cd1ea98b (git): Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0
- Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar... -
03:10 AM Revision 3b48a5a1 (git): Use macos-14 instead of macos-arm-oss
- Unfortunately, we can't use macos-arm-oss with enterprise account
-
02:24 AM Revision bbb4da78 (git): [rubygems/rubygems] Use preferred add_dependency instead of add_runtime_dependency
- https://github.com/rubygems/rubygems/commit/9a08043858
07/04/2024
-
07:35 PM Feature #20405: Inline comments
- This could be particularly useful for projects like `rbs-inline`.
-
05:40 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- fweimer (Florian Weimer) wrote in #note-48:
> The change in https://github.com/ruby/ruby/pull/11081/files does not look correct to me because it enables shadow stack and indirect branch tracking in the ELF markup. But the changes to `Co... -
07:28 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- The change in https://github.com/ruby/ruby/pull/11081/files does not look correct to me because it enables shadow stack and indirect branch tracking in the ELF markup. But the changes to `Context.S` merely enable indirect branch tracking...
-
07:20 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- ioquatix (Samuel Williams) wrote in #note-46:
> BTW, IIUC, if we can use CET instead of the shadow stack, it's a far simpler and more efficient solution, so I'm strongly in favour of that direction (assuming it's viable).
If I understan... -
01:25 PM Revision c480dec1 (git): Fix RUBY_FREE_AT_EXIT with ASAN
- When Ruby is built with ASAN and RUBY_FREE_AT_EXIT is enabled, the
following error occurs:
READ of size 8 at 0x74c666610020 thread T0
#0 0x593b6712ecc6 in RB_BUILTIN_TYPE include/ruby/internal/value_type.h:191:30
#1 ... -
11:00 AM Misc #20574: DevMeeting-2024-07-11
- * [Bug #20606] `Thread#thread_variable_get` and `Thread#thread_variable?` don't raise `TypeError` exception for incorrect argument value when thread-local variable storage is not initialised yet
* These methods raise `is not a symbol ... -
10:02 AM Bug #20606: Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- > I'm not opposed to changing the behavior, but raising an exception when one was not previously raised presents backwards compatibility issues. We would probably have to warn in 3.4 and not raise until 3.5 (or later).
I don't think a... -
09:46 AM Bug #20606: Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- @jeremyevans0 The specs were added in https://github.com/ruby/spec/pull/1127 (so not written by Andrii, but reviewed by him).
Adding specs is how we discover this kind of strange behavior.
But it's not always clear if intentional or no... -
03:33 AM Revision 478ada0e (git): [rubygems/rubygems] Handle OpenSSL::SSL::SSLError in local https server
- https://github.com/rubygems/rubygems/commit/ccbbe84d77
-
03:33 AM Revision ba4495d7 (git): [rubygems/rubygems] Align code styles with rubocop and others.
- https://github.com/rubygems/rubygems/commit/c31a1592ee
-
03:33 AM Revision 7e69d747 (git): [rubygems/rubygems] Correctly handling fetcher leak
- https://github.com/rubygems/rubygems/commit/c538558522
-
03:33 AM Revision 318af23b (git): [rubygems/rubygems] Removed needless variable
- https://github.com/rubygems/rubygems/commit/29f71ee6d2
-
03:33 AM Revision 2cd270ae (git): [rubygems/rubygems] YAML is always enabled
- https://github.com/rubygems/rubygems/commit/c755bcde62
-
03:33 AM Revision 16e1565d (git): [rubygems/rubygems] Removed unused gzip code
- https://github.com/rubygems/rubygems/commit/ee45ebb5c3
-
03:33 AM Revision 6a2c7997 (git): [rubygems/rubygems] Rewrite WEBrick server with TCPServer and Proxy
- https://github.com/rubygems/rubygems/commit/3ae4358024
-
03:33 AM Revision 0cb82a81 (git): [rubygems/rubygems] Rewrite WEBrick server with TCPServer and OpenSSL::SSL::SSLServer
- https://github.com/rubygems/rubygems/commit/21319eccac
-
03:33 AM Revision b3e53495 (git): [rubygems/rubygems] Cleanup needless code from HTTP/HTTPS tests
- https://github.com/rubygems/rubygems/commit/69bd962b56
-
03:33 AM Revision 7e12b5e2 (git): [rubygems/rubygems] Split HTTP tests and HTTPS tests
- https://github.com/rubygems/rubygems/commit/43f98b787b
-
03:33 AM Revision f6aa774a (git): [rubygems/rubygems] Extract tests with local HTTP/HTTPS server from TestGemRemoteFetcher
- https://github.com/rubygems/rubygems/commit/52db9fd501
-
03:33 AM Revision 127221d8 (git): [rubygems/rubygems] Extract tests with S3 resources from TestGemRemoteFetcher
- https://github.com/rubygems/rubygems/commit/d3ee8d2d3b
-
03:11 AM Revision 0fe024d0 (git): Fix the return value of `Integer#downto` called with a block
- As the document states, it should return `self`, not `nil`.
Fix up of f4b313f7338f5fbe37f73aae29f70aeb474f7f5b. - 02:55 AM Revision 70be2f47 (git): Bump ruby/setup-ruby from 1.183.0 to 1.184.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.183.0 to 1.184.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](http...
07/03/2024
-
11:40 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- BTW, IIUC, if we can use CET instead of the shadow stack, it's a far simpler and more efficient solution, so I'm strongly in favour of that direction (assuming it's viable).
-
11:39 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- Thanks, I agree with your proposed change.
-
12:10 AM Bug #18061 (Assigned): Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- 11:37 PM Revision d9398ac4 (git): Use `__CET__` macro to enable IBT support. (#11081)
- According to the GCC documentation [1], the macro `__CET__` is dfined
when `-fcf-protection` compiler option is used. Therefore use this macro
to enable IBT support instead of special casing for `__OpenBSD__`.
[1]: https://gcc.gnu.org/o... -
11:10 PM Revision b160a78d (git): YJIT: Remove done TODO, fix indent
- Type check now done in rb_iseqw_to_iseq().
-
11:01 PM Bug #20597: `eval('break if false')` should raise SyntaxError but retuns nil
- I submitted a pull request to fix this (but prism still needs a related fix) https://github.com/ruby/ruby/pull/11099
-
08:35 PM Bug #20606: Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- This change would be simple to implement, and I agree the fiber/thread variable inconsistency seems odd. There are specs for the current behavior. However, I checked and the specs appear to be added by you only a couple days ago. It se...
-
03:56 PM Bug #20606 (Closed): Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- The `Thread#thread_variable_get`, `Thread#thread_variable?` and `Thread#[]` methods handle the `key` parameter that is not a String or a Symbol in different way but I would expect them to be consistent and raise an exception.
When no ... -
08:34 PM Bug #20607: Exception messages are inconsistent when thread-local variables are accessed
- I submitted a pull request to make the error message consistent: https://github.com/ruby/ruby/pull/11097
-
04:41 PM Bug #20607 (Closed): Exception messages are inconsistent when thread-local variables are accessed
- `Thread`'s methods to manipulate thread-local variables raise `TypeError` exceptions with slightly different messages when the `key` argument is not a String or a Symbol. The message is either `is not a symbol` or `is not a symbol nor a ...
-
08:00 PM Revision f5dfadf3 (git): [DOC] Doc for Integer#floor (#11077)
-
07:32 PM Revision b974c846 (git): Move Array#map to Ruby
- Improves activerecord by about 1% on the interpreter:
```
before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) [arm64-darwin23]
after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) [arm64-darwin23]
------------ --... -
06:45 PM Revision 6ac05ddb (git): Remove unused gc_raw_obj_info_basic
-
06:44 PM Revision 05f840d6 (git): Remove unused obj_info_basic
-
06:40 PM Revision f88841b8 (git): Fix ASAN builds
-
06:32 PM Revision 4c9134d2 (git): Move Array#select to Ruby
- This speeds up the mail benchmark by about 7% on the interpreter:
```
before: ruby 3.4.0dev (2024-07-03T17:01:41Z master f4b313f733) [arm64-darwin23]
after: ruby 3.4.0dev (2024-07-03T17:45:50Z ruby-select de282cacd5) [arm64-darwin23]
-... -
06:26 PM Bug #20605 (Closed): PRs with backported fix for https://github.com/ruby/ruby/pull/11036 to Ruby 3.3 and 3.2
-
01:42 PM Bug #20605 (Closed): PRs with backported fix for https://github.com/ruby/ruby/pull/11036 to Ruby 3.3 and 3.2
- Hey! I work for Datadog on the Ruby profiler part of the [datadog (previously ddtrace)](https://github.com/datadog/dd-trace-rb) gem.
Recently we merged a very small tweak to master to make ensure compilers did the right thing always: ... -
06:21 PM Bug #20603 (Closed): Rails Active Job test gets segmentation fault
-
06:19 PM Bug #20599 (Closed): TypeError: #<BaseMailer:0x00000000008070> is not a symbol nor a string since 4cbc41d5e5cb6793174d5964975fdb4470323ca1 with YJIT enabled
-
12:10 AM Bug #20599 (Assigned): TypeError: #<BaseMailer:0x00000000008070> is not a symbol nor a string since 4cbc41d5e5cb6793174d5964975fdb4470323ca1 with YJIT enabled
-
05:17 PM Revision 7fe5f0a1 (git): [ruby/irb] Introduce cd command
- (https://github.com/ruby/irb/pull/971)
It's essentially a combination of pushws and popws commands that are
easier to use.
Help message:
```
Usage: cd ([target]|..)
IRB uses a stack of workspaces to keep track of context(s), with `pu... -
05:01 PM Revision f4b313f7 (git): move Integer#downto to Ruby
- Speeds up ChunkyPNG.
The interpreter is about 70% faster:
```
before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) [arm64-darwin23]
after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) [arm64-darwin23]
--------... -
04:56 PM Revision b2be36ef (git): [Backport #11036] Add explicit compiler fence when pushing frames to ensure safe profiling (#11090)
- **What does this PR do?**
This PR tweaks the `vm_push_frame` function to add an explicit compiler
fence (`atomic_signal_fence`) to ensure profilers that use signals
to interrupt applications (stackprof, vernier, pf2, Datadog profiler)
c... -
03:48 PM Revision cbc40aca (git): Fix compilation with RGENGC_CHECK_MODE=2
-
03:39 PM Bug #20601: Configuration flags are not properly propagated to assembler
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-4:
> and in fact I would go a step furthre and delete `$ASFLAGS` in `configure.ac` and `Makefile.in` entirely. It's late now but I'll try and put up a PR for this tomorrow or Friday.
I ... -
11:58 AM Bug #20601: Configuration flags are not properly propagated to assembler
- Just one more thing: I was worried for a moment that trying to assemble with `$CFLAGS` would cause problems if you had some C-language specific things in cflags, but actually it seems to work fine - even if you have something like `-std=...
-
11:47 AM Bug #20601: Configuration flags are not properly propagated to assembler
- OK, I poked at this a bit tonight. I have quite a few thoughts but they're kind of disorganised.
The short version of this is: I think you're right; we should pass the full set of `$CFLAGS $CPPFLAGS` when calling `$(CC)` on a .S file, a... -
08:54 AM Bug #20601: Configuration flags are not properly propagated to assembler
- Is something like that really needed? From my POV, the issue is that originally, there were `.s` files processed by Assembler, therefore the `$(ASFLAGS)` were needed. But now we have `.S` files pre-processed by compiler:
https://githu... -
04:21 AM Bug #20601: Configuration flags are not properly propagated to assembler
- I think we should do what we did for the pac-ret stuff, that Florian recommended, right? Run tests against CFLAGS in configure.ac, and then define special macros?
https://github.com/ruby/ruby/blob/93b19d56de64fdee790a96ddf96fcd08d889a... -
03:16 PM Feature #20470 (Closed): Extract Ruby's Garbage Collector
- Applied in changeset commit:git|51bd816517941798c63e587a5a9f3caf69cd510e.
----------
[Feature #20470] Split GC into gc_impl.c
This commit splits gc.c into two files:
- gc.c now only contains code not specific to Ruby GC. This includes... -
03:16 PM Revision 786cf9db (git): array.c: Remove outdated assertions
- Following [Feature #20589] it can happen that we change the
capacity of a frozen array, so these assertions no longer make
sense.
Normally we don't hit them because `Array#freeze` shrinks the
array, but if somehow the Array was frozen u... -
02:31 PM Feature #20589 (Closed): Resize array in `rb_ary_freeze` and use `rb_ary_freeze` internally for arrays
- Closing given https://github.com/ruby/ruby/pull/11030 was merged yesterday.
However it caused some assertions failures in corner cases, so I opened a followup: https://github.com/ruby/ruby/pull/11092 -
01:03 PM Revision 5f20957b (git): Move ruby_load_external_gc_from_argv to gc.h
-
01:03 PM Revision 9d7c9df4 (git): [Feature #20470] Add shared GC workflow to compilers
-
01:03 PM Revision 9d3a58f3 (git): [Feature #20470] Update dependencies
-
01:03 PM Revision ae8ef065 (git): [Feature #20470] Implement support for USE_SHARED_GC
- This commit implements support to load Ruby's current GC as a DSO.
-
01:03 PM Revision 51bd8165 (git): [Feature #20470] Split GC into gc_impl.c
- This commit splits gc.c into two files:
- gc.c now only contains code not specific to Ruby GC. This includes
code to mark objects (which the GC implementation may choose not to
use) and wrappers for internal APIs that the implementa... -
10:15 AM Revision 9aa62bda (git): [ruby/shellwords] [DOC] Beautify links and formats
- https://github.com/ruby/shellwords/commit/53e6ef2e71
-
10:15 AM Revision 777fcd18 (git): [ruby/shellwords] Satisfy `rdoc -C`
- https://github.com/ruby/shellwords/commit/fa50d40a33
-
10:15 AM Revision 7a431474 (git): [ruby/shellwords] Exclude unnecessary files from the packages
- https://github.com/ruby/shellwords/commit/08c87a964e
-
09:08 AM Revision 64fef3b8 (git): Add explicit compiler fence when pushing frames to ensure safe profiling
- **What does this PR do?**
This PR tweaks the `vm_push_frame` function to add an explicit compiler
fence (`atomic_signal_fence`) to ensure profilers that use signals
to interrupt applications (stackprof, vernier, pf2, Datadog profiler)
c... -
08:54 AM Revision 4d4ac001 (git): [ruby/openssl] Add SSLSocket#readbyte
- Companion to getbyte but raise EOFError
Similar to https://github.com/ruby/openssl/pull/438
https://github.com/ruby/openssl/commit/c40f70711a -
12:59 AM Revision 93b19d56 (git): Add regression test for mutating pack's format string
- It doesn't look like there was a test added for this bug, so I'm adding
it.
Code is from here:
https://web.archive.org/web/20160908192307/http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24445 -
12:11 AM Bug #20462 (Assigned): Native threads are no longer reused
07/02/2024
-
10:20 PM Revision d9487dd0 (git): Speed up chunkypng benchmark (#11087)
- * Speed up chunkypng benchmark
Since d037c5196a14c03e72746ccdf0437b5dd4f80a69 we're seeing a slowdown
in ChunkyPNG benchmarks in YJIT bench. This patch addresses the
slowdown. Making the thread volatile speeds up the benchmark by 2 or 3... -
09:53 PM Bug #20603: Rails Active Job test gets segmentation fault
- Confirmed b2b8306b46 addresses this issue. Thanks for the fix.
```
$ ruby -v
ruby 3.4.0dev (2024-07-02T18:48:43Z master b2b8306b46) [x86_64-linux]
$ AJ_ADAPTER=test bin/test "test/cases/test_helper_test.rb" -n "/^(?:PerformedJobsTe... -
05:37 PM Bug #20603: Rails Active Job test gets segmentation fault
- I opened a fix https://github.com/ruby/ruby/pull/11086
-
01:05 PM Bug #20603 (Closed): Rails Active Job test gets segmentation fault
- Rails Active Job test sometimes gets segmentation fault.
https://buildkite.com/rails/rails-nightly/builds/723#01906af3-7abc-4f9a-bfd7-c3ff49bbf6cf/1363-1370
This segmentation fault does not always reproduce so I have not found which ... - 07:55 PM Revision 3407565d (git): YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. (#11083)
- Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping.
ARM64 will not increment the program counter (PC) upon hitting a breakpoint instruction. Consequently, stepping through code wi... -
07:54 PM Revision 2830a6ae (git): [rubygems/rubygems] Only allow valid values for --test, --ci, and --linter options
- https://github.com/rubygems/rubygems/commit/d4360c9032
-
07:53 PM Revision cd57c129 (git): [rubygems/rubygems] Only remove current platform when added right before resolution
- If it has been explicitly added by `bundle lock --add-platform`, we
don't want to remove it.
https://github.com/rubygems/rubygems/commit/09cf921dd6 -
07:53 PM Revision c36eb10d (git): [rubygems/rubygems] Normalize dummy test server name
- https://github.com/rubygems/rubygems/commit/18b38ca6b4
-
07:53 PM Revision 7fc04276 (git): [rubygems/rubygems] Refactor previous fix a bit
- https://github.com/rubygems/rubygems/commit/1c80c6072f
-
07:53 PM Revision d5500e62 (git): [rubygems/rubygems] Feature add_dependency more prominently
- https://github.com/rubygems/rubygems/commit/0236cb6191
-
06:48 PM Revision b2b8306b (git): Fix forwarding for optimized send
- Always treat forwarding as a complex call.
-
06:48 PM Revision cc8c4a60 (git): Calling into a C func shouldn't fast path when forwarding
- When we forward calls to C functions if the callsite is a forwarding
site it might not always be a splat, so we can't use the fast path.
Fixes:
[ruby-core:118418] - 06:34 PM Revision 4d94d28a (git): YJIT: Inline simple ISEQs with unused keyword parameters
- This commit expands inlining for simple ISeqs to accept
callees that have unused keyword parameters and callers
that specify unused keywords. The following shows 2 new
callsites that will be inlined:
```ruby
def let(a, checked: true) = ... -
05:34 PM Revision d25b74b3 (git): Resize arrays in `rb_ary_freeze` and use it for freezing arrays
- While working on a separate issue we found that in some cases
`ary_heap_realloc` was being called on frozen arrays. To fix this, this
change does the following:
1) Updates `rb_ary_freeze` to assert the type is an array, return if
alread... -
05:18 PM Bug #20604 (Rejected): Performance regression in C++ extensions due to lack of optimization flags by default since Ruby 2.7
- I found a significant performance regression in `sassc` gem when comparing Ruby 2.6 and later, that the extension is running more than 10x slower.
I have tracked it down to this commit: https://github.com/ruby/ruby/commit/733aa2f8b578... -
12:42 PM Bug #20602 (Closed): RangeError: integer 128496650801200 too big to convert to 'int' without YJIT since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
- I have opened https://bugs.ruby-lang.org/issues/20588 and the test case has been fixed via 4cbc41d5e5cb6793174d5964975fdb4470323ca1 , It looks like there are another test case that still reproduces against the latest master branch like c...
-
12:38 PM Bug #20601: Configuration flags are not properly propagated to assembler
- This might be the medicine:
~~~patch
$ git diff
diff --git a/template/Makefile.in b/template/Makefile.in
index 2d232d7925..31e5ae5edb 100644
--- a/template/Makefile.in
+++ b/template/Makefile.in
@@ -449,7 +449,7 @@ $(srcdir)/enc... -
12:24 PM Bug #20601 (Closed): Configuration flags are not properly propagated to assembler
- Looking into #18061, one of the issues is that the `.S` files are not processed with the correct flags. For example to have the CET enabled, the `-fcf-protection` should be used to preprocess the `coroutine/amd64/Context.S`.
First I t... -
11:33 AM Revision cee62c67 (git): Update to ruby/spec@f8987ac
-
11:24 AM Bug #20573: Warning.warn shouldn't be called for disabled warnings
- As a small note on this, it's typically better to check `$VERBOSE` level and if the category is enabled before even generating/formatting the message String, for performance reasons.
So if that's always done the check in Warning.warn wou... -
10:15 AM Revision d7af8afe (git): [ruby/rdoc] Group code object files into the same directory
- (https://github.com/ruby/rdoc/pull/1114)
It's hard to distinguish code object classes by their file names alone.
And given that we have 18 such classes, it'd make the codebase a lot
easier to understand if we grouped them into a single ... -
09:33 AM Revision 1ab31eb4 (git): [ruby/fiddle] Pick ruby/ruby changes for
- `test/fiddle/test_function.rb`
(https://github.com/ruby/fiddle/pull/141)
https://github.com/ruby/ruby/pull/11048#issuecomment-2185630854
---------
https://github.com/ruby/fiddle/commit/a245f19763
Co-authored-by: Yusuke Endoh <mame@ru... -
06:00 AM Bug #20592: Interrupting Addrinfo causes Segmentation fault on alpine
- @nagachika @k0kubun When you backport this patch, please backport commit:d8c6e91748871ab2287d7703347847fe18a292d2 as well. FYI.
-
04:47 AM Misc #20600 (Closed): @ruby-lang.org has been migrated to Cloudflare
- @ruby-lang.org has been migrated to Cloudflare, because ruby-lang.org was migrated from Google Domains to Squarespace, and Squarespace's e-mail forwarding doesn't work with custom MX records including subdomains:(
I and Shibata-san ar... -
03:39 AM Revision 4688b92a (git): [win32] Fallback release date when revision.h is not present