Activity
From 09/05/2023 to 09/11/2023
09/11/2023
-
09:49 PM Revision 8953fc77 (git): [ruby/yarp] Provide a flag for the integer base
- https://github.com/ruby/yarp/commit/45dd046b83
-
09:42 PM Revision b7ffa74d (git): [ruby/yarp] Introduce MatchLastLineNode and InterpolatedMatchLastLineNode
- These are replacements for regular expressions when they are used
alone as the predicate of a conditional. That's because they are
significantly different from a regular expression because they are
not evaluated for truthyness, but inste... -
09:40 PM Revision aa69bd84 (git): Use constant lookup for constant names
-
09:40 PM Revision bfc82fe1 (git): Remove deprecated aliases from yarp compiler
-
09:32 PM Revision 14a83e08 (git): [ruby/yarp] Update pretty_print to use inspect
- https://github.com/ruby/yarp/commit/c2b9b780c7
- 09:06 PM Revision 203fdd73 (git): [rubygems/rubygems] Fixed include realpath in error statement
- https://github.com/rubygems/rubygems/commit/ac3b85bd5e
- 09:06 PM Revision 8bb61077 (git): [rubygems/rubygems] Fixed false positive SymlinkError in symbolic link directory
- https://github.com/rubygems/rubygems/commit/58173ff2ea
-
05:09 PM Revision 1ae5dd6f (git): Rename `NODE_NEW_TEMPORAL` as `NODE_NEW_INTERNAL`
-
04:18 PM Revision 719f8344 (git): [ruby/yarp] Mark flags as private
- The flags integer is an implementation detail. We want people to
use the query methods to access the individual fields so we are
freed from having to maintain a specific order. As such, this
commit changes the Ruby API to mark all flags ... - 03:25 PM Revision 05a853c2 (git): [ruby/yarp] Update fixtures
- https://github.com/ruby/yarp/commit/884f2ca8e4
- 03:25 PM Revision 5a8767ed (git): [ruby/yarp] Fix order of Regexp flags
- https://github.com/ruby/yarp/commit/e421305ea2
- 03:25 PM Revision 689dffc8 (git): [ruby/yarp] Add failing test for Regexp flags
- https://github.com/ruby/yarp/commit/16fe179c5f
-
02:09 PM Bug #19872: TestRequireLib#test_thread_size test case is unstable
- vo.x (Vit Ondruch) wrote in #note-1:
> Or is it issue of the respective libraries, which does not support proper loading of nested files, without loading their dependencies first?
Randomly looking at lib/reline/history.rb, maybe the ... -
02:07 PM Bug #19872: TestRequireLib#test_thread_size test case is unstable
- Maybe predefining some well know namespaces could help? Or is it issue of the respective libraries, which does not support proper loading of nested files, without loading their dependencies first?
-
02:05 PM Bug #19872 (Closed): TestRequireLib#test_thread_size test case is unstable
- Just exploring the difference in skipped test cases, it seems to be due to `TestRequireLib#test_thread_size`. One test run might look like:
~~~
84) Skipped:
TestRequireLib#test_thread_size:/builddir/build/BUILD/ruby-3.3.0-7c8932365... -
03:23 AM Revision b1f0d009 (git): Use the keyword for output and omit default arguments [ci skip]
-
02:06 AM Revision 05046b89 (git): Add `modencs` target to build encodings/transcoders as modules
-
02:04 AM Revision 2cc32ad6 (git): Split commit recipe and pass more macros
09/10/2023
-
03:03 PM Feature #19871: Add __owner__
- The changes needed to implement this turned out to be just simple so I went ahead and just created a PR in https://github.com/ruby/ruby/pull/8411.
The difference between using `method(__method__).owner` and using `__owner__` can be de... -
07:58 AM Feature #19871 (Rejected): Add __owner__
- Which will give the owner of the currently executing method.
`method(__method__).owner` or `method(__callee__).owner` isn't enough since it may return a different owner if the method is overridden.
Relying on calling the name of it... -
12:56 PM Misc #19870 (Feedback): Why is a long-run thread allocated more memory than a short-run one?
- 1048936 - 360 = 1048576 = 0x100000
A terminated thread no longer keeps its stack area.
-
05:56 AM Misc #19870 (Feedback): Why is a long-run thread allocated more memory than a short-run one?
- I want to write multithreading programing in Ruby but I found the following memory consumptions.
```
$ irb
irb(main):001> require 'objspace'
=> true
irb(main):002> t1 = Thread.new {}
=> #<Thread:0x00007f9237a74b28 (irb):2 run>
i... -
12:37 PM Revision b8d0ab80 (git): Declare `k_class` and `k_module` as `ctxt`
- So that it is not ncessary to specify the type each time.
-
10:46 AM Revision 16882d4e (git): Add a new line between function definitions [ci skip]
-
10:45 AM Revision b5914a72 (git): Refactor to use same logic with other assignment nodes
-
10:39 AM Revision 0e49f817 (git): [DOC] Fix method docs of scheduler#io_read and scheduler#io_write
- Each of Fiber::Scheduler#io_read and io_write takes the "offset" as the fourth argument, which is not doucmented.
-
10:33 AM Revision b926ac51 (git): [DOC] Fix a typo in "Open Options" section of IO
- The word "and" was missing.
-
10:20 AM Revision f2102e40 (git): Set ripper_init.c.tmpl to C mode [ci skip]
09/09/2023
-
02:02 PM Feature #19842: Introduce M:N threads
- `Ractor.shareable` is a C function that doesn't call back into the interpreter under usual circumstances, so won't be pre-empted. It could be re-written in Ruby to avoid this sort of issue, ie where large object graphs are traversed with...
-
10:33 AM Bug #19788: Ripper returns a symbol instead of a token as operator for "::"
- ruby_3_2 bb877e5b4fe81965af60a0d86daeb8ed477e8e87 merged revision(s) 382678d4112f4afc6272244c22924d2b004274b1.
-
10:33 AM Revision bb877e5b (git): merge revision(s) 382678d4112f4afc6272244c22924d2b004274b1: [Backport #19788]
- [Bug #19788] Use the result of `tCOLON2` event
---
parse.y | 16 ++++++++--------
test/ripper/test_parser_events.rb | 17 +++++++++++++++++
test/ripper/test_scanner_events.rb ... -
09:52 AM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
- Merged into ruby_3_2 branch at 0b7a4fbaa9c56d2c67d00d86c69f9e5c71803267.
Thank you! -
09:51 AM Bug #19387 (Closed): ObjectSpace.each_objects only returns shareable objects after starting a Ractor - Applied in changeset commit:git|0b7a4fbaa9c56d2c67d00d86c69f9e5c71803267.
----------
Allow waitpid(-1) to be woken if a waitpid(pid) call is pending
If two threads are running, with one calling waitpid(-1), and another
calling waitpid(... - 09:51 AM Revision 0b7a4fba (git): Allow waitpid(-1) to be woken if a waitpid(pid) call is pending
- If two threads are running, with one calling waitpid(-1), and another
calling waitpid($some_pid), and then $some_other_pid exits, we would
expect the waitpid(-1) call to retrieve that exit status; however, it
cannot actually do so until ...
09/08/2023
- 11:08 PM Revision b635a66e (git): [DOC] Update Reline and IRB's maintainers list (#8406)
- Update Reline and IRB's maintainers list
Maintainers' order follows the same order they appear in the projects'
contributors list as of the time this commit is made. - 10:30 PM Revision 90dad2b1 (git): memory_view: Avoid using bit field
- Bit field's memory layout is implementation-defined.
See also:
https://wiki.sei.cmu.edu/confluence/display/c/EXP11-C.+Do+not+make+assumptions+regarding+the+layout+of+structures+with+bit-fields
If memory layout is implementation-defined... -
08:33 PM Revision d9ede181 (git): [YARP] Extract YP_COMPILE helper (#8403)
- 07:52 PM Revision 1f35789f (git): Update default gems list at f4443f3b1c6dd70b6b22470a7d5f87 [ci skip]
-
07:50 PM Revision f4443f3b (git): [ruby/yarp] Increment version
- https://github.com/ruby/yarp/commit/2b41ceb754
-
07:38 PM Revision c0f162ca (git): [ruby/yarp] Template out a comment_targets method
- https://github.com/ruby/yarp/commit/a94af7c4c8
-
07:38 PM Revision 5d73c0f3 (git): [ruby/yarp] Move parse result mutations into their own files
- https://github.com/ruby/yarp/commit/3be8272fa2
-
07:33 PM Revision 7fc4db35 (git): [YARP] Implement compilation for RationalNodes, fix other num types (#8404)
- 06:10 PM Revision 6050b5a4 (git): [ruby/yarp] Add ParseResult#attach_comments! to tie comments to their locations
- https://github.com/ruby/yarp/commit/ddc699156f
Co-authored-by: Kevin Newton <kddnewton@users.noreply.github.com> -
04:45 PM Revision 7f53da94 (git): Fix weak_references count test
- This test creates a lot of Objects held in an array, and a set of weak
references to them using WeakMap. It then clears the array and frees it
and asserts that all the weak references to it are also gone.
This test is failing because on... -
04:33 PM Revision 60ef156b (git): [DOC] Kernel#{proc,lambda} don't issue warnings anymore
- They've been raising since 3.0.0.
-
04:09 PM Revision af5df9ee (git): [YARP] Implement compilation for Regex / InterpolatedRegex (#8396)
-
03:37 PM Bug #19869: Mark skipped test somehow
- Ok, adding `TESTS="--show-skip"` makes the difference. Such tests are reported at the end of the run of test suite, e.g.:
~~~
70) Skipped:
TestGemExtCmakeBuilder#test_self_build_fail [/builddir/build/BUILD/ruby-3.3.0-7c8932365f/tes... -
03:01 PM Bug #19869 (Open): Mark skipped test somehow
- When Minitest was used to execute the Ruby test suite, skipped test were cleanly marked, e.g.:
~~~
[14036/25715] TestGemExtCmakeBuilder#test_self_build_has_makefile = s
~~~
However, with the test-unit the output is:
~~~
[1403... -
02:40 PM Revision 8807b0dc (git): [YARP] Implement compilation for InterpolatedXStringNode (#8395)
- * [YARP] Implemented compilation for InterpolatedXStringNode
* Extract common function for interpolated nodes -
01:40 PM Revision c7d61181 (git): [ruby/yarp] Flatten multitarget into multiwrite
- https://github.com/ruby/yarp/commit/1021dac372
-
01:40 PM Revision f39b576e (git): [ruby/yarp] Multi target nodes
- https://github.com/ruby/yarp/commit/fa53fe88e4
- 08:44 AM Revision be21a056 (git): Try default `gcc` 9.4.0 to see if it exhibits the same compiler bugs. (#8394)
- * Revert "Extract `do_mutex_lock_check_interrupts` to try and fix `ppc64le`. (#8393)"
This reverts commit 5184b40dd4dc446660cd35c3e53896324e95b317.
* .travis.yml: Try default gcc 9.4.0 instead of gcc-10 in ppc64le and s390x.
Use gcc 9... - 03:26 AM Revision 15fd8976 (git): Bump actions/cache from 3.3.1 to 3.3.2
- Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co... -
03:22 AM Revision b6df6f91 (git): Continue even if addr or rnglists headers not found
- Fix up commit 31d1226, "Avoid aborting inside addr2line.c".
Source code informations did not appear in C level backtrace since
that change. - 03:15 AM Revision 78233e83 (git): Add `String#getbyte` YJIT implementation (#8397)
- * Add getbyte JIT implementation
Adds an implementation for String#getbyte for YJIT, along with a
bootstrap test. This should be helpful for pure Ruby implementations
and to avoid unneeded allocations.
Co-authored-by: John Hawthorn <jh... -
03:15 AM Revision 89edce43 (git): YJIT: Decrease IVAR_MAX_DEPTH to 8 (#8398)
09/07/2023
-
08:51 PM Revision 094f336a (git): GC: Only force alloc slowpath for NEWOBJ hook
- Previously, configuring any GC event hook would cause all allocations to
go through the newobj slowpath. We should only need to do that when the
newobj specifically is subscribed to.
This renames flags.has_hook to flags.has_newobj_hook,... -
08:51 PM Revision aed52151 (git): Optimize handle_interrupt(Exception => ..) as a common case
- When interrupt behavior is configured for all possible exceptions using
'Exception', there's no need to iterate the pending exception's
ancestors for hash lookups.
More significantly, by storing the catch-all timing symbol directly in
t... -
08:51 PM Revision ed712e0e (git): Skip allocation if handle_interrupt arg is already usable
- If the supplied hash is already frozen and compare-by-identity, we can
use it directly (still checking its contents are valid symbols), without
making a new copy. -
06:22 PM Revision fcdedf7f (git): YJIT: Decrease SEND_MAX_DEPTH to 5 (#8390)
-
06:13 PM Revision 60a52caf (git): [ruby/yarp] Avoid an extra "stop" parameter to yp_strspn_whitespace_newlines
- and use yp_strspn_inline_whitespace instead.
Partially reverts implementation details from #1152
https://github.com/ruby/yarp/commit/c8f9f4cfde -
05:57 PM Revision 5b5ae3d9 (git): Rewrite Integer#times in Ruby (#8388)
-
04:36 PM Revision 4efcaf95 (git): [ruby/yarp] Extract error messages into diagnostic.c and use canonical message IDs
- The parser now passes around `yp_diagnostic_id_t` for diagnostic
messages instead of character strings, and we rely on the function
`diagnostic_message()` to resolve that to a string.
In addition, many messages were edited so that the p... -
04:31 PM Revision 2d37b446 (git): Document that thread event hooks are called without the GVL
- Except for the `RESUMED` event.
-
02:59 PM Revision 7adc38b8 (git): [YARP] Miscellaneous small bug fixes (#8387)
-
02:02 PM Revision 630e4901 (git): [ruby/yarp] remove now-redundant `YP_TOKEN_NOT_PROVIDED_VALUE`
- https://github.com/ruby/yarp/commit/8f9a3c2345
-
02:02 PM Revision 44b52c54 (git): [ruby/yarp] use `YP_LOCATION_*_VALUE` macros more consistently
- https://github.com/ruby/yarp/commit/bcad93e2fc
-
02:01 PM Revision 194584f2 (git): [ruby/yarp] Introduce owned constants
- Before this commit, constants in the constant pool were assumed to
be slices of the source string. This works in _almost_ all cases.
There are times, however, when a string needs to be synthesized.
This can occur when passing in locals ... -
01:54 PM Revision 0adca625 (git): Remove function call for String#bytesize (#8389)
- * Remove function call for String#bytesize
String size is stored in a consistent location, so we can eliminate the
function call.
* Update yjit/src/codegen.rs
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
---------
Co-auth... -
01:10 PM Revision 0c892872 (git): [YARP] Use the correct field for the name on classes and modules
-
12:42 PM Revision 14970cfc (git): [ruby/yarp] Constants and def nodes
- https://github.com/ruby/yarp/commit/6b2421ce1b
-
12:42 PM Revision 9343ef25 (git): [ruby/yarp] Constants on rest parameter nodes
- https://github.com/ruby/yarp/commit/a6fdb8aae9
-
12:42 PM Revision 3f78eec4 (git): [ruby/yarp] Constants on keyword rest parameters
- https://github.com/ruby/yarp/commit/5e1a8fbc54
-
12:42 PM Revision 9e21b33e (git): [ruby/yarp] Constants on keyword parameters
- https://github.com/ruby/yarp/commit/d2d4f25a23
-
12:41 PM Revision e2a0f258 (git): [ruby/yarp] Remove name constant from classes/modules
- https://github.com/ruby/yarp/commit/26105f0b58
- 12:32 PM Revision 5184b40d (git): Extract `do_mutex_lock_check_interrupts` to try and fix `ppc64le`. (#8393)
- We found some tests were hanging in `do_mutex_lock`, specifically the
fiber scheduler autoload test. After much investigation, it may be a code
generation bug. Because we didn't change the code, but only extracted it
into a separate func... - 06:59 AM Revision 009e0a3f (git): Update bundled gems list at 2023-09-07
-
06:07 AM Bug #19549 (Closed): Inconsistency in backref parsing
- Applied in changeset commit:git|bd046764e31267c83e7ae515d9bc7f09ffaa5b95.
----------
[Bug #19549] Check for variables to be interpolated -
04:41 AM Revision bd046764 (git): [Bug #19549] Check for variables to be interpolated
-
03:15 AM Bug #19868 (Closed): `Process::Status` methods for compatibility with `Fixnum`
- Looking at commit:54274b8c65a0981f1c69055a1513ba3c614dd675, noticed that `pst_rshift` contains shift by a negative integer, an unspecified behavior in C99.
I think an exception would be ok for such argument, also we can suggest altern... - 01:53 AM Revision 05aaff21 (git): Reduce number of iterations in `TestFiberScheduler#test_autoload`. (#8391)
- `ppc64le` appears to be struggling with this test due to timeout. Let's see
if reducing the number of iterations can help improve the test performance. -
01:05 AM Revision ac65fc83 (git): [DOC] Fix up Process::Status#>>
-
12:33 AM Revision 89cb9567 (git): [rubygems/rubygems] Reduce excess index creation and merging
- When @allow_cached is true, @allow_local is always true,
therefore, the #installed_specs will always be merged after #cached_specs
is called. This makes starting with installed_specs.dup redundant.
When #cached_specs is called because @... -
12:33 AM Revision 86b93f74 (git): [rubygems/rubygems] Improve efficiency of Index#use and #search_all
- Rename Index#use(override = true) to #merge!
Rename Index @all_specs to @duplicates, it is not actually all specs.
@duplicates only holds specs that would have been overridden during a call to
Index#use or Index#merge!
Reduced dupes in... -
12:33 AM Revision af1bedbb (git): [rubygems/rubygems] Source::Rubygems#fetch_names is only called with override = false
- https://github.com/rubygems/rubygems/commit/790202691d
09/06/2023
-
10:56 PM Bug #19857: Eval coverage is reset after each `eval`.
- > I think "coverage for eval" feature was a good idea for measuring the coverage of Rails view code, but I would like to design it to the minimum necessary for that purpose. Currently, I think it is too flexible than I expected.
Actuall... -
01:51 PM Bug #19857: Eval coverage is reset after each `eval`.
- > By the way, did you realise, eval coverage is already merged, if it's a subset of the eval'ed code?
Yes, I think that that is bad. I think I missed it because I didn't review https://github.com/ruby/ruby/pull/6396 enough. I want to ... -
01:01 PM Bug #19857: Eval coverage is reset after each `eval`.
- @jeremyevans0 I'm not proposing any change to `load`, only to `eval` and related methods. However, I actually believe your example is equally confusing because the coverage is not merged. If someone loads the same file several times, it'...
-
11:54 AM Bug #19857: Eval coverage is reset after each `eval`.
- Merging coverage results for eval would be inconsistent with how coverage for load is handled.
example code: `t.rb`:
```ruby
if $a
p 1
else
p 2
end
```
Print coverage result:
```
# Loaded Once
$ ruby -r coverage -... -
11:44 AM Bug #19857: Eval coverage is reset after each `eval`.
- By the way, did you realise, eval coverage is already merged, if it's a subset of the eval'ed code? So the behaviour is only broken if the eval'ed segments overlap, in which case the behaviour is, frankly, unexpected and pretty weird.
-
11:36 AM Bug #19857: Eval coverage is reset after each `eval`.
- > Thanks. In your case of ERB.new, the test function does not actually use its arguments.
I'm not sure what you mean. Depending on the argument, different coverage is generated. Can you explain why you think "the test function does no... -
11:30 AM Bug #19857: Eval coverage is reset after each `eval`.
- Thanks. In your case of `ERB.new`, the `test` function does not actually use its arguments. Consider a more realistic example:
```
def test(value = nil)
template = ERB.new(File.read(path).gsub("VALUE") { value || "default" })
t... -
11:08 AM Bug #19857: Eval coverage is reset after each `eval`.
- Here is an example of the ERB test issue:
https://github.com/ioquatix/covered/blob/main/examples/erb/test.rb
I could imagine this could show up in any code which reloads ERB templates between tests. -
10:50 AM Bug #19857: Eval coverage is reset after each `eval`.
- Bake uses `module_eval` to load source files:
https://github.com/ioquatix/bake/blob/c6b0d313a216077ceff460e2e90324206f3c243f/lib/bake/scope.rb#L19
If you load the same file several times during testing, coverage of previous tests is lo... -
10:26 PM Revision 54274b8c (git): [DOC] Rdoc for Process::Status (#8386)
- 07:50 PM Revision acd626a5 (git): [ruby/yarp] Consider source encoding for `slice`
- https://github.com/ruby/yarp/commit/8f59fc27cd
Co-authored-by: Kevin Newton <kddnewton@users.noreply.github.com> -
07:32 PM Revision f1422e4c (git): YJIT: Different comment when only setting ec->cfp [ci skip]
- 06:37 PM Revision fdf7aad9 (git): [ruby/yarp] Fix `Location#end_column`
- https://github.com/ruby/yarp/commit/00e4711026
-
06:31 PM Bug #19866: Future of `readline.rb`
- I believe hsbt may be able to answer your question. reline is probably the future anyway.
https://github.com/ruby/readline has not received an update in ~2 years, for instance.
I do, however had, disagree conceptually that:
require... -
03:20 PM Bug #19866 (Rejected): Future of `readline.rb`
- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem sh...
-
06:20 PM Revision 12102d10 (git): Fix crash in WeakMap during compaction
- WeakMap can crash during compaction because the st_insert could allocate
memory. -
06:18 PM Revision 746eede4 (git): [ruby/yarp] Constant on block parameter node
- https://github.com/ruby/yarp/commit/2cd9a67150
-
06:06 PM Feature #15425 (Closed): Store MJIT header into Ruby versioned directory.
-
10:20 AM Feature #15425: Store MJIT header into Ruby versioned directory.
- This is probably no issue for Ruby 3.3. The header in question was dropped by commit:git|31f4b2d86bfbc753cec9be376719acc4b120e944. So this can be closed (I used to have powers to close the tickets myself, how have I lost them? 🤔)
-
05:31 PM Revision 08929b34 (git): Try to fix flaky test_warmup_frees_pages
- This test sometimes fails with:
```
1) Failure:
TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2750]:
<202> expected but was
<203>.
``` -
04:29 PM Revision a334077b (git): YJIT: Make compiled_* stats available by default (#8379)
- * YJIT: Make compiled_* stats available by default
* Update comment about default counters [ci skip]
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
---------
Co-authored-by: Maxime Chevalier-Boisvert <maximech... -
04:19 PM Revision dee383b2 (git): [ruby/yarp] Constants on classes and modules
- (https://github.com/ruby/yarp/pull/1409)
https://github.com/ruby/yarp/commit/0a11ec579f -
04:19 PM Revision 1d4d9a01 (git): [YARP] ClassNode and ModuleNode use name_constant (#8384)
-
04:16 PM Bug #19867: Unicode line and paragraph separator are not stripped
- As for the implementation, changing ctype.h is not desirable.
There is `rb_enc_isspace` function for such purpose already. -
04:13 PM Bug #19867: Unicode line and paragraph separator are not stripped
- Yes, `\s`, `\w` etc match only single-byte ASCII characters.
I don't think changing the behavior by default is good idea.
An optional (keyword) argument may be better. -
03:36 PM Bug #19867: Unicode line and paragraph separator are not stripped
- I can see that the `[[:space:]]` regex class does match unicode whitespace characters (`"\u2028" =~ /[[:space:]]/ # => 0`) but `\s` does not (`"\u2028" =~ /\s/ # => nil`)
-
03:28 PM Bug #19867 (Rejected): Unicode line and paragraph separator are not stripped
- Unicode newline and paragraph separators are not removed by any of the strip methods:
`"\u2028\u2029\u0000\t\n\v\f\r ".strip # => "\u2028\u2029"`
I would have expected `strip` (and `lstrip`, `rstrip`) to remove unicode whitespace a... -
03:18 PM Revision b3b57f70 (git): Fix missing write barrier in iseq instruction list
- There's a missing write barrier for operands in the iseq instruction
list, which can cause crashes.
It can be reproduced when Ruby is compiled with `-DRUBY_DEBUG_ENV=1`.
Using the following command:
```
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FAC... -
02:30 PM Revision a52ac350 (git): [ruby/yarp] Fix assert_raises in YARP
- https://github.com/ruby/yarp/commit/8f8f3530aa
-
02:28 PM Revision ae41bdac (git): [YARP] Use constant_id lookups where possible (#8374)
- This commit extracts a `yp_constant_id_lookup` method and uses yp_constant_id_lookup where possible
-
02:20 PM Revision 5537169e (git): [ruby/yarp] Temporarily add name_constant to replace name on ClassNode/ModuleNode
- https://github.com/ruby/yarp/commit/8f87686e9c
-
02:19 PM Revision dae6a0a2 (git): [ruby/yarp] Introduce YARP::Pattern
- https://github.com/ruby/yarp/commit/2a12e9637b
-
02:19 PM Bug #19865: Segfault when calling user signal handlers during VM shutdown
- Thanks for the quick fix! :)
-
02:12 PM Bug #19865: Segfault when calling user signal handlers during VM shutdown
- While what I saw was failure at allocation of an internal array to call the signal handler instead of segfault, it can't work anyway.
This is because, in VM finalization phase, any object allocation is no longer possible and even except... -
08:56 AM Bug #19865 (Open): Segfault when calling user signal handlers during VM shutdown
- Howdy 👋! I work for Datadog [on the `ddtrace` gem](https://github.com/DataDog/dd-trace-rb) . I've found this issue while investigating a [customer crash report](https://github.com/DataDog/dd-trace-rb/issues/2980).
### Background
Th... -
01:03 PM Bug #19297: Don't download content from internet to execute Ruby test suite
- This is still issue, testing with `ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux]`
-
01:00 PM Revision 4c9a0366 (git): [ruby/yarp] Add constants and constants
- https://github.com/ruby/yarp/commit/d7eaa89bc3
-
12:56 PM Bug #19864: Ruby 3.2 Changed Behavior With One Sided Ranges
- This appears to fix it:
```diff
diff --git a/range.c b/range.c
index 62e957e622..4b2e2460c7 100644
--- a/range.c
+++ b/range.c
@@ -1818,6 +1818,7 @@ range_string_cover_internal(VALUE range, VALUE val)
return r_cover... -
12:34 PM Bug #19864: Ruby 3.2 Changed Behavior With One Sided Ranges
- Seems to be a bug indeed.
Originates from [this commit](https://github.com/ruby/ruby/commit/04a92a6764bf678919cf4b68a27496a39d6b886a), which fixed behavior for semi-open Ranges `#include?` but also [added semi-openness](https://github... -
12:17 PM Bug #19864: Ruby 3.2 Changed Behavior With One Sided Ranges
- I tested the idea with whole numbers, and it doesn't fail.
I tested the idea with dates not in the extremes, and it DOES fail.
Attached 2 examples.
The first one using numbers:
```
(..0) === 0
```
Which works fine both i... -
12:43 PM Revision 6778d2c5 (git): Support freeing the lowest memory address page
- This should help fix the following flaky test:
```
1) Failure:
TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2751]:
<0> expected but was
<1>.
``` -
12:30 PM Revision 6408da70 (git): [ruby/yarp] Add deprecated aliases of the form YP_NODE_<name>_NODE
- https://github.com/ruby/yarp/commit/ae1f45ff52
-
12:30 PM Revision 6356f6d3 (git): [ruby/yarp] Rename YP_NODE_*_NODE to YP_*_NODE
- https://github.com/ruby/yarp/commit/d93b93f342
-
10:51 AM Revision 5ba480e4 (git): Use the test-unit-ruby-core gem for Test::Unit::CoreAssertions
- test/lib/core_assertions.rb and its dependencies are now packaged in
the gem test-unit-ruby-core. Let's use it instead. -
10:31 AM Revision 3fd90c01 (git): [ruby/openssl] test/openssl/test_pkey_ec.rb: refactor tests for EC.builtin_curves
- Check that OpenSSL::PKey::EC.builtin_curves returns an array in the
expected format.
Similarly to OpenSSL::Cipher.ciphers, OpenSSL::PKey::EC.builtin_curves
returns a list of known named curves rather than actually usable ones.
https://... -
10:30 AM Revision 1d4a43e7 (git): [ruby/openssl] test/openssl/test_ossl.rb: relax assertion for error messages
- The test case test_error_data utilizes the error message generated by
X509V3_EXT_nconf_nid(). The next commit will use X509V3_EXT_nconf(),
which generates a slightly different error message. Let's adapt the
check to it.
https://github.c... -
10:30 AM Revision 91e5f516 (git): [ruby/openssl] x509ext: let X509::ExtensionFactory#create_ext take a dotted OID string
- instead of looking of NIDs and then using X509V3_EXT_nconf_nid,
instead just pass strings to X509V3_EXT_nconf, which has all the logic for
processing dealing with generic extensions
also process the oid through ln2nid() to retain compati... -
10:28 AM Revision 98d8f612 (git): [ruby/openssl] x509ext: test OpenSSL::X509::ExtensionFactory#create_ext with ln
- OpenSSL::X509::ExtensionFactory#create_ext and #create_extensions
accepts both sn (short names) and ln (long names) for registered OIDs.
This is different from the behavior of the openssl command-line utility
which accepts only sn in op... -
10:26 AM Revision 9b6128c5 (git): [ruby/openssl] Fix OCSP documentation
- `port` should be called on the `ocsp_uri` URI instead of `ocsp`, which
is just a string.
https://github.com/ruby/openssl/commit/89a1c82dd0 -
10:24 AM Revision 60a6de81 (git): [ruby/openssl] Prefer String#unpack1
- (https://github.com/ruby/openssl/pull/586)
String#unpack1 avoids the intermediate array created by String#unpack
for single elements, while also making a call to Array#first/[0]
unnecessary.
https://github.com/ruby/openssl/commit/8eb07... -
10:24 AM Revision b6d7cdc2 (git): [ruby/openssl] ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters
- In TLS 1.2 or before, if DH group parameters for DHE are not supplied
with SSLContext#tmp_dh= or #tmp_dh_callback=, we currently use the
self-generated parameters added in commit https://github.com/ruby/openssl/commit/bb3399a61c03 ("supp... -
10:24 AM Revision 4a042b22 (git): [ruby/openssl] Refactor Buffering consume_rbuff and getbyte methods
- Prefer ``slice!`` for ``Buffering#consume_rbuff`` and safe navigation with ``ord`` for ``Buffering#getbyte``, similar to ``each_byte``.
https://github.com/ruby/openssl/commit/5f6abff178 -
10:20 AM Revision 912f1cda (git): [ruby/openssl] Remove OSSL_DEBUG compile-time option
- Remove the OSSL_DEBUG flag and OpenSSL.mem_check_start which is only
compiled when the flag is given. They are meant purely for development
of Ruby/OpenSSL.
OpenSSL.mem_check_start helped us find memory leak bugs in past, but
it is no l... -
08:46 AM Revision 779cab66 (git): `RHASH_AR_TABLE` never returns NULL now [ci skip]
-
06:54 AM Bug #19863 (Closed): ruby 3.3.0dev rarely gets `[BUG] Segmentation fault`
- Welcome
-
02:00 AM Bug #19863: ruby 3.3.0dev rarely gets `[BUG] Segmentation fault`
- After running over 1000 iterations, this issue does not reproduce anymore using the latest version of Ruby that includes https://github.com/ruby/ruby/pull/8375 .
```
ruby 3.3.0dev (2023-09-05T21:29:32Z master ae96232161) [x86_64-lin... -
05:42 AM Bug #19862: argument stack underflow compile error happens for the combination of and/or & one line pattern matching
- https://github.com/ruby/ruby/pull/8381
-
05:06 AM Revision abd0b9b2 (git): Exclude `-Wmisleading-indentation` when `-save-temps`
- That option may be triggered wrongly by pre-processed files.
09/05/2023
-
09:33 PM Bug #19864 (Closed): Ruby 3.2 Changed Behavior With One Sided Ranges
- Thank you for taking the time to read my issue. I know there has been some previous discussion here https://bugs.ruby-lang.org/issues/19533 regarding a similar issue, although I think this is different. I apologize if this has already be...
-
09:29 PM Revision ae962321 (git): [YARP] Fix warning on compiling constant test (#8377)
-
07:13 PM Revision 767f9840 (git): [ruby/yarp] Flatten CallAndWriteNode, CallOrWriteNode, and CallOperatorWriteNode
- https://github.com/ruby/yarp/commit/8f26ffa0b2
-
07:13 PM Revision 95e4bdcd (git): [ruby/yarp] Rename CallNode#operator_loc to CallNode#call_operator_loc
- https://github.com/ruby/yarp/commit/fbcd307a54
-
06:46 PM Revision 6c4df555 (git): YJIT: Silence Clippy for bindgen generated code
- New Clippy lint in 1.72.0 is breaking our build as GitHub has updated
their image. No point hearing about lints from generated code we don't
manually write. -
06:41 PM Revision c384ef07 (git): [ruby/yarp] Introduce a BlockLocalVariableNode
- This is a tradeoff that I think is worth it. Right now we have a
location list that tracks the location of each of the block locals.
Instead, I'd like to make that a node list that has a proper node
in each spot in the list. In doing so,... -
06:32 PM Revision 9a8398a1 (git): Introduce rb_gc_remove_weak
- If we're during incremental marking, then Ruby code can execute that
deallocates certain memory buffers that have been called with
rb_gc_mark_weak, which can cause use-after-free bugs. -
06:32 PM Revision 06a1d16d (git): Reuse allocated buffer in WeakMap
- If the key exists in WeakMap and WeakKeyMap, then we can reuse the
buffer and we can avoid an allocation. -
05:59 PM Bug #19863: ruby 3.3.0dev rarely gets `[BUG] Segmentation fault`
- We've noticed this one at Shopify as well. With GDB we were able to map it to weak refs and @peterzhu2118 is working on a fix: https://github.com/ruby/ruby/pull/8375
-
12:19 PM Bug #19863 (Closed): ruby 3.3.0dev rarely gets `[BUG] Segmentation fault`
- Ruby on Rails Active Record unit tests against ruby 3.3.0dev rarely gets `[BUG] Segmentation fault`
### Steps to reproduce
```
git clone https://github.com/rails/rails
cd rails
rm Gemfile.lock
bundle install
cd activerecord
w... -
05:58 PM Revision bdfa885f (git): [YARP] Fix aliasing instructions to use INT2FIX (#8373)
-
04:53 PM Revision a17a1cd5 (git): [DOC] Fix for RDoc for Process.kill (#8370)
-
04:23 PM Revision 88b25294 (git): Suppress macro redefinition warnings
- When building with ruby, `snprintf` is replaced with `ruby_snprintf`.
-
03:48 PM Feature #19075: Binary searching for the last element
- sawa (Tsuyoshi Sawada) wrote in #note-11:
> `bsearch_rindex`
I love this one, how it has a direct parallel in the way the condition must be inverted when using `#index` vs `#rindex`.
```ruby
a = [5,6,6,6,7]
a.index{ |e| e >= 6 } ... -
02:55 PM Revision ab9d1910 (git): Rename shady to uncollectible_wb_unprotected
- The term "shady object" was renamed to "uncollectible write barrier
unprotected object", so rename `has_uncollectible_shady_objects` to
`has_uncollectible_wb_unprotected_objects` for consistency. -
02:54 PM Revision e3210177 (git): [YARP] Implemented Compiler for Constant(Or/Operator/And)Nodes (#8355)
-
02:52 PM Revision 7a930cf0 (git): Pool more slots for large size pools
- We always sweep at least 2048 slots per sweep step, but only pool one
page. For large size pools, 2048 slots is many pages but one page is
very few slots. This commit changes it so that at least 1024 slots are
placed in the pooled pages ... -
02:24 PM Revision 790df7d3 (git): [ruby/yarp] Fix up CI for Ruby 2.5
- https://github.com/ruby/yarp/commit/462cb561a9
-
02:12 PM Bug #19387 (Assigned): ObjectSpace.each_objects only returns shareable objects after starting a Ractor
- c08fdc68383ee368c18e15e298502e6ee0089e18 is not related to this ticket.
-
11:20 AM Bug #19387 (Closed): ObjectSpace.each_objects only returns shareable objects after starting a Ractor - Applied in changeset commit:git|c08fdc68383ee368c18e15e298502e6ee0089e18.
----------
Allow waitpid(-1) to be woken if a waitpid(pid) call is pending
If two threads are running, with one calling waitpid(-1), and another
calling waitpid(... -
01:47 PM Revision 89a4fd67 (git): [ruby/yarp] Switch `ERB.new` at startup
- https://github.com/ruby/yarp/commit/b87b4450cc
-
01:47 PM Revision e1713fa6 (git): [ruby/yarp] Read template in UTF-8
- https://github.com/ruby/yarp/commit/864b4ce99f
-
01:47 PM Revision 6110f415 (git): [ruby/yarp] The value field of ClassVariableWriteNode is never null/nil
- https://github.com/ruby/yarp/commit/2ddd2eff94
-
01:45 PM Bug #19861: Ripper does not fire any error event on unfinished heredoc
- I had missed this one.
Thanks, nobu. -
01:14 PM Bug #19861 (Feedback): Ripper does not fire any error event on unfinished heredoc
- `compile_error` will be called at that time.
- 01:43 PM Revision dbe9b852 (git): Update default gems list at d83b5ea09d537431ff39d68de8832d [ci skip]
-
01:42 PM Revision d83b5ea0 (git): [ruby/irb] Bump version to 1.8.1
- (https://github.com/ruby/irb/pull/706)
https://github.com/ruby/irb/commit/c7c838a4bf -
01:27 PM Revision ef651836 (git): Add check for T_NONE in rb_gc_mark_weak
- This commit adds a check for T_NONE in rb_gc_mark_weak, just like
gc_mark_ptr. This will help debugging. -
12:39 PM Bug #16492: TestBugReporter#test_bug_reporter_add test failures
- I'm going to drop the patch testing with Ruby 3.3. Just briefly looking at the changes of the test case, I can imagine this one commit:git|308fe1eb858fd8029f67510a18 could have positive influence. But not sure, because I'd say this must ...
-
12:09 PM Revision 5b157997 (git): [DOC] Fix up markup
-
11:51 AM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
- ruby_3_1 8a8d889ca2ba1ace8784e49e02a6616dd5765d9e merged revision(s) 1f115f141dd17f75049a5e17107906c5bcc372e1.
- 11:48 AM Revision 8a8d889c (git): merge revision(s) 1f115f141dd17f75049a5e17107906c5bcc372e1: [Backport #19246]
- Speed up rebuilding the loaded feature index
Rebuilding the loaded feature index slowed down with the bug fix
for #17885 in 79a4484a072e9769b603e7b4fbdb15b1d7eccb15. The
slowdown was extreme if realpath emulatio... - 11:48 AM Revision e88ffb88 (git): merge revision(s) 382678d4112f4afc6272244c22924d2b004274b1: [Backport #19788]
- [Bug #19788] Use the result of `tCOLON2` event
---
parse.y | 16 ++++++++--------
test/ripper/test_parser_events.rb | 17 +++++++++++++++++
test/ripper/test_scanner_events.rb ... -
11:36 AM Revision 7c893236 (git): [DOC] Fix signal list
- - Signal names can be symbols, as stated above.
- Supported signals and those values are platform dependent.
- Key sequences to send signal are configurable.
- Fix description of signal 0.
Co-authored-by: Peter Zhu <peter@peterzhu.ca> -
11:28 AM Bug #19857: Eval coverage is reset after each `eval`.
- @ioquatix When creating a ticket, could you write up a use case?
Even if you believe it is a bug, it is not necessarily so to others.
You only showed an example of evaling a method definition many times.
As far as that case is conce... -
10:35 AM Bug #19857: Eval coverage is reset after each `eval`.
- It was reverted in https://github.com/ruby/ruby/commit/4f4c1170bc988104f3bd3321558099af7ea19c18
Okay @mame, I look forward to your analysis. -
11:20 AM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
- merged PR#8246 into ruby_3_1
thx! - 11:20 AM Revision 5a7b37a6 (git): * 2023-09-05 [ci skip]
- 11:19 AM Revision c08fdc68 (git): Allow waitpid(-1) to be woken if a waitpid(pid) call is pending
- If two threads are running, with one calling waitpid(-1), and another
calling waitpid($some_pid), and then $some_other_pid exits, we would
expect the waitpid(-1) call to retrieve that exit status; however, it
cannot actually do so until ... -
11:18 AM Bug #19788: Ripper returns a symbol instead of a token as operator for "::"
- ruby_3_1 25cf111f0ab426cbf1539ba8da55c880117edba9 merged revision(s) 382678d4112f4afc6272244c22924d2b004274b1.
-
10:05 AM Bug #19862 (Closed): argument stack underflow compile error happens for the combination of and/or & one line pattern matching
- This code raises argument stack underflow compile error on ruby 3.3 which is under development.
```ruby
# test3.rb
if true or {a: 0} in {a:}
p 1
else
p 0
end
```
```shell
% ruby -v test3.rb
ruby 3.3.0preview1 (2023-05-... -
09:24 AM Feature #19057: Hide implementation of `rb_io_t`.
- Eric just said he'll cut new `unicorn` and `kgio` releases: https://yhbt.net/kgio.git/dbf5290cf9f89174f6b35a597af9a4226633d79b/s/
> Will push out a release once docs are updated to more strongly
discourage the use of kgio and unicorn... -
08:35 AM Revision 5b146eb5 (git): Prevent "ambiguous first argument" warnings
- ```
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:16: warning: ambiguous first argument; put parentheses or a space even after `+' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test... -
08:29 AM Revision 77db0ca6 (git): Prevent a warning: method redefined; discarding old included
- ```
[ 3463/25719] JSONGeneratorTest#test_string_ext_included_calls_super/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/json/json_generator_test.rb:411: warning: method redefined; discarding old included
/home/chkbuild/chkbu... -
05:29 AM Revision 923d3517 (git): [flori/json] Removed code for Ruby 1.8
- https://github.com/flori/json/commit/7f9c29038d
-
02:52 AM Revision 4a90c934 (git): Pattern matching has not been experimental
-
01:16 AM Revision c9af9114 (git): [DOC] RDoc for process.c (#8366)
-
01:14 AM Revision dab6d55d (git): [ruby/rdoc] Remove code for versions older than Ruby 2.6
- https://github.com/ruby/rdoc/commit/0d10f460eb
-
01:14 AM Revision 736092ec (git): [ruby/rdoc] Remove code for versions older than Ruby 2.3
- https://github.com/ruby/rdoc/commit/a61b777df0
-
12:45 AM Revision 3f6c92e9 (git): [ruby/rdoc] Omit descriptions and parameter lists for methods defined in C not mentioned in call-seq
- This allows RDoc to better generate documentation for methods
following the Ruby core documentation guide (which omits aliases
in call-seq in most cases). This makes documentation for methods
defined in C more similar to methods defined... - 12:37 AM Revision a14ba622 (git): [ruby/rdoc] handle symbols declared with `%s`
- https://github.com/ruby/rdoc/commit/ed91c4b784