Activity
From 03/11/2021 to 03/17/2021
03/17/2021
-
11:25 PM Misc #17635 (Closed): DevelopersMeeting20210317Japan
-
08:35 PM Bug #17727 (Rejected): Unexpected syntax error when passing hash to **arg with kwarg
- Ruby syntax does not allow positional arguments after keyword arguments. `a: '1'` is a keyword argument and `{b: 1}` is a positional argument (`**{b: 1}` is a keyword argument, which is why that works). So the syntax errors are expected...
-
08:14 PM Bug #17727: Unexpected syntax error when passing hash to **arg with kwarg
- Typos/readability
-
08:08 PM Bug #17727 (Rejected): Unexpected syntax error when passing hash to **arg with kwarg
- ## Background
Given a method that takes a kwarg and a **positional_arg it throws an unexpected syntax error if you pass it an intact hash. This happens when you call the method, but also when you declare the method if it is multi-line... - 05:55 PM Revision 05ebaee8 (git): * 2021-03-18 [ci skip]
-
05:55 PM Revision 04a81493 (git): return bool instead of VALUE
-
05:55 PM Revision 83598218 (git): Use rb_fstring for "defined" strings.
- We can take advantage of fstrings to de-duplicate the defined strings.
This means we don't need to keep the list of defined strings on the VM
(or register them as mark objects) -
05:55 PM Revision ea817c60 (git): Refactor vm_defined to return a boolean
- We just need this function to return whether or not the thing we're
looking for is defined. If it's defined, return something true,
otherwise false. -
05:55 PM Revision c3971bea (git): Stop calling `rb_iseq_defined_string` in vm_defined
- We already have access to the string from the iseqs, so we can stop
calling this function. -
05:55 PM Revision 17bf478d (git): Store strings for `defined` in the iseqs
- We can know the string used for "defined" calls at compile time, then
store the string in the instruction sequences -
02:59 PM Bug #13882 (Closed): Exception in `ensure` stops threads from exiting
-
02:55 PM Revision 366e88e5 (git): [DOC] Update README [ci skip]
- * Use `autogen.sh`.
* The subversion repository is only for old versions, and
secondary now.
* Moved long links to footnotes. -
02:50 PM Feature #17718: a method paramaters object that can be pattern matched against
- there could be a way, like `method(__method__).parameters` can return the parameters of the current method,
it is still more unclean than just use **args -
01:19 PM Feature #17718: a method paramaters object that can be pattern matched against
- the parameters method returns the name in order. I know ruby doesn't do it yet, this is a feature request to add a
method like the parameters argument that could be pattern matched against. -
08:00 AM Feature #17718: a method paramaters object that can be pattern matched against
- @dsisnero
this is even more problematic because ruby doesn't know which parameter should be at which position there
it may not know which param you want at which in your in comparison, especially if you mix key args with non key args... -
02:13 PM Revision 1d80d703 (git): autogen.sh: Make it work with sh (not bash)
-
12:00 PM Revision 5b54dc9a (git): Remove unused DEFAULT_KCODE
-
10:51 AM Revision 447feb0a (git): Improved autogen.sh
- * update in the source directory
* make symbolic links instead of copies
* forward the arguments to autoreconf as-is -
09:52 AM Revision f9e43782 (git): get rid of aclocal (#4280)
-
08:17 AM Revision 83f96642 (git): autogen.sh: Allow AUTORECONF envvar to specify the autoreconf executable
-
07:58 AM Bug #17723: autoconf 2.70+ is not working with master branch
- I see no objection about autogen.sh, so I've added it. commit:4250d7c910fd67c0da07c6213901009330e3cd51
-
07:54 AM Revision 4250d7c9 (git): autogen.sh: Added
- Currently it just runs "autoreconf --install"
-
06:39 AM Feature #17684: Remove `--disable-gems` from release version of Ruby
- At this time we just update `--help`.
The conclusion of ruby core's discussion is
* As the first step, let’s update the --help to explicitly state that --disable-gems is just for debugging
* If rubygems startup becomes so fast in futu... -
06:37 AM Feature #17684 (Closed): Remove `--disable-gems` from release version of Ruby
- Applied in changeset commit:git|d58daad37bd5fd09c7ff74be17074fc51faac8d3.
----------
[Feature #17684] Declare --disable-gems is for debugging -
06:31 AM Feature #17684: Remove `--disable-gems` from release version of Ruby
- My gut feeling is that it's miserable for people to confuse `--disable-gems` as a zero-cost speed boost option. Maybe rubygems is too slow now.
-
06:36 AM Revision d58daad3 (git): [Feature #17684] Declare --disable-gems is for debugging
-
05:31 AM Bug #16908: Strange behaviour of Hash#shift when used with `default_proc`.
- I don't remember why I made this behavior. Now I think `#shift` should return `nil` for an empty hash, without calling its default value, in the long run. @naruse claims the change should be postponed to `3.2` or later if we make the cha...
-
04:50 AM Bug #17164 (Closed): Threads can ignore kill/interrupt/abort
- If the programmer intentionally ignores the interrupt, it is, by definition, intentional.
So I vote for leaving this as it is now.
Matz.
-
04:38 AM Feature #15752: A dedicated module for experimental features
- We consumed about this topic too long. I want this topic as pending in a year.
-
01:24 AM Bug #17725: Prepend breaks ability to override optimized methods
- Hmmmm?
```
$ ruby -v
ruby 3.1.0dev (2021-03-16T15:19:37Z master a47697aa44) [x86_64-darwin19]
$ ruby --enable=gems bug-17725.rb
"blah blah"
$ ruby --enable=gems bug-17725.rb 1
"ab"
$ ruby --disable=gems bug-17725.rb
"blah blah"
$ r... -
01:15 AM Bug #17725: Prepend breaks ability to override optimized methods
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> Seems the redefinition flag is not set by prepend.
This is not accurate, actual method owner class needs to be checked too. -
01:09 AM Bug #17725: Prepend breaks ability to override optimized methods
- Alias is not concerned.
```ruby
# bug-17725.rb
String.prepend(Module.new) unless ARGV.empty?
class String
def + other
'blah blah'
end
end
p 'a' + 'b'
```
```sh
$ ruby bug-17725.rb
"blah blah"
$ ruby bug-177... -
01:12 AM Feature #9459 (Closed): Net::HTTP initializes openssl library after TCP connection is established
-
12:49 AM Revision 3260602f (git): Adjusted indents [ci skip]
-
12:42 AM Bug #17726: `respond_to_missing?` doesn't raise when called from `defined?`
- I believe this is expected. `defined?` swallows exceptions in other cases, such as when a method raises an exception:
```ruby
class Foo
def bar(*args)
puts "hi"
raise
end
end
foo = Foo.new
p defined?(foo.bar.to_s)... -
12:18 AM Bug #17726 (Closed): `respond_to_missing?` doesn't raise when called from `defined?`
- I'm not sure whether or not this is expected behavior, but if `respond_to_missing?` is called from `defined?`, it won't raise an exception.
For example:
```ruby
class Foo
def respond_to_missing?(*args)
puts "hi"
raise... -
12:00 AM Feature #17685: Marshal format for out of band buffer objects
- The object identity in Ruby is defined by the value of `object_id`. `Object#equal?` just compares the value of `object_id`.
No more than one object has the same value of `object_id.`
Marshal cannot generate an object whose `equal?` r...
03/16/2021
-
11:52 PM Feature #17718: a method paramaters object that can be pattern matched against
- def get_param(name, city: nil, state:nil, zip: nil, &error)
case parameters_match
in [String, String, String , String, Proc]
puts 'all method types matched against'
in [String, nil, String, nil,nil]
puts 'only ci... -
11:48 PM Feature #17685: Marshal format for out of band buffer objects
- that is the case now. I am proposing changing Marshal to allow Marshal to load into an existing object for object identities. This is one of the things python's latest pickle format allows. They use it to marshal large numpy arrays to ...
-
07:49 AM Feature #17685: Marshal format for out of band buffer objects
- You cannot get the original object from `Marshal.load`. This is `Marshal.load`'s nature.
`Marshal.load` always creates a new object (the different object from the original one).
`Object#equal?` compares object identities, so `b.equal?... -
07:25 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- fledman (David Feldman) wrote in #note-6:
> do you plan to backport the fix to any of the supported 2.x versions?
The choice of which patches to backport is up to the branch maintainer. I've marked this for backporting, but it is the... -
07:12 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- do you plan to backport the fix to any of the supported 2.x versions?
-
07:10 PM Bug #17519 (Closed): set_visibility fails when a prepended module and a refinement both exist
- Applied in changeset commit:git|58660e943488778563b9e41005a601e9660ce21f.
----------
Skip refined method when exporting methods with changed visibility
Previously, attempting to change the visibility of a method in a
singleton class fo... -
07:10 PM Revision 58660e94 (git): Skip refined method when exporting methods with changed visibility
- Previously, attempting to change the visibility of a method in a
singleton class for a class/module that is prepended to and refined
would raise a NoMethodError.
Fixes [Bug #17519] -
06:47 PM Bug #17725: Prepend breaks ability to override optimized methods
- One more detail.
``` ruby
module Dummy; end
class String
alias_method(:old_plus, :+)
def + other
puts 'blah blah'
old_plus(other)
end
end
String.prepend(Dummy)
class String
alias_method(:old_plus2, :+)
def + other
... -
06:15 PM Bug #17725: Prepend breaks ability to override optimized methods
- So, I set out to test my hypothesis regarding refinements. I've never used refinements prior to this, so it's still possible there's an interaction somewhere, but at least not in the way I was thinking.
``` ruby
module Dummy; end
... -
05:34 PM Bug #17725: Prepend breaks ability to override optimized methods
``` ruby
module Dummy; end
class Foo
def ten
10
end
end
Foo.prepend(Dummy)
class Foo
alias_method(:old_ten, :ten)
def ten
puts 'blah blah'
old_ten
end
end
Foo.new.ten
> blah blah
...-
05:26 PM Bug #17725 (Closed): Prepend breaks ability to override optimized methods
- Prepending any module to `String` and `Hash` (and possibly other or all classes?) blocks the ability to `alias`
As an example:
``` ruby
module Dummy; end
# String.prepend(Dummy)
class String
alias_method(:old_plus, :+)
def ... - 05:42 PM Revision 756e8a2c (git): test_zlib(test_path_tmpfile): fix Zlib instance leak
- follow-up: commit cf831f49189c4a890da6845e39199a5dfaf4fb48
- 05:16 PM Revision cf831f49 (git): zlib: fix Gzip{Writer,Reader}.new fails with a O_TMPFILE file
-
03:34 PM Feature #13820: Add a nil coalescing operator
- This is also related to the Hash#fetch_set proposal
``` ruby
cache.fetch_set(key) { calculation }
```
https://bugs.ruby-lang.org/issues/17342 -
12:07 AM Feature #13820: Add a nil coalescing operator
- Here's example code which works around the lack of a ??= operator in the wild:
https://github.com/chef/chef/blob/4d3b847aee1b917bb139862c623e9633d180fb31/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb#L43-L48
```
... -
03:19 PM Revision a47697aa (git): LLDB: Introduce dump_page helper
- This dumps out object type information for every object on a page in the
form:
bits [LM R ] T_CLASS [389]: Addr: 0x1007ebcf0 (flags: 0x100000062) -
03:19 PM Revision 1dca3335 (git): LLDB: Extract a dump_bits function from rp
- that dumps the heap page bitmaps for a slot
- 03:01 PM Revision d33159a2 (git): * 2021-03-17 [ci skip]
-
02:06 PM Revision 382d3a45 (git): Improve Enumerable#tally performance
- Iteration per second (i/s)
| |compare-ruby|built-ruby|
|:------|-----------:|---------:|
|tally | 52.814| 114.936|
| | -| 2.18x| -
01:30 PM Revision e61e9bcf (git): test/openssl/test_config: skip tests for .include on older OpenSSL
- The .include directive was initially added by OpenSSL 1.1.1, but the
syntax was later modified in 1.1.1b to improve compatibility with the
parser in <= 1.1.0. The test case expects 1.1.1b's parser.
https://github.com/openssl/openssl/com... -
01:30 PM Revision 44d67128 (git): test/openssl/test_cipher: skip AES-CCM tests on OpenSSL <= 1.1.1b
- AES CCM mode in OpenSSL <= 1.1.1b was overly strict in the parameters
assignment order. This has been relaxed by OpenSSL 1.1.1c.
https://github.com/openssl/openssl/commit/b48e3be947ddc5da6b5a86db8341081c72b9a4ee
The test case is failin... -
12:40 PM Revision 6c7cb00c (git): test/ruby/test_regexp.rb: Avoid "ambiguity between regexp and two divisions"
-
10:58 AM Feature #17608: Compact and sum in one step
- FWIW, this was confirmed as rejected by matz:
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210216Japan.md#feature-17608-compact-and-sum-in-one-step-sawa -
10:37 AM Revision 7f0b3fb9 (git): [ruby/openssl] sample: update obsolete API use
- https://github.com/ruby/openssl/commit/dafa851c0d
-
10:37 AM Revision e35d3623 (git): [ruby/openssl] sample: avoid "include OpenSSL"
- It is not a common practice and should not be done since it causes name
clash: for example, Digest and Random are provided by other standard
libraries of Ruby.
Fixes: https://github.com/ruby/openssl/issues/419
https://github.com/ruby/o... -
10:37 AM Revision a3f97007 (git): [ruby/openssl] test: adjust test cases for LibreSSL 3.2.4
- LibreSSL 3.2.4 made the certificate verification logic back closer to
pre-3.2.2 one, which is more compatible with OpenSSL.
Part of the fixes added by commit a0e98d48c91f ("Enhance TLS 1.3 support
on LibreSSL 3.2/3.3", 2020-12-03) is re... -
10:37 AM Revision 1eb6d8aa (git): [ruby/openssl] bn: check -1 return from BIGNUM functions
- Although the manpage says that BIGNUM functions return 0 on error,
OpenSSL versions before 1.0.2n and current LibreSSL versions may return
-1 instead.
Note that the implementation of OpenSSL::BN#mod_inverse is extracted
from BIGNUM_2c()... -
10:37 AM Revision 1ad22247 (git): [ruby/openssl] Fixed the results of OpenSSL::Timestamp::Response#failure_info
- Made stored values `Symbol`s instead of `ID`s.
Fixes https://bugs.ruby-lang.org/issues/17625
Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
https://github.com/ruby/openssl/commit/f2d004679a -
10:37 AM Revision e2ce3830 (git): [ruby/openssl] Enhance TLS 1.3 support on LibreSSL 3.2/3.3
- This defines TLS1_3_VERSION when using LibreSSL 3.2+. LibreSSL 3.2/3.3
doesn't advertise this by default, even though it will use TLS 1.3
in both client and server modes.
Changes between LibreSSL 3.1 and 3.2/3.3 broke a few tests, Defi... -
10:16 AM Revision 4756ac00 (git): [ruby/openssl] pkey/ec: remove OpenSSL::PKey::EC::Group.new(ec_method) form
- The form created an empty EC_GROUP object with the specified EC_METHOD.
However, the feature was unfinished and not useful in any way because
OpenSSL::PKey::EC::Group did not implement wrappers for necessary
functions to set actual param... -
10:16 AM Revision d47210b1 (git): [ruby/openssl] ssl: remove SSL::SSLContext#tmp_ecdh_callback
- The underlying API SSL_CTX_set_tmp_ecdh_callback() was removed by
LibreSSL >= 2.6.1 and OpenSSL >= 1.1.0, in other words, it is not
supported by any non-EOL versions of OpenSSL.
The wrapper was initially implemented in Ruby 2.3 and has ... -
10:16 AM Revision 945ed408 (git): [ruby/openssl] ssl: retry write on EPROTOTYPE on macOS
- Errno::EPROTOTYPE is not supposed to be raised by SSLSocket#write.
However, on macOS, send(2) which is called via SSL_write() can
occasionally return EPROTOTYPE. Retry SSL_write() so that we get a
proper error, just as ext/socket does.
... -
10:16 AM Revision 0b1bb1bc (git): [ruby/openssl] test/openssl/test_x509store: tidy up tests for X509::Store#add_cert
- Rename the test case to test_add_cert_duplicate to clarify what it is
actually testing.
https://github.com/ruby/openssl/commit/4cc3c4110f -
10:16 AM Revision d4ad1e71 (git): [ruby/openssl] test/openssl/test_x509store: break up test_verify
- The test case is huge and too complex. Break it up into separate test
cases for better documentation.
https://github.com/ruby/openssl/commit/61012df03b -
10:16 AM Revision c46b1f0b (git): [ruby/openssl] x509store: update rdoc for X509::Store and X509::StoreContext
- Add more details about each method, and add reference to OpenSSL man
pages.
https://github.com/ruby/openssl/commit/02b6f82c73 -
10:16 AM Revision 62d889c8 (git): [ruby/openssl] x509store: fix memory leak in X509::StoreContext.new
- The certificate passed as the second argument was not properly free'd
in the error paths.
https://github.com/ruby/openssl/commit/9561199b9f -
10:16 AM Revision 871c61d5 (git): [ruby/openssl] x509store: avoid ossl_raise() calls with NULL message
- Use the OpenSSL function name that caused the error to generate a better
error message.
https://github.com/ruby/openssl/commit/b31809ba3d -
10:16 AM Revision be3ba2ee (git): [ruby/openssl] x509store: refactor X509::StoreContext#chain
- Use ossl_x509_sk2ary() to create an array of OpenSSL::X509::Certificate
from STACK_OF(X509).
https://github.com/ruby/openssl/commit/fa1da69f92 -
10:16 AM Revision 08c99a42 (git): [ruby/openssl] x509store: emit warning if arguments are given to X509::Store.new
- Anything passed to OpenSSL::X509::Store.new was always ignored. Let's
emit an explicit warning to not confuse users.
https://github.com/ruby/openssl/commit/d173700eeb -
10:16 AM Revision 88b8b3ac (git): [ruby/openssl] x509store: let X509::Store#add_file raise TypeError if nil is given
- Undo special treatment of nil and simply pass the value to
StringValueCStr().
nil was never a valid argument for the method; OpenSSL::X509::StoreError
with an unhelpful error message "system lib" was raised in that case.
https://github... -
10:16 AM Revision 92f19f7b (git): [ruby/openssl] [DOC] Fix RDoc markup
- https://github.com/ruby/openssl/commit/f36af95519
- 10:16 AM Revision be1e88a2 (git): [ruby/openssl] Fix typo in documentation
- The socket is called ssl_connection, not connection
https://github.com/ruby/openssl/commit/642783aeda -
10:16 AM Revision 81325db5 (git): [ruby/openssl] ssl: initialize verify_mode and verify_hostname with default values
- SSLContext's verify_mode expects an SSL_VERIFY_* constant (an integer)
and verify_hostname expects either true or false. However, they are set
to nil after calling OpenSSL::SSL::SSLContext.new, which is surprising.
Set a proper value to... -
10:16 AM Revision 3b43e3fa (git): [ruby/openssl] test/openssl/test_ssl: revise verify_mode test cases
- Add explicit test cases for the behaviors with different verify_mode.
If we made a bug in verify_mode, we would notice it by failures of other
test cases, but there were no dedicated test cases for verify_mode.
https://github.com/ruby/o... -
10:16 AM Revision 57a57e6e (git): [ruby/openssl] test/openssl/test_ssl: revise a test case for client_cert_cb
- The current test_client_auth_public_key test case checks that supplying
a PKey containing only public components through client_cert_cb will
cause handshake to fail. While this is a correct behavior as a whole,
the assertions are mislead... -
10:16 AM Revision c71afc9d (git): [ruby/openssl] Add compare? method to OpenSSL::PKey that wraps EVP_PKEY_cmp.
- Explicitly check for type given some conflicting statements within openssl's
documentation around EVP_PKEY_cmp and EVP_PKEY_ASN1_METHOD(3).
Add documentation with an example for compare?
https://github.com/ruby/openssl/commit/0bf51da6e2 -
10:16 AM Revision da6341b7 (git): [ruby/openssl] User lower case cipher names for maximum compatibility
- We ran into some Linux-based systems not accepting the upper case variant
https://github.com/ruby/openssl/commit/7bc49121d5 -
10:16 AM Revision 13198d49 (git): [ruby/openssl] hmac: implement base64digest methods
- OpenSSL::HMAC implements the similar interface as ::Digest. Let's add
base64digest methods to OpenSSL::HMAC, too, for feature parity.
https://github.com/ruby/openssl/commit/098bcb68af -
10:16 AM Revision b91f62f3 (git): [ruby/openssl] hmac: migrate from the low-level HMAC API to the EVP API
- Use the EVP API instead of the low-level HMAC API. Use of the HMAC API
has been discouraged and is being marked as deprecated starting from
OpenSSL 3.0.0.
The two singleton methods OpenSSL::HMAC, HMAC.digest and HMAC.hexdigest
are now i... -
10:16 AM Revision baea36c9 (git): [ruby/openssl] hmac: add a test case for OpenSSL::HMAC singleton methods
- https://github.com/ruby/openssl/commit/8253d7c9ce
-
10:16 AM Revision fde9f806 (git): [ruby/openssl] pkey/ec: deprecate OpenSSL::PKey::EC::Point#mul(ary, ary [, bn])
- Deprecate it for future removal. However, I do not expect any
application is affected by this.
The other form of calling it, PKey::EC::Point#mul(bn [, bn]) remains
untouched.
PKey::EC::Point#mul calls EC_POINTs_mul(3) when multiple BNs... -
10:16 AM Revision 15863069 (git): [ruby/openssl] digest, hmac, ts, x509: use IO.binread in examples where appropriate
- IO.read may mangle line separator, which will corrupt binary data
including DER-encoded X.509 certificates and such.
Fixes: https://github.com/ruby/openssl/issues/243
https://github.com/ruby/openssl/commit/93213b2730 -
10:16 AM Revision 9d3ffe09 (git): [ruby/openssl] pkey: reimplement PKey::DH#compute_key and PKey::EC#dh_compute_key
- Use the new OpenSSL::PKey::PKey#derive instead of the raw
{EC,}DH_compute_key(), mainly to reduce amount of the C code.
https://github.com/ruby/openssl/commit/28edf6bafc -
10:16 AM Revision fbadb01d (git): [ruby/openssl] pkey: add PKey::PKey#derive
- Add OpenSSL::PKey::PKey#derive as the wrapper for EVP_PKEY_CTX_derive().
This is useful for pkey types that we don't have dedicated classes, such
as X25519.
https://github.com/ruby/openssl/commit/28f0059bea -
10:16 AM Revision b2dc4880 (git): [ruby/openssl] pkey: support 'one-shot' signing and verification
- OpenSSL 1.1.1 added EVP_DigestSign() and EVP_DigestVerify() functions
to the interface. Some EVP_PKEY methods such as PureEdDSA algorithms
do not support the streaming mechanism and require us to use them.
https://github.com/ruby/openss... -
10:16 AM Revision 5cae2896 (git): [ruby/openssl] pkey: port PKey::PKey#sign and #verify to the EVP_Digest* interface
- Use EVP_DigestSign*() and EVP_DigestVerify*() interface instead of the
old EVP_Sign*() and EVP_Verify*() functions. They were added in OpenSSL
1.0.0.
Also, allow the digest to be specified as nil, as certain EVP_PKEY types
don't expect ... -
10:16 AM Revision 1e3590fe (git): [ruby/openssl] pkey: add PKey.generate_parameters and .generate_key
- Add two methods to create a PKey using the generic EVP interface. This
is useful for the PKey types we don't have a dedicated class.
https://github.com/ruby/openssl/commit/d8e8e57de9 -
10:16 AM Revision d60ab953 (git): [ruby/openssl] test/openssl/test_ssl: fix flaky test case
- Fix test_socket_open_with_local_address_port_context.
Often with MinGW, it seems EACCES is returned on bind when the port
number is unavailable. Ignore it just as we do for EADDRINUSE and
continue searching free port number.
Fixes: 98f... -
10:16 AM Revision 498c8e8f (git): [ruby/openssl] pkey: assume generic PKeys contain private components
- The EVP interface cannot tell whether if a pkey contains the private
components or not. Assume it does if it does not respond to #private?.
This fixes the NoMethodError on calling #sign on a generic PKey.
https://github.com/ruby/openssl... -
10:16 AM Revision 1f446406 (git): [ruby/openssl] pkey: refactor #export/#to_pem and #to_der
- Add ossl_pkey_export_traditional() and ossl_pkey_export_spki() helper
functions, and use them. This reduces code duplication.
https://github.com/ruby/openssl/commit/56f0d34d63 -
10:16 AM Revision 707e3d49 (git): [ruby/openssl] pkey: refactor DER/PEM-encoded string parsing code
- Export the flow used by OpenSSL::PKey.read and let the subclasses call
it before attempting other formats.
https://github.com/ruby/openssl/commit/d963d4e276 -
10:16 AM Revision 10d36084 (git): [ruby/openssl] pkey: prefer PKey.read over PKey::RSA.new in docs
- https://github.com/ruby/openssl/commit/cf92a3ffba
-
10:16 AM Revision efad0166 (git): [ruby/openssl] pkey: have PKey.read parse PEM-encoded DHParameter
- Try PEM_read_bio_Parameters(). Only PEM format is supported at the
moment since corresponding d2i_* functions are not provided by OpenSSL.
https://github.com/ruby/openssl/commit/867e5c021b -
10:16 AM Revision c157f6e7 (git): [ruby/openssl] pkey: inline {rsa,dsa,dh,ec}_instance()
- Merge the code into the callers so that the wrapping Ruby object is
allocated before the raw key object is allocated. This prevents possible
memory leak on Ruby object allocation failure, and also reduces the
lines of code.
https://gith... -
10:16 AM Revision 27859c09 (git): [ruby/openssl] pkey: simplify ossl_pkey_new()
- ossl_{rsa,dsa,dh,ec}_new() called from this function are not used
anywhere else. Inline them into pkey_new0() and reduce code
duplication.
https://github.com/ruby/openssl/commit/94aeab2f26 -
10:16 AM Revision 10289e9f (git): [ruby/openssl] config: replace DupConfigPtr() with GetConfig()
- Now that OpenSSL::Config wraps a real CONF object, the caller can just
borrow it rather than creating a new temporary CONF object. CONF object
is usually treated as immutable.
DupConfigPtr() is now removed, and GetConfig() is exported i... -
10:16 AM Revision 22aeb637 (git): [ruby/openssl] config: revert to C implementation of OpenSSL::Config
- Revert OpenSSL::Config to using the OpenSSL API and remove our own
parser implementation for the config file syntax.
OpenSSL::Config now wraps a CONF object. Accessor methods deal with the
object directly rather than Ruby-level internal... -
10:16 AM Revision 7c13d2b3 (git): [ruby/openssl] test/openssl/test_config: skip test_get_value_ENV on LibreSSL
- LibreSSL has removed the feature to map environment variables onto the
"ENV" section.
https://github.com/ruby/openssl/commit/b70817faec -
10:16 AM Revision 0c667846 (git): [ruby/openssl] test/openssl/test_config: fix non-deterministic test case
- Sort keys of a section before comparing. The ordering is not part of the
API. This can cause a test failure if we use OpenSSL's C implementation.
Fixes: 2ad65b5f673f ("config: support .include directive", 2018-08-16)
https://github.com... -
10:16 AM Revision ffc01afc (git): [ruby/openssl] test/openssl/test_config: add missing test case for Config.parse_config
- https://github.com/ruby/openssl/commit/9ce2ccf36d
-
10:16 AM Revision 67f5847c (git): [ruby/openssl] config: remove deprecated methods
- Remove 4 deprecated methods.
The following two methods have been marked as deprecated since 2003,
by r4531 (ruby.git commit 78ff3833fb67c8005a9b851037e74b3eea940aa3).
- OpenSSL::Config#value
- OpenSSL::Config#section
Other two metho... - 10:16 AM Revision 4d8bce22 (git): [ruby/openssl] Define Cipher #ccm_data_len= for CCM mode ciphers
- Allow specifying just length to #update
CCM mode ciphers need to specify the total plaintext or ciphertext
length to EVP_CipherUpdate.
Update the link to the tests file
Define Cipher#ccm_data_len= for CCM mode ciphers
Add a unit test... -
06:47 AM Revision fad3412d (git): [ruby/rdoc] Get rid of a trailing space
- https://github.com/ruby/rdoc/commit/7b7b91768e
-
06:47 AM Revision ff9a0088 (git): [ruby/rdoc] Suppress unused variable warning of "text"
- https://github.com/ruby/rdoc/commit/3a4120b155
-
06:47 AM Revision 61a29a41 (git): [ruby/rdoc] Allow empty .rdoc_options
- https://github.com/ruby/rdoc/commit/0c8cb25b50
-
06:47 AM Revision 971a0cd2 (git): [ruby/rdoc] Allow partial default values to be overridden with .rdoc_options
- https://github.com/ruby/rdoc/commit/e14800891f
-
06:47 AM Revision de8e6218 (git): [ruby/rdoc] Fixed CodeFence without blank lines
- Currently a fenced code block needs a preceding blank line, it
should not be required, as:
https://github.github.com/gfm/#fenced-code-blocks
> A fenced code block may interrupt a paragraph, and does not
> ...
Just recommended:
https://do... -
06:47 AM Revision 10b08206 (git): [ruby/rdoc] Add table style
- https://github.com/ruby/rdoc/commit/2219c5ae80
-
06:47 AM Revision 3651f678 (git): [ruby/rdoc] Support GFM table
- https://github.com/ruby/rdoc/commit/9dc933df16
- 06:47 AM Revision 05898c5b (git): [ruby/rdoc] Update Rdoc.css sidebar panel.
- Updates css so the sidebar look like a panel instead of looking like chopped edges.
https://github.com/ruby/rdoc/commit/b0098c6d72 -
05:07 AM Revision 31b19ba8 (git): Fix a link [ci skip]
-
02:59 AM Bug #16996: Hash should avoid doing unnecessary rehash
- @knu I propose to modify it slightly in https://github.com/ruby/ruby/pull/4272
-
02:00 AM Bug #17723: autoconf 2.70+ is not working with master branch
- Regardless whether it depends on automake or not, it would be great to have `autogen.sh`. I'm used to `autoconf`, and I have never heard `autoreconf -i` until this issue. Also, I had to change RubyCI code to support the new build process...
03/15/2021
-
11:50 PM Feature #13820: Add a nil coalescing operator
- This would cut down on a lot of bugs dealing with lazy initialization of values where `false` is valid and needs to be remembered:
```
# hammers on the expensive determination method if it returns false
def should_dosomething?
@s... -
11:31 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
- I forgot another place I use `--disable-gems`. I think RubyGems does lots of IO at startup, and IO is extremely slow on my Raspberry PI. I'm using Ruby on Raspberry PI for some IoT stuff around my house and I use `--disable-gems` in th...
-
10:23 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
- Another use case: Bundler's `--standalone` mode knows all gem directories and doesn't need to load either RubyGems or Bundler, which can save quite some time on application startup.
It seems a shame if it would still load RubyGems needle... -
05:56 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
- I also have a use case where I use `--disable-gems` for performance. I maintain a tool that provides some shell hooks in ruby, and any slow down in getting to a prompt is incredibly noticeable.
-
05:41 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
- I like using `--disable-gems` for scripts that need to be fast. For example, I call `ruby` from Vim to get some information about the Ruby environment:
```
" Add stdlib of environment's ruby to path
let g:stdlib = system('ruby --dis... -
11:15 PM Feature #17674 (Closed): Proposal: `Method#source_location` or `Method#owner` for refined methods
-
10:37 PM Feature #17674: Proposal: `Method#source_location` or `Method#owner` for refined methods
- xtkoba (Tee KOBAYASHI) wrote in #note-3:
> The example code in #note-2 does not seem to refine `Range#cover?`. This method is defined natively in `range.c`, and so the behavior is expected (`Method#source_location` should return `nil`).... -
08:37 PM Feature #17718: a method paramaters object that can be pattern matched against
- the ArgumentError can be raised manually when going to raise an Exception anyway
@nobu the problem i see there right now if rest keywords should include default param / null.
because the pattern matching above only cares about the ... -
01:28 PM Feature #17718: a method paramaters object that can be pattern matched against
- Hanmac (Hans Mackowiak) wrote in #note-2:
> you want `**args`
I guess that the point is the keywords are checked, that is `get_perdiem(nation: "usa")` will raise an `ArgumentError`.
I think there was a proposal for a similar conce... -
08:08 AM Feature #17718: a method paramaters object that can be pattern matched against
- you want `**args`
```ruby
def getParam(**args)
case args
in {zip: zip}
p "zip"
in {state: s, city: c}
p "state+city"
in { state: s}
p "state"
else
raise 'need combination of zip, city, state'
end... -
04:24 PM Misc #17662: The heredoc pattern used in tests does not syntax highlight correctly in many editors
- Great for Github!
FWIW, both VS Code and Sublime Text get very confused by this pattern. -
08:10 AM Misc #17662: The heredoc pattern used in tests does not syntax highlight correctly in many editors
- mame (Yusuke Endoh) wrote in #note-9:
> I investigated the syntax highlighting behavior of GitHub. They does not correctly support an empty heredoc in an indent:
> ...
Wow, it looks like that GitHub fixed the issue. The code is now col... - 04:15 PM Revision ff5ff75c (git): * 2021-03-16 [ci skip]
-
04:15 PM Revision b346935c (git): Copy only generated parser files when RDoc syncs
-
01:36 PM Revision 18a3bf5a (git): NEWS of [Feature #12194] [ci skip]
-
09:35 AM Bug #17354: Module#const_source_location is misleading for constants awaiting autoload
- I think that the current behavior is the most flexible.
1. If we want to check if a constant is set as autoload (and not actually loaded), we can use `Module#autoload?`.
2. If we want to identify where a constant is set as autoload, ... -
06:22 AM Bug #17585 (Closed): DWARF5 support?
- Applied in changeset commit:git|9e5105ca451d6d38eb2d03a2ffc904074f0333b9.
----------
Support GCC's DWARF 5 [Bug #17585] (#4240)
Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com> -
06:22 AM Revision 9e5105ca (git): Support GCC's DWARF 5 [Bug #17585] (#4240)
- Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
-
06:12 AM Feature #17610 (Closed): [PATCH] Reduce RubyVM::InstructionSequence.load_from_binary allocations
- merged commit:ef88225886dd4ceecae07ddd22108ef4da542396
sorry i couldn't review. -
06:11 AM Feature #12194 (Closed): File.dirname optional parameter
- Applied in changeset commit:git|82b6f89283042b670975f3f7986432647101984e.
----------
File.dirname optional level
* file.c (rb_file_dirname_n): chomp N level of base names.
[Feature #12194] -
06:08 AM Feature #12194: File.dirname optional parameter
- Matz has already accepted this proposal at the previous meeting.
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210216Japan.md#feature-12194-filedirname-optional-parameter-nobu -
06:10 AM Feature #17548: Need simple way to include symlink directories in Dir.glob
- zsh uses `***` as a wildcard that expands symlinks. And matz accepted `***`. Maybe nobu will implement it.
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210216Japan.md#feature-17548-need-simple-way-to-include-... -
06:09 AM Revision 82b6f892 (git): File.dirname optional level
- * file.c (rb_file_dirname_n): chomp N level of base names.
[Feature #12194] -
05:25 AM Bug #16996: Hash should avoid doing unnecessary rehash
- I think I can just drop the spec in test_set.rb, if it is blocking this.
-
04:45 AM Bug #17723: autoconf 2.70+ is not working with master branch
- I'm okay to change the official instructions to `autoreconf -i` instead of `autoconf`. But I'm not sure that `autoreconf -i` needs `automake`.
I will update the usage of `autoconf` of `ruby-build` to it after investigating the minimum... -
03:55 AM Bug #17723: autoconf 2.70+ is not working with master branch
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> `autoreconf` seems to need `automake`.
Not really. It runs `aclocal`, and that's because our `aclocal.m4` was generated using it.
https://github.com/autotools-mirror/autoconf/blob/30034... -
03:41 AM Bug #17723: autoconf 2.70+ is not working with master branch
- `autoreconf` seems to need `automake`.
-
03:32 AM Bug #17723: autoconf 2.70+ is not working with master branch
- I guess running `autoreconf` instead of `autoconf` fixes the situation. Test code: https://github.com/shyouhei/docker-library/blob/master/%2317723/Dockerfile
-
02:44 AM Bug #17723: autoconf 2.70+ is not working with master branch
- @znz I don't understand why you suddenly start talking about automake. Can't you focus on fixing the bug?
-
02:31 AM Bug #17723: autoconf 2.70+ is not working with master branch
- How about adding wrapper script `autogen.sh` that download required files (config.guess, ...) and run `autoconf`.
This solution does not depend automake now, and it can use automake for future when needed. -
04:19 AM Bug #11335 (Closed): `ruby -r debug` catchpoint problem
- I'm rewriting lib/debug.rb with TracePoint.
And I close this ticket because it is too old.
Ruby 3.1 will have better debugger by default :)
-
02:57 AM Feature #17724: Make the pin operator support instance/class/global variables
- Agreed. Ideally instance variable would be allowed, no?
-
01:40 AM Feature #17724 (Closed): Make the pin operator support instance/class/global variables
- When I use pattern match with instance variables, I get an error message like "expecting local variable or method"
``` ruby
@n = 1
case 1
in ^@n
# ...
end
#=> syntax error, unexpected instance variable, expecting local variabl... -
01:55 AM Misc #17641 (Closed): pocke should have a commit bit
- :tada:
-
01:20 AM Bug #16376 (Closed): Stack-buffer-overflow in renumber_by_map in regcomp.c
- Applied in changeset commit:git|0846c2da457e7523819236ac7da492029b3ef73d.
----------
Check backref number buffer overrun [Bug #16376] - 01:18 AM Revision ba9de878 (git): * 2021-03-15 [ci skip]
-
01:17 AM Revision 0846c2da (git): Check backref number buffer overrun [Bug #16376]
03/14/2021
-
11:45 PM Bug #17723 (Closed): autoconf 2.70+ is not working with master branch
- MacPorts upgraded the version of autoconf to 2.71 recently. On macOS environment with MacPorts is broken now.
http://rubyci.s3.amazonaws.com/osx1100arm/ruby-master/log/20210314T214503Z.fail.html.gz
-
03:00 PM Bug #17722 (Closed): define_method with shareable results in "defined in a different Ractor"
- Testing against latest master, and expectinng [this](https://bugs.ruby-lang.org/issues/17159?tab=history) to already be handled, I nonetheless found a weird case, for which I managed to build a short reproduction.
```ruby
class A
... -
02:06 PM Bug #16376: Stack-buffer-overflow in renumber_by_map in regcomp.c
- Though the example might be pathological, causing segfaults is not nice.
I wrote a patch to make `renumber_by_map` (and `renumber_node_backref`) check the size of the array `map` before accessing its element.
The behavior after the... -
01:37 PM Bug #17645: `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
- ruby_3_0 ff2ea4daeb795ebb3d0afa8c57d86a4af9757e50 merged revision(s) 2a6bfd22468343003463e0cbf91953a01b0dbba5,3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f.
-
11:13 AM Bug #17645 (Closed): `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
- Applied in changeset commit:git|3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f.
----------
Explicitly cast __s64 to time_t [Bug #17645]
A workaround of shorten-64-to-32 error where 32-bit linux. -
12:30 PM Revision ff2ea4da (git): merge revision(s) 2a6bfd22468343003463e0cbf91953a01b0dbba5,3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f: [Backport #17645]
- Properly convert time_t [Bug #17645]
---
thread_sync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Explicitly cast __s64 to time_t [Bug #17645]
A workaround of shorten-64-to-32 error ... -
11:18 AM Revision 2a6bfd22 (git): Properly convert time_t [Bug #17645]
-
11:18 AM Revision 8a5a91ee (git): --dont-cuddle-else [ci skip]
- 11:10 AM Revision ce9fb9b2 (git): * 2021-03-14 [ci skip]
-
11:10 AM Revision 3ac28de5 (git): Explicitly cast __s64 to time_t [Bug #17645]
- A workaround of shorten-64-to-32 error where 32-bit linux.
03/13/2021
-
12:50 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
- I think `--disable-gems` is also useful to investigate issues, e.g. RubyGems used to override `Kernel#warn` (fixed in Ruby 3).
It can significantly simplify investigating issues with `require`.
I agree it's not very common to need it for... -
11:02 AM Feature #17684: Remove `--disable-gems` from release version of Ruby
- I'm also using the --disable-gems option. I make games on Ruby but I'm not using gems and since the main audience is Windows, I have to distribute portable Ruby version that HAS to work on any path (including those with accents). I notic...
-
10:53 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
- > > While we have RubyCI, I think we still have a motivation to run a CI on non-x86_64 architectures at a pull-request timing.
> ...
Okay. For the cost of the maintenance, I remember on the ticket #16360 to add ppc64le/s390x, an issue t... -
09:20 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
- > While we have RubyCI, I think we still have a motivation to run a CI on non-x86_64 architectures at a pull-request timing.
Yes, we want non-x86_64 CIs with cheaper (maintenance/money) cost.
PR timing CI is desired rather than cron-... -
09:03 AM Bug #17508: io-console versioning
- ruby_3_0 commit:b20e2c3f2a3ce227b9cf32d2bf02db0ac67eccb5.
-
08:56 AM Bug #17659: Ractor: can't call io/wait methods
- ruby_3_0 e050dd53230cb354e816415f8a937901f79ec395 merged revision(s) f6d5de8f33fe715d939e3e77b8ef73d88bcd6c9f.
-
08:56 AM Revision e050dd53 (git): merge revision(s) f6d5de8f33fe715d939e3e77b8ef73d88bcd6c9f: [Backport #17659]
- [ruby/io-wait] Declare as Ractor-safe
Fixes https://bugs.ruby-lang.org/issues/17659
https://github.com/ruby/io-wait/commit/ba338b4764
---
ext/io/wait/wait.c | 4 ++++
test/io/wait/test... -
08:55 AM Revision b20e2c3f (git): Backport io-console 0.5.7 to Ruby 3.0 (#4252)
- * [ruby/io-console] [DOC] Note that IO#getpass returns a chomped string
IO#getpass uses String#chomp! on the read input line.
https://github.com/ruby/io-console/commit/1e98c93bc8
* [ruby/io-console] Ignore chomp! result and return the... -
08:54 AM Bug #17612: ractor crash with some simple codes
- ruby_3_0 6bf32cbed8f3fd0b73b99737d671f833c594d800 merged revision(s) 63abb5c227e5c20d18d0debf699251da93ca64b5,34d02631e71209b12abb69d0114601027e485bc9,2adbf01ae14c0a4cf190b7c969b91726966a0e0f,3acc81d9e41b18380b9e0168fe2b5e5e0c727256.
-
08:54 AM Bug #17672: Ractor stdio does not belong to the ractor
- ruby_3_0 6f9e007729d53fdbc22e37e52129ea5aa2556d0e merged revision(s) b3c53a8a885be8f5cc2b712798b0d2741c488ce4.
-
08:06 AM Bug #17680: tab completion no longer works on irb3.0
- What is confusing is that the behavior of IRB changes drastically with `readline.so`. I suppose that Ruby 2.5 of the main issue is the case when `readline.so` is installed, and that the rest (Ruby 3.0 of the main issue and Ruby 2.5 of #n...
-
06:44 AM Revision c7e6914b (git): [Doc] Fix multiple `Magic Comments` example
- [ci skip]
-
06:42 AM Feature #17674: Proposal: `Method#source_location` or `Method#owner` for refined methods
- The example code in #note-2 does not seem to refine `Range#cover?`. This method is defined natively in `range.c`, and so the behavior is expected (`Method#source_location` should return `nil`).
-
12:14 AM Revision 07ff1f4b (git): Revert "Extracted AtomicWrite"
- This reverts commit 2148ee78a5bc5e679903f5839c66578bfcf94a39, mistakenly committed.
-
12:11 AM Revision 983f6d0f (git): Moved locking VM to an atomic operation
-
12:10 AM Revision 2148ee78 (git): Extracted AtomicWrite
03/12/2021
-
08:40 PM Bug #17719: Irregular evaluation order in hash literals
- To me the evaluation order of 1->3->2 is a bit unexpected, but it might be OK unless specified otherwise.
IMO, duplicate keys in hash literals should be allowed in a scripting language like Ruby. For example, they are explicitly allow... -
01:05 PM Bug #17719 (Closed): Irregular evaluation order in hash literals
- @mame pointed out an irregular evaluation order example.
```sh
$ ruby -e '{foo:p(1), bar:p(2), foo:p(3)}'
-e:1: warning: key :foo is duplicated and overwritten on line 1
1
3
2
```
It feels like a bug.
https://github.com/nobu... -
08:12 PM Revision 6f9e0077 (git): merge revision(s) b3c53a8a885be8f5cc2b712798b0d2741c488ce4: [Backport #17672]
- Make Ractor stdio belonging to the Ractor [Bug #17672]
Defer making ractor stdio until ractor started.
Before ractor started, created objects belong to the caller ractor
instead of the created ractor.
---... -
08:11 PM Revision 6bf32cbe (git): merge revision(s) 63abb5c227e5c20d18d0debf699251da93ca64b5,34d02631e71209b12abb69d0114601027e485bc9,2adbf01ae14c0a4cf190b7c969b91726966a0e0f,3acc81d9e41b18380b9e0168fe2b5e5e0c727256: [Backport #17612]
- dtoa.c: make compilable independently
Except for `-Dxmalloc=malloc -Dxfree=free`.
---
missing/dtoa.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
dtoa.c: const... - 08:01 PM Revision 7b122b8a (git): * 2021-03-13 [ci skip]
-
08:00 PM Bug #17642: Ractor should not allow "allocate" ("dup")
- ruby_3_0 72c6497453f74f3398130d99fc610922f3995ae5 merged revision(s) 7b9476fbfab738d1eb01b4b4c4af9a1680513019.
-
06:58 PM Feature #17721 (Feedback): Proc.new should be able to contruct a lambda
- since procs and lambdas are of the same type, as long as Proc::new exists, it should be able to create either.
```ruby
class Proc
def augment
self.class.new lambda? do
call
end
end
end
```
-
06:18 PM Feature #17674: Proposal: `Method#source_location` or `Method#owner` for refined methods
- osyo (manga osyo) wrote in #note-1:
> hi.
> ...
Can't confirm:
```ruby
# frozen_string_literal: true
puts RUBY_VERSION
p (1..10).method(:cover?).source_location
```
```
~/Projects/ruby/test/source_location
> ruby test.rb
3.0.0
nil
~/... -
05:50 PM Misc #17720 (Assigned): Cirrus CI to check non-x86_64 architecture cases by own machines
- Hello!
This ticket is related to the tickets #16234 #16360. But I opened a new ticket because it is related to general non-x86_64 architecture CI cases.
I have a suggestion.
I see the `.travis.yml` was removed [1], and I also sa... -
03:36 PM Bug #6120 (Closed): Float and BigDecimal bug in remainder in corner cases
- Applied in changeset commit:git|aaab3b1de943c3317e115d623ffc7908b4c96578.
----------
Fix integer/float remainder with infinity argument of opposite sign
Previously, the result was incorrect:
4.remainder(-Float::INFINITY)
Before: => Na... - 03:35 PM Revision 722e6c1d (git): * 2021-03-13 [ci skip]
-
03:35 PM Revision aaab3b1d (git): Fix integer/float remainder with infinity argument of opposite sign
- Previously, the result was incorrect:
4.remainder(-Float::INFINITY)
Before: => NaN
After: => 4
4.2.remainder(-Float::INFINITY)
Before: => NaN
After: => 4.2
Fixes [Bug #6120] -
01:10 PM Bug #17486 (Closed): Build fails on darwin due to libtool being removed
-
10:28 AM Revision 701001e3 (git): Removed an unused declaration
-
09:15 AM Revision d91ade3e (git): Renamed functions for Fiber singleton methods
-
08:13 AM Revision 90c12def (git): Constified variables for getenv
-
08:07 AM Revision 2ea600f9 (git): Bundle RBS 1.1.1 (#4259)
-
06:51 AM Revision ea39955e (git): Removed a duplicate setting for mingw
- 06:30 AM Revision 0446a339 (git): * 2021-03-12 [ci skip]
-
06:27 AM Revision 6b978d54 (git): Remove .travis.yml
- Reason:
* Recent build is failed.
https://travis-ci.org/github/ruby/ruby/jobs/762561190
* Current configuration uses Ubuntu 16.04 (xenial), whose EOL is Apr 2021.
If someone want to recover Travis CI builds, please fix above two issues. -
02:39 AM Bug #17645: `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
- Yet another solution would be to define `rb_time64_t` for `rb_time_nano_new` (and `rb_time_new`), but may be an overkill.
03/11/2021
-
09:46 PM Feature #17718 (Open): a method paramaters object that can be pattern matched against
- ```ruby
def get_perdiem(city: nil, state: nil, zip:nil)
case parameters_match # (return an object of the parameters we can pattern match on)
in {zip: zip}
find_perdiem_by_zip(zip)
in {state: s, city: c}
find_perd... -
09:38 PM Feature #17685: Marshal format for out of band buffer objects
- On the consumer side, we can Marshal those objects the usual way, which when unserialized will give us a copy of the original object:
b = ZeroCopyByteArray.new("abc".bytes)
data = Marshal.dump(b)
new_b = Marshal.load(data)
puts b =... -
02:52 AM Feature #17685: Marshal format for out of band buffer objects
- Do you want the way to load and dump the memory view metadata of any objects that support exporting their memory view?
Could you please tell me the example use cases you've assumed? -
03:32 PM Revision 72c64974 (git): merge revision(s) 7b9476fbfab738d1eb01b4b4c4af9a1680513019: [Backport #17642]
- Ractor.allocate should not be allowed
Ractor.allocate and Ractor#dup should not be allowed like Thread.
[Bug #17642]
---
bootstraptest/test_ractor.rb | 18 ++++++++++++++++++
ractor.c ... -
11:36 AM Revision 6305d1c6 (git): remove invalidated cc
- if cc is invalidated, cc should be released from iseq.
-
11:34 AM Bug #17636: Race condition in check_rvalue_consistency_force when using ractors
- ruby_3_0 d3863cb2e80f27d26b521b2c957b21feacb900de merged revision(s) 07ab172ebef28bb82c2650694548d123802d6c22.
-
11:34 AM Revision d3863cb2 (git): merge revision(s) 07ab172ebef28bb82c2650694548d123802d6c22: [Backport #17636]
- sync check_rvalue_consistency_force()
check_rvalue_consistency_force() uses is_pointer_to_heap() and
it should be synchronized with other ractors.
[Bug #17636]
---
gc.c | 149 ++++++++++++++++++++... -
11:32 AM Bug #17634: Ractor code gives me malloc(): unaligned fastbin chunk detected
- ruby_3_0 commit:b49264ab7aa92f64a806857d7e81b3f1cbba5585.
-
11:25 AM Bug #17497: Ractor performance issue
- ruby_3_0 de6072a22edbaab3793cf7f976cc9e0118d0df40 merged revision(s) abdc634f64a440afcdc7f23c9757d27aab4db8a9,083c5f08ec4e95c9b75810d46f933928327a5ab3,1ecda213668644d656eb0d60654737482447dd92,813fe4c256f89babebb8ab53821ae5eb6bb138c6.
-
11:24 AM Revision de6072a2 (git): merge revision(s) abdc634f64a440afcdc7f23c9757d27aab4db8a9,083c5f08ec4e95c9b75810d46f933928327a5ab3,1ecda213668644d656eb0d60654737482447dd92,813fe4c256f89babebb8ab53821ae5eb6bb138c6: [Backport #17497]
- remove unused decl
---
internal/vm.h | 6 ------
vm_args.c | 2 --
2 files changed, 8 deletions(-)
Check stack overflow in recursive glob_helper [Bug #17162]
---
dir.c ... -
11:17 AM Bug #17599: [BUG] try to mark T_NONE object when object allocation tracing is enabled
- ruby_3_0 b49264ab7aa92f64a806857d7e81b3f1cbba5585 merged revision(s) 969b824a0c7605e0e570631d967ad0de0c37d0bf,100e464bee46ae71ef048ed85a9bdd012935a3f7.
-
11:06 AM Bug #15852: APPLICATION_VERIFIER_LOCKS_LOCK_IN_FREED_HEAP on exiting ruby
- ruby_3_0 0074ea2d83230e10ab0cd769fff203c13d3c592f merged revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb.
-
12:57 AM Bug #15852: APPLICATION_VERIFIER_LOCKS_LOCK_IN_FREED_HEAP on exiting ruby
- `vm->waitpid_lock` and `vm->workqueue_lock` seem never deleted.
`rb_native_mutex_destroy` on them are disabled by `if (0)` in `rb_vm_gvl_destroy()`, and that function is not called from anywhere too.
I have no idea why these calls are ... -
11:06 AM Revision 0074ea2d (git): merge revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb: [Backport #15852]
- Destroy VM-wise locks before freeing [Bug #15852]
---
thread.c | 7 -------
vm.c | 2 ++
2 files changed, 2 insertions(+), 7 deletions(-) - 08:25 AM Revision 05fa06a4 (git): * 2021-03-11 [ci skip]
-
08:24 AM Revision 04ef602c (git): [rubygems/rubygems] Remote test to check require
- This test was triggering require of `rubygems/core_ext/tcpsocket_init`
which overrides TCPSocket.initialize globally. Requires don't get
reset between test runs and it was making other test unreliable.
Fixes timeout of test on ruby mast... -
08:24 AM Revision 0476ce03 (git): Merge RubyGems-3.2.14 and Bundler-2.2.14
-
08:24 AM Revision 7efc7afc (git): Merge RubyGems-3.2.13 and Bundler-2.2.13
-
08:24 AM Revision 06cd5711 (git): Merge RubyGems-3.2.12 and Bundler-2.2.12
-
08:24 AM Revision f375bc77 (git): Merge RubyGems-3.2.11 and Bundler-2.2.11
-
08:24 AM Revision 38f8b8d0 (git): Merge RubyGems-3.2.10 and Bundler-2.2.10
-
07:57 AM Bug #12666: Fatal error: glibc detected an invalid stdio handle
- Thx a lot!
-
07:31 AM Bug #17645: `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
- I encountered another compilation error of `shorten-64-to-32` for 32-bit musl targets, where `time_t` is 64-bit. A workaround:
```
--- a/thread_sync.c
+++ b/thread_sync.c
@@ -560,7 +560,7 @@ rb_mutex_sleep(VALUE self, VALUE timeout
... -
01:46 AM Revision a6c93a1d (git): Revert "Update bundled_gems"
- This reverts commit b37f60fbd4b18f23e0443ae41b2cd7b991f0e11c.
Because test-bundled-gems failed. -
01:37 AM Misc #17635: DevelopersMeeting20210317Japan
- * [Bug #16608] ConditionVariable#wait should return false when timeout exceeded (jeremyevans0)
* @nobu requested review of this during the developer meeting.
* Is it OK to make ConditionVariable#wait return false if timed out inste... -
12:21 AM Revision a6b5d70b (git): Create the test file under the created temporary directory
- Fixes https://github.com/ruby/ruby/pull/4255
-
12:01 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
- One possible workaround for this is a checking for an immediate loop in `resolve_refined_method`:
```diff
diff --git a/vm_method.c b/vm_method.c
index 2573e708ba..ebfe686a27 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -1245,7 +...