Activity
From 07/08/2021 to 07/14/2021
07/14/2021
-
11:54 PM Bug #18031: Nested TracePoint#enable with define_method target crashes
- I don't think the overriding behavior is intentional, since it doesn't happen for other kinds of targets.
There is an existing [test case][1] that tests this for `Proc`.
I also found a leak specific to targeting bmethods while looking ... -
11:47 PM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- Eregon (Benoit Daloze) wrote in #note-12:
> It seems ruby master as of today still uses Onigmo 6.1.3, but https://github.com/k-takata/Onigmo/releases/tag/Onigmo-6.2.0 is needed to fix this bug.
> ...
If nobody else wants to urgently do... -
02:33 PM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- It seems ruby master as of today still uses Onigmo 6.1.3, but https://github.com/k-takata/Onigmo/releases/tag/Onigmo-6.2.0 is needed to fix this bug.
Who can update Onigmo to latest? -
02:34 PM Misc #17997: DevelopersMeeting20210715Japan
- * [Bug #13671] Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters (eregon)
* Can we update to latest Onigmo to fix this? Who knows how to do that/who to assign?
-
12:06 PM Misc #17997: DevelopersMeeting20210715Japan
- - [Feature #17837] Add support for Regexp timeouts (Sam Saffron)
- I support looking more closely at Nobu's patch. I have done some experiments which show worst-case slowdowns of ~5%. -
01:00 PM Revision 2fa3209a (git): [ruby/fiddle] fixed the test on case-insensitive filesystem
-
11:59 AM Feature #17837: Add support for Regexp timeouts
- nobu (Nobuyoshi Nakada) wrote in #note-22:
> I made a patch for `Regexp#backtrack_limit=`.
> ...
I have looked at this patch. I think this is the general direction to go. I also think that the interface/API looks good, maybe having a k... -
11:52 AM Bug #18038 (Closed): Invalid interpolation in heredocs
- Given code as followed:
``` ruby
var = 1
v1 = <<~CMD
something
#{"/#{var}"}
CMD
v2 = <<~CMD
something
#{other = "/#{var}"}
CMD
v3 = <<~CMD
something
#{("/#{var}")}
CMD
p v1
p v2
p v3
p v1 == v2
... - 09:56 AM Revision 67897762 (git): [ruby/fiddle] Add Fiddle::Handle#file_name (https://github.com/ruby/fiddle/pull/88)
- https://github.com/ruby/fiddle/commit/4ee1c6fc4b
-
09:55 AM Revision 169529a0 (git): [ruby/fiddle] Check HAVE_RUBY_MEMORY_VIEW_H rather than API version (https://github.com/ruby/fiddle/pull/86)
- https://github.com/ruby/fiddle/commit/c5abcc3a7e
- 09:43 AM Revision 818c74b7 (git): [ruby/fiddle] Return the module handle value in Fiddle::Handle#to_i and add FIddle::Handle#to_ptr (https://github.com/ruby/fiddle/pull/87)
- https://github.com/ruby/fiddle/commit/170111a0cb
-
04:18 AM Bug #16654 (Closed): Segfault in rb_str_hash
-
03:14 AM Bug #16654: Segfault in rb_str_hash
- I was able to reproduce this on an old app I inherited. It's not an issue in ruby itself, rather the issue seems to be caused by a bug in bootsnap <= 1.4.8: https://github.com/Shopify/bootsnap/pull/322
You can reproduce this by having... - 01:48 AM Revision 57a743ef (git): * 2021-07-14 [ci skip]
-
01:48 AM Revision 896bbb9f (git): Merge RubyGems/Bundler master from 8459ebd6ad65ce3397233416dc64083ae7572bb9
-
12:31 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- @eregon thanks for the feedback.
The flags are more efficient and for the current design they are mostly implementation specific. I'm not sure how you implement multiple flags with symbols? For the initial design we can actually avoid e...
07/13/2021
-
01:55 PM Bug #17788 (Closed): ruby 3.0.0 - compiling c++ extension on alpine fails
- Applied in changeset commit:git|29f6f79e7396018962eb25c5f5e409f5fe28a73b.
----------
Get `ruby_nonempty_memcpy` to have C linkage
Fixes [Bug #17788] -
01:55 PM Revision 29f6f79e (git): Get `ruby_nonempty_memcpy` to have C linkage
- Fixes [Bug #17788]
-
01:20 PM Misc #17997: DevelopersMeeting20210715Japan
- * [Feature #17795] Around `Process.fork` callbacks API (dan0042)
* After a few meetings without a decision, can we at least reach a compromise with `Process._fork_` ?
* For certain uses cases that would improve the statu quo from "... -
12:34 PM Revision cb955dc9 (git): [ruby/fiddle] update dependencies
-
12:21 PM Revision 1d03c7da (git): [ruby/irb] Add an explanation of default sub commands of "measure", which are :time and :stackprof
- https://github.com/ruby/irb/commit/759be5a344
-
11:36 AM Revision 40d45ab0 (git): [ruby/fiddle] Check HAVE_RUBY_MEMORY_VIEW_H rather than API version
- https://github.com/ruby/fiddle/commit/93f9564446
-
11:30 AM Revision a5d6ea92 (git): [ruby/error_highlight] Set the binary mode for Tempfile creation in a test
- https://github.com/ruby/error_highlight/commit/8273d3b6f2
-
10:37 AM Revision 472d8c55 (git): [ruby/fiddle] Update required_ruby_version (https://github.com/ruby/fiddle/pull/85)
- Drop supports for old versions, keeping 2.5 as CI supports it for
now.
https://github.com/ruby/fiddle/commit/90634e7c55 - 10:37 AM Revision bb868f48 (git): [ruby/fiddle] Use have_header and have_type to detect memory view availability
- Fix https://github.com/ruby/fiddle/pull/84
It may detect ruby/memory_view.h for system Ruby that is installed in
/usr.
We can use RUBY_API_VERSION_MAJOR to detect memory view availability
because memory view is available since Ruby 3.0... -
10:37 AM Revision 5c0d8c63 (git): [ruby/fiddle] Add "offsetof" to Struct classes (https://github.com/ruby/fiddle/pull/83)
- * Add "offsetof" to Struct classes
I need to get the offset of a member inside a struct without allocating
the struct. This patch adds an "offsetof" class method to structs that
are generated.
The usage is like this:
```ruby
MyStruct... - 10:37 AM Revision a2c9e1b5 (git): [ruby/fiddle] Bump version
- https://github.com/ruby/fiddle/commit/049138b4b8
- 10:37 AM Revision 70b03186 (git): [ruby/fiddle] MemoryView: ensure reset rb_memory_view_t::obj on error
- https://github.com/ruby/fiddle/commit/0ed39345fe
- 10:37 AM Revision 9f86e50e (git): [ruby/fiddle] StringValuePtr may change the val
- https://github.com/ruby/fiddle/commit/bddca7c895
- 10:37 AM Revision 10e26cfa (git): [ruby/fiddle] Add MemoryView.export and MemoryView#release (https://github.com/ruby/fiddle/pull/80)
- fix https://github.com/ruby/fiddle/pull/79
Users can release memory views explicitly before process exit.
Reported by xtkoba. Thanks!!!
https://github.com/ruby/fiddle/commit/1de64b7e76 - 10:37 AM Revision 9988f6ac (git): [ruby/fiddle] Add Fiddle::MemoryView#to_s (https://github.com/ruby/fiddle/pull/78)
- Fix https://github.com/ruby/fiddle/pull/74
Reported by dsisnero. Thanks!!! - 10:37 AM Revision 8c905349 (git): [ruby/fiddle] test: fix SetLastError's input type
- https://github.com/ruby/fiddle/commit/ca5e6a0404
- 10:37 AM Revision 37d16bb9 (git): [ruby/fiddle] test: use double quote for string literal
- https://github.com/ruby/fiddle/commit/fab7eab95b
- 10:37 AM Revision 5516d74a (git): [ruby/fiddle] test: add a test for win32_last_socket_error
- https://github.com/ruby/fiddle/commit/c86cec03cd
- 10:37 AM Revision 303ab5da (git): [ruby/fiddle] test: add missing receiver
- https://github.com/ruby/fiddle/commit/1da3b4af16
- 10:37 AM Revision d1eeb9fe (git): [ruby/fiddle] windows: use GetLastError() for win32_last_error
- Ruby: [Bug #11579]
Patch by cremno phobia. Thanks!!!
https://github.com/ruby/fiddle/commit/760a8f9b14 - 10:37 AM Revision c0f9191a (git): [ruby/fiddle] Bump version
- https://github.com/ruby/fiddle/commit/3784cfeec4
-
10:36 AM Revision 4c039a2e (git): tool/sync_default_gems.rb: remove CRs
-
10:35 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- API-wise: integer flags feel not so Ruby-like. How about symbols instead?
Or are those flags only meant to be used from C?
`def to_str(offset, length)` seems problematic, the coercion protocol is to_str() (no arguments). So it should... -
10:05 AM Revision f9c559a0 (git): sync_default_gems.rb: expand links to PRs of the upstream
-
07:54 AM Revision 5fd5d71a (git): [ruby/error_highlight] Support a file that has no final newline
- https://github.com/ruby/error_highlight/commit/9d671284cb
-
07:51 AM Revision 23c8bc36 (git): [ruby/error_highlight] Support hard tabs
- Now, the highlight line is created by replacing non-tab characters with
spaces, and keeping all hard tabs as-is. This means the highlight line
has the completely same indentation as the code snippet line.
Fixes #7
https://github.com/ru... - 07:28 AM Revision b18f6fff (git): * 2021-07-13 [ci skip]
- 07:28 AM Revision 9df712a0 (git): Expose `rb_obj_is_fiber`.
07/12/2021
-
04:30 PM Bug #18002: s390x: Tests failing without LC_ALL env
- Here is the status under the `/tmp/rubytest1` (`tmpdir`).
```
ruby01|s390x$ unset LC_ALL
ruby01|s390x$ ls -l /tmp/rubytest1
total 0
-rw-r--r-- 1 jaruga sudo 0 Jul 12 12:21 'A�'$'\221'
lrwxrwxrwx 1 jaruga sudo 3 Jul 12 12:21 x ->... -
04:28 PM Bug #18002: s390x: Tests failing without LC_ALL env
- > ```
> ...
For the 1st failed test, I created a minimal reproducer.
```
$ cat test.rb
require 'fileutils'
fsenc = Encoding.find("filesystem")
# => #<Encoding:ISO-8859-1> if `unset LC_ALL` on s390x.
# => #<Encoding:US-ASCII> ... -
04:07 PM Bug #15856: Performance of redundant `Kernel.require` is slow when many gems are activated
- The feature index arrays seems to ignore the priority of file types.
-
10:28 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- > I missed some functions in io.c which could invoke read. That's why read was showing up.
Sorry, this tripped me up and I was looking for a corresponding `write` line.
> ...
This seems fine to me, but to play the devil's advocate ... -
02:26 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- I was playing around with a larger number of connections and the deferred submit:
```
io_write:Event_Backend_fiber_transfer -> 46
io_write:Event_Backend_fiber_transfer -> 46
io_write:Event_Backend_fiber_transfer -> 46
io_write:Eve... -
01:03 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- Here is `DirectScheduler`:
```
Running 30s test @ http://localhost:9090
4 threads and 128 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 3.55ms 658.12us 14.96ms 64.38%
Req/Sec 8.92k 0.9... -
12:54 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- I rewrote the `uring` implementation to track the number of pending operations. I'm kind of surprised that the SQ doesn't do this.
```
% time seconds usecs/call calls errors syscall
------ ----------- ----------- -------... -
12:16 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- I missed some functions in `io.c` which could invoke `read`. That's why `read` was showing up. Now that's been patched:
```
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------... -
07:48 AM Revision 84fea8ee (git): [ruby/error_highlight] Update a test for multibyte characters
- https://github.com/ruby/error_highlight/commit/2fc70d7f8e
-
07:48 AM Revision 8b01d16a (git): [ruby/error_highlight] Stop showing a code snippet if it has non-ascii characters
- See https://github.com/ruby/error_highlight/issues/4
https://github.com/ruby/error_highlight/commit/c20efd3961 -
07:45 AM Feature #18037: Update Unicode data to Unicode Version 14.0.0
- I have successfully tested upgrading to Unicode 14.0.0 with the beta release data, and reported this back to the Unicode consortium. This means that the actual upgrade should be rather smooth.
-
07:44 AM Feature #18037 (Closed): Update Unicode data to Unicode Version 14.0.0
- Unicode Version 14.0.0 is currently in beta. See the announcement at https://home.unicode.org/unicode-14-0-beta-review/ and more details at https://www.unicode.org/versions/beta-14.0.0.html. We should test the new data during the beta pe...
- 07:16 AM Revision 028441d2 (git): Avoid calling `fstat` on things we already know are valid sockets.
-
05:50 AM Feature #17039 (Closed): Remove Time#succ
- Removed at commit:7817a438eb1803e7b3358f43bd1f38479badfbdc
-
05:19 AM Misc #18025: rb_iterate is obsolete since 1.9 but is not marked as deprecated for C compilers
- +1
- 04:45 AM Revision 0895d57d (git): * 2021-07-12 [ci skip]
-
03:10 AM Revision 6504ca00 (git): Show node IDs in dump
07/11/2021
-
10:46 PM Bug #12052: String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
- nagachika (Tomoyuki Chikanaga) wrote in #note-11:
> The multiple GitHub Actions environments show the failure of make check.
commit:391abc543cea118a9cd7d6310acadbfa352668ef is needed. -
09:15 PM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- > My understanding is sockets are buffered, so normally you'll see EAGAIN only if you saturate them.
For `write` this seems totally reasonable, but I was also checking `read` which you'd expect to block more often.
> ...
Yes, agree... -
04:38 PM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- > In my testing, comparing `io_uring` `io_read` and `io_write` operations, perform about 20% worse in practice in my benchmarks. This was surprising to me. My current understanding as to why it's slow is because when we perform `io_read`...
-
10:05 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- Here are some summaries from `strace -c`:
Using non-blocking sockets (note the errors column which indicates EAGAIN):
```
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ---... -
09:16 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
- I have researched this topic today and I'm going to share some of my notes and thoughts.
Firstly, with regards to performance, the most important platform is Linux, and I personally believe that `io_uring` is going to be the most import... -
11:28 AM Revision c2ed5ab0 (git): [ruby/date] Fixed markups for bold [ci skip]
- https://github.com/ruby/date/commit/404f9d2096
-
11:28 AM Revision 8065670c (git): [ruby/date] Fix comparison with Float::INFINITY
- Fixes [Bug #17945]
https://github.com/ruby/date/commit/953d907238 -
11:12 AM Revision 49ba7cd2 (git): [DOC] Move mailing-list URLs to footnotes [ci skip]
-
10:56 AM Revision 69038501 (git): Move core_assertions.rb from test/unit
- This file contains extended assertions for ruby core which do not
belong to test/unit. -
09:26 AM Revision b32ae989 (git): Move rb_str_escape function declaration
-
09:11 AM Bug #12261 (Closed): Windows: File.dirname with 2+ / or 2+ \\ will return // or \\\\
- It is a different thing from single '/' on Windows, like drive letters.
07/10/2021
- 09:12 PM Revision e330bbee (git): * 2021-07-11 [ci skip]
-
09:12 PM Revision 947d0198 (git): [ruby/irb] Show LANG and LC_ALL env by irb_info
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/irb/commit/b431742430 -
12:02 PM Revision 491ab282 (git): Remove half-defined Reline on LoadError
- When fiddle is not avaiable, reline/terminfo depending on it also
fails. -
10:14 AM Revision d172f8ac (git): Skip fiddle tests if fiddle is not avaiable
-
08:42 AM Feature #18033: Time.new to parse a string
- ```
user system total real
Time.iso8601 0.006919 0.000185 0.007104 ( 0.007091)
Time.parse 0.018338 0.000207 0.018545 ( 0.018590)
Time.new 0.003671 0.000069 0.003740 ( 0.00... -
08:39 AM Revision cb3eb3d7 (git): Get rid of conflict in ccan/list
- Undefine LIST_HEAD from BSD-origin sys/queue.h.
-
04:44 AM Bug #17530 (Closed): irb handles << incorrectly with variable as identifier
- 04:44 AM Revision 9c285150 (git): * 2021-07-10 [ci skip]
-
04:44 AM Revision 289fd3c8 (git): [ruby/irb] Pass local variables from workspace binding to lexer
- This fixes at least an issue where irb will incorrectly assume
code opens a heredoc when it does not, such as this code:
```ruby
s1 = 'testing'
s2 = 'this'
s2 <<s1
p s1
s1
```
Ruby parses the `s2 <<s1` as `s2.<<(s1)`, not as a heredoc,... -
03:30 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- Add notes about buffer allocation.
-
01:20 AM Bug #15856: Performance of redundant `Kernel.require` is slow when many gems are activated
- We've still been using the David Rodriguez patch with no reported issues around it for the past ~2 years or so.
It is likely that we don't hit the Digest issue due to the way we already have to play games with that built-in gem due to... -
12:01 AM Bug #18031: Nested TracePoint#enable with define_method target crashes
- I've submitted a pull request to fix this crash: https://github.com/ruby/ruby/pull/4640
I noticed two other issues:
1. Tracepoints leak memory. I think this is definitely a bug. Example code:
```ruby
loop do
tp = Trac...
07/09/2021
-
11:51 PM Bug #18028: test/ruby/enc/test_emoji_breaks.rb does not deal with Unicode ranges in file emoji-sequences.txt
- One of the testing scripts (`test/ruby/enc/test_emoji_break.rb`) that the version declared internally in a data files matches the version we expect. In that context, I ran into the following problem, reported via standard channels to the...
-
09:33 PM Feature #17370: Introduce non-blocking `Addrinfo.getaddrinfo` and related methods.
- This was merged and basic testing seems to work well. More evaluation is required.
-
03:51 PM Bug #15993 (Open): 'require' doesn't work if there are Cyrillic chars in the path to Ruby dir
- inversion (Yura Babak) wrote in #note-8:
> jeremyevans0 (Jeremy Evans) wrote in #note-7:
> ...
I was able to reproduce the issue, but only when I installed Ruby into a path not supported by the `Windows-1251` encoding:
```
d:\Евген... -
11:12 AM Bug #15993: 'require' doesn't work if there are Cyrillic chars in the path to Ruby dir
- jeremyevans0 (Jeremy Evans) wrote in #note-7:
> This appears to be fixed starting in Ruby 2.7 (also works in 3.0):
**Still, there is a problem.**
`require 'bundler/setup'` fails if `LOAD_PATH` or `Gem.dir` contain Cyrillic chars, t... -
02:49 PM Bug #18036: Pthread fibers become invalid on fork - different from normal fibers.
- I'm fine having `fork` raise an exception when called from non-main fiber if the pthread coroutine implementation is used, and issue a verbose warning in other cases.
-
09:45 AM Bug #18036 (Closed): Pthread fibers become invalid on fork - different from normal fibers.
- Fork is notoriously hard to use correctly and I most cases we should be encouraging `Process#spawn`. However, it does have use cases for example pre-fork model of server design. So there are some valid usage at least.
We recently intr... -
09:51 AM Feature #18035: Introduce general model/semantic for immutability.
- Regarding method chains, one thing that's always bothered me a bit is this:
```ruby
def foo(*arguments)
pp object_id: arguments.object_id, frozen: arguments.frozen?
end
arguments = [1, 2, 3].freeze
pp object_id: arguments.object_id, f... -
08:48 AM Feature #18035: Introduce general model/semantic for immutability.
- This is mostly just a generic comment that may not be very helpful, but I can only say that I fully agree. Even before talking about parallel stuff (thread/fiber), knowing some object is frozen can be of help when optimizing.
One thin... -
08:11 AM Feature #18035: Introduce general model/semantic for immutability.
- Fix title.
-
08:10 AM Feature #18035 (Open): Introduce general model/semantic for immutability.
- It would be good to establish some rules around mutability, immutability, frozen, and deep frozen in Ruby.
I see time and time again, incorrect assumptions about how this works in production code. Constants that aren't really constant... -
08:51 AM Feature #18033: Time.new to parse a string
- ioquatix (Samuel Williams) wrote in #note-4:
> > Time.parse often results in unintentional/surprising results.
> ...
Yes, it seems by design, and changing the behavior will just break something.
I thought that the same name but differ... -
08:29 AM Feature #18033: Time.new to parse a string
- > Time.parse often results in unintentional/surprising results.
Can we change it so that it doesn't return unintentional/surprising results? I realise this might be impossible without extending the interface... e.g. `Time.parse(..., sur... -
07:51 AM Feature #18033: Time.new to parse a string
- ioquatix (Samuel Williams) wrote in #note-2:
> But does any other `#new` implementation work this way? Can we fix `Time#parse`? I wonder if user will be confused, should they use `Time.parse` or `Time.new`?
The reason not to "fix `Ti... -
06:30 AM Feature #18033: Time.new to parse a string
- It looks like good improvement.
But does any other `#new` implementation work this way? Can we fix `Time#parse`? I wonder if user will be confused, should they use `Time.parse` or `Time.new`?
Why is `Time.parse` so slow?
This se... -
06:13 AM Feature #18033 (Closed): Time.new to parse a string
- Make `Time.new` parse `Time#inspect` and ISO-8601 like strings.
* `Time.iso8601` and `Time.parse` need an extension library, `date`.
* `Time.iso8601` can't parse `Time#inspect` string.
* `Time.parse` often results in unintentional/s... -
07:22 AM Revision 60722391 (git): Remove no longer needed include files (Unicode Version 12.1.0)
-
07:14 AM Bug #18032: Openstruct is ~20..25x slower with Ruby 3.0.0 and 3.0.1 compared to earlier versions
- @mame @marcandre that is unfortunate, because initializing from a hash is probably the most frequently used form.
I agree on correctness over perfomance - I ran into the issue with pre-defined methods before :)
Thank you for takin... -
06:34 AM Bug #18032 (Rejected): Openstruct is ~20..25x slower with Ruby 3.0.0 and 3.0.1 compared to earlier versions
- @mame is correct that #15409 was a concern, but this is mainly due to #12136 and listed in the release notes for 3.0.
Basically we have prioritized correctness over performance and came back to a solution similar to that of Ruby 2.2.
... -
05:41 AM Bug #18032 (Assigned): Openstruct is ~20..25x slower with Ruby 3.0.0 and 3.0.1 compared to earlier versions
- Maybe due to this change: https://bugs.ruby-lang.org/issues/15409#note-9
> reverts lazy initialization and restores overriding private methods
I'm assigning this ticket to @marcandre.
BTW, OpenStruct is now considered as "an ant... -
05:04 AM Bug #18032 (Rejected): Openstruct is ~20..25x slower with Ruby 3.0.0 and 3.0.1 compared to earlier versions
- Doing some timings with different Ruby versions, I noticed that when using Ruby 3.0.0 and 3.0.1
the time to create OpenStruct instances has significantly increased by 20..25x
```
0.936016 seconds elapsed for Class.new (Ruby 2.7.2... -
07:01 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- Okay, the PR is ready for review: https://github.com/ruby/ruby/pull/4621
Here is how it's used:
- `uring.c`: https://github.com/socketry/event/blob/b40bb0b174aed4cc3fed0f0eaafdd73f2a6a6f4c/ext/event/backend/uring.c#L265-L365
- `epoll.c... -
06:47 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- Does `FFI::Pointer` have locking mechanism suitable for IO? Does it have a mutability model suitable for reading and writing? Does it allocate page aligned mapped memory suitable for zero-copy IO?
Even if I agree that it was suitable,... -
06:39 AM Revision 23ed8ef4 (git): Update bundled_gems
-
06:16 AM Bug #18034 (Closed): Segmentation fault fiddle with `--enable-bundled-libffi` and macOS
- I always got a segmentation fault with `make test-all TESTS="fiddle"` and `--enable-bundled-libffi` on macOS.
https://gist.github.com/hsbt/9f7dc9f62e9197b92c5a99384972dad3
07/08/2021
-
11:58 PM Feature #17924: Range#infinite?
- This is a partial duplicate of this ticket.
https://bugs.ruby-lang.org/issues/15864
matz's comment: https://bugs.ruby-lang.org/issues/15864#note-7 -
09:56 PM Feature #17924: Range#infinite?
- Seems reasonable to me.
PR at: https://github.com/ruby/ruby/pull/4535 - 11:54 PM Revision f3e4c340 (git): * 2021-07-09 [ci skip]
-
11:53 PM Bug #18031 (Closed): Nested TracePoint#enable with define_method target crashes
- Found this crash while looking at tracing related code.
Haven't had time to dig deeper, so I'm making a ticket for now.
```ruby
one = TracePoint.new(:call) {}
two = TracePoint.new(:call) {}
obj = Object.new
obj.define_singleton... -
11:52 PM Revision fbe9b691 (git): Added missing declarations in readline.h bundled with macOS 10.13
-
07:38 PM Bug #18030 (Closed): Backport 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4
-
06:30 PM Bug #18030 (Closed): Backport 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4
- Ruby 3.0 is impacted by this bug too.
Ruby 2.7 and older is fine.
https://github.com/ruby/ruby/pull/4342
repro script
```ruby
require 'objspace'
ObjectSpace.trace_object_allocations do
GC.stress = true
class A
de... -
03:29 PM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- ioquatix (Samuel Williams) wrote in #note-5:
> why is there interest in `IO::Buffer` from other people?
I was not aware of that, did people specifically ask for IO::Buffer?
> ...
It's very efficient, most likely as efficient or be... -
10:55 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- @eregon thanks for your discussion.
Something like this is required for the fiber scheduler interface. It's also required for efficient IO. Many people have asked for this feature, maybe there is something I don't know but why they di... -
10:39 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- Does it need to be core, or could it be behind a `require` like `require 'io/buffer'`?
The reason I'm asking is the C code could be reused if it's an extension (behind a require) in TruffleRuby, but not if it is core (to avoid loading C... -
11:21 AM Revision a7c85ccb (git): Update bundled_gems
-
10:40 AM Feature #17873: Update of default gems in Ruby 3.1
- At first glance, it looks specific to `bundler/inline`, when installing gems and using gems happens in the same process. I'll fix it by vendoring `net/http` and its dependencies under the `Bundler::` namespace like we do with the other p...
-
09:18 AM Revision 524513be (git): mkmf.rb: try linking at try_var
- To check for variables accessible but not declared.
-
09:11 AM Feature #18029 (Closed): Update Unicode Emoji version to 13.1
- The current version of Unicode Emoji is 13.1.
This was announced here:
http://blog.unicode.org/2020/09/emoji-131-now-final-to-be-widely.html
For more details, see also:
https://www.unicode.org/emoji/charts-13.1/emoji-released.html
I... -
08:58 AM Revision d6cf4c0c (git): rbinstall.rb: just call File.basename directly
-
08:57 AM Revision b90ca734 (git): Ubuntu: remove pthread coroutine which is done in Compilations
-
07:47 AM Revision 7a2383b5 (git): Split test of Hash.[] and add assertion for default value/proc
- For a73f13c9070a5189947641638398cbffb8d012d8.
-
07:43 AM Revision 771f6dd7 (git): [ruby/stringio] Suppress a sign-compare warning
- https://github.com/ruby/stringio/commit/a88c070e0b
-
06:30 AM Bug #18028 (Closed): test/ruby/enc/test_emoji_breaks.rb does not deal with Unicode ranges in file emoji-sequences.txt
- While working on issue #17750, I found out that test_emoji_breaks.rb does not deal with Unicode ranges in the file emoji-sequences.txt. That means that the tests may not cover all emoji. This should eventually be fixed, but requires some...
-
06:25 AM Bug #18027 (Closed): test/ruby/enc/test_emoji_breaks.rb does not use the file emoji-variation-sequences.txt
- While working on issue #17750, I found out that the number of assertions is essentially the same whether or not the file emoji-variation-sequences.txt is included in the files used to create the test data. This is the case both before an...
-
05:45 AM Revision 3b36e34b (git): Adapt test_emoji_breaks.rb to Unicode 13.0.0/Emoji 13.0
- - Add UNICODE_VERSION,... to deal with new location of some
of the emoji-related data files.
- Introduce class BreakFile to handle various file properties.
- Adapt main code to use BreakFile. -
05:45 AM Revision 146a943d (git): Fix ruby_version guards in Unicode/Emoji version specs
- Correct version guards in ruby_version in Unicode/Emoji version
specs to correctly use exclusive range endings. -
05:45 AM Revision 323ff38c (git): Add directory and include files for Unicode version 13.0.0
- - Add directory enc/unicode/13.0.0
- Add include files casefold.h and name2ctype.h for Unicode
version 13.0.0 -
05:45 AM Revision ba357bac (git): Add new Unicode/Emoji version checks to spec/ruby/library/rbconfig
- - Limit Unicode version 12.1.0 to Ruby versions 2.6.3 - 3.0
- Check that Ruby version 3.1 has Unicode version 13.0.0
- Limit Unicode Emoji version 12.1 to Ruby versions 2.7 - 3.0
- Check that Ruby version 3.1 has Unicode Emoji version 13.0 -
05:45 AM Revision 99cd0e1f (git): Update lib/unicode_normalize/tables.rb to Unicode version 13.0.0
-
05:45 AM Revision 94fc4b18 (git): Adjust tool/enc-unicode.rb to deal with new location of some emoji files
- - Change location of file emoji-data.txt
- Change range of files in emoji directory
([stz] is for emoji-sequences.txt, emoji-test.txt, and emoji-zwj-sequences.txt)
- Make sure that version of all emoji files is checked against Emoji ve... -
05:45 AM Revision b6113a3f (git): Update common.mk to deal with Unicode version 13.0.0
- - Change Unicode version to 13.0.0
- Change Emoji version to 13.0
- Adjust to moved locations of emoji-data.txt and emoji-variation-sequences.txt
by splitting these files from $(UNICODE_EMOJI_FILES) and putting them into
a new group ...