Activity
From 04/09/2021 to 04/15/2021
04/15/2021
-
08:30 PM Bug #17802: backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
- ruby_2_7 67f1cd20bfb97ff6e5a15d27c8ef06cdb97ed37a merged revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730.
-
01:30 AM Bug #17802: backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
- ruby_3_0 d5a34e1b142eccc54971494be2243a0c6ac01d94 merged revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730.
- 08:30 PM Revision 67f1cd20 (git): merge revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730: [Backport #17802]
- test/drb/test_drb.rb: Specify the host of DRbServer
to try fixing the following error.
http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20210407T063004Z.log.html.gz
```
[ 605/21105] DRbTests:... -
08:10 PM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- https://github.com/ruby/ruby/pull/4385
-
07:31 PM Bug #17805: Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
- peterzhu2118 (Peter Zhu) wrote in #note-1:
> Thank you for the report. It's a duplicate of #17780 which has been flagged for backport. In the meantime you can use 2.7.2 or build from the [2.7 branch](https://github.com/ruby/ruby/tree/ru... -
07:30 PM Bug #17805 (Closed): Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
-
07:29 PM Bug #17805: Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
- Thank you for the report. It's a duplicate of #17780 which has been fixed and flagged for backport (so it will land in 2.7.4). In the meantime you can use 2.7.2 or build from the [2.7 branch](https://github.com/ruby/ruby/tree/ruby_2_7) a...
-
06:07 PM Bug #17805 (Closed): Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
- 02:10 PM Revision f1f08f5b (git): Remove useless attribute set in init_mark_stack
- init_mark_stack already clears the mark stack so we do not need to
set the attribute cache_size to zero. -
09:07 AM Revision 26888d5e (git): Workaround for installation failures on macOS
-
06:36 AM Revision 7af7a539 (git): Also merge tool/bundler/*.rb for testing of Bundler
-
06:36 AM Revision 96741765 (git): Merge the master branch of RubyGems
-
06:36 AM Revision ed149dbf (git): Merge the master branch of Bundler
-
06:36 AM Revision 0d9496f9 (git): Restore bundler.gemspec from ruby/ruby repository with sync_default_gems.rb
-
05:55 AM Revision fd978621 (git): mkconfig.rb: Update around SDKROOT
- c.f. https://opensource.apple.com/source/ruby/ruby-145.40.1/patches/tool_mkconfig.rb.diff
* moved to "includedir" from "oldincludedir".
* honor "$(prefix)/include" if exists, otherwise fallback to `xcrun`. -
05:16 AM Bug #17775: Backport to fix build failures
- merged into ruby_3_0
https://github.com/ruby/ruby/commit/6add6014d8626c4e5f6816030ea651321e6aa044
https://github.com/ruby/ruby/commit/ce06c24b0c1fd9a3e74909886b425feb0af50233 -
04:51 AM Revision 31669960 (git): bump up RUBY_PATCHLEVEL
-
04:43 AM Revision ce06c24b (git): merge revision(s) c32375883a6,48bb0329eb3:
- Update for autoconf 2.70
---
configure.ac | 232 +++++++++++++++++------------------
tool/m4/ruby_check_builtin_setjmp.m4 | 8 +-
tool/m4/ruby_check_printf_prefix.m4 | 9 +-
... -
04:43 AM Revision 6add6014 (git): merge revision(s) a3851d97ede:
- Removed unused AC_CHECKING
---
configure.ac | 7 -------
1 file changed, 7 deletions(-) -
04:40 AM Revision df0f60b6 (git): spec/ruby/library/matrix/: Change the version guard to 3.1.0
- [Bug #17521] won't be backported until 3.1.0.
https://github.com/ruby/spec/pull/832 -
03:41 AM Bug #17759: Correct `ioctl_req_t` for musl
- Hi @xtkoba
Are you ineterested in becoming a Ruby commiter?
At least, @nobu and I want you to have a commit bit.
If you don't mind, we will recommend that we add you as a committer. -
03:22 AM Bug #17803: Segmentation fault during deflate
- xtkoba (Tee KOBAYASHI) wrote in #note-2:
> Maybe reproducible by spawning hundreds of threads each of which calls deflate.
Yeah, I could reproduce the issue by the following script.
```
require "zlib"
zd = Zlib::Deflate.new
... -
02:20 AM Bug #17803: Segmentation fault during deflate
- Although I am not sure, this looks like a thread-safety issue. Maybe reproducible by spawning hundreds of threads each of which calls deflate.
-
03:10 AM Bug #17521: [Matrix stdlib] Zero matrix to the power of zero
- Since `matrix` is a gem that can be updated independently from Ruby, I think backports are not required. In addition, this bug is very minor.
-
01:50 AM Bug #17521: [Matrix stdlib] Zero matrix to the power of zero
- Even though nobody filled the Backport field yet, I will set "WONTFIX".
Such a long long standing bug could be thought as an spec, and some application could be depended by current behavior.
usa-san, do you have any opinion?
And the... -
02:14 AM Revision 92545977 (git): [Doc] Add Hash#value? into call-seq (#4293)
-
01:34 AM Bug #17804: Math.cbrt(0.0) returns NaN
- FWIW, that code was introduced by commit commit:c995315153f7403636ec0d6119b7885668b32039.
-
01:17 AM Bug #17804 (Closed): Math.cbrt(0.0) returns NaN
- Math.cbrt(0.0) returns NaN. It should return 0.0.
From reading the implementation, I expect this bug to happen only if glibc is in use. The failing section reads:
#if defined __GLIBC__
if (isfinite(r)) {
r = (2.0 * r + (f / ... -
01:29 AM Bug #17735: `Hash#transform_keys!` drops non evaluated keys
- ruby_3_0 84d9a9afc0b49d095541acb9832f8b12fb506e19 merged revision(s) 31e0382723bfb35cffe3ca485dd0577668cafa07,5e5fb72f99701dc27c66ab148471893f14e6d6f0,fb6ebe55d91187d9635e0183d47dbf38e95b1141,522d4cd32f7727886f4fcbc28ed29c08d361ee20.
-
01:25 AM Revision 84d9a9af (git): merge revision(s) 31e0382723bfb35cffe3ca485dd0577668cafa07,5e5fb72f99701dc27c66ab148471893f14e6d6f0,fb6ebe55d91187d9635e0183d47dbf38e95b1141,522d4cd32f7727886f4fcbc28ed29c08d361ee20: [Backport #17735]
- Keep non evaluated keys in `Hash#transform_keys!` [Bug #17735]
---
hash.c | 6 +++++-
spec/ruby/core/hash/transform_keys_spec.rb | 12 +++++++++++-
test/ruby/test_has... -
12:55 AM Bug #17779: 特定の順序でHashのkeyを削除した場合に Hash#first が遅くなる
- I think this is a performance thing.
If there are any real world application affected by this issue, please let me know. -
12:49 AM Bug #17639: TYPO in define constant
- The fix was already backported at 3e67bfe202d6b410375af990ac806f15cb2df762.
-
12:46 AM Revision d5a34e1b (git): merge revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730: [Backport #17802]
- test/drb/test_drb.rb: Specify the host of DRbServer
to try fixing the following error.
http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20210407T063004Z.log.html.gz
```
[ 605/21105] DRbTests:... -
12:44 AM Revision f057a607 (git): bump teeny version to 3.0.2.
04/14/2021
-
07:16 PM Bug #17801: repeated read from PTY blocks all Fibers
- ioquatix (Samuel Williams) wrote in #note-1:
> Investigating.
Hello Samuel, if found the following:
**A read on a PTY master which is not ready seems to block all fibers.**
I think not ready - means 0 Bytes to read, which can be checked... -
06:28 PM Feature #17790: Have a way to clear a String without resetting its capacity
- > Maybe String#capacity and String#capacity= would make sense?
Using `capacity=` for the method name would set the assumption that the capacity is exactly that after the call. However, with embedded strings, the capacity would be fix... - 05:51 PM Revision d9a52813 (git): * 2021-04-15 [ci skip]
-
05:51 PM Revision b190f6ef (git): [ruby/matrix] Fix a typo in a error message
-
02:34 PM Bug #17803: Segmentation fault during deflate
- You should add this as an issue to the zlib repository: https://github.com/ruby/zlib/issues
However, before doing so, please prepare a minimal self contained example that does not use any third-party C extension gems. -
02:19 PM Bug #17803 (Closed): Segmentation fault during deflate
- Hi there,
I've been running on a lot of crash when using permessage_deflate gem for websocket that uses the zlib deflate method built into ruby.
These happen during C_FUNC :deflate, 3-4 times a day.
This is on my Mac Mini M1. The ... -
07:34 AM Feature #17795: Around `Process.fork` callbacks API
- I updated the description with:
- Added the third hook (after fork in parent) on @ko1's demand.
- Added links to similar feature in C and Python.
- Added pseudo-code of the implementation.
- Added precision about not being ... -
06:06 AM Feature #17795: Around `Process.fork` callbacks API
- For debugger, I also want to use.
I want to use 3 hooks like `pthread_atfork`. -
04:45 AM Bug #6391 (Closed): Segment Fault while execute make_encmake.rb for Ruby 1.9.3 P194 ( MinGW64)
- Ruby 1.9 is EOL today.
-
02:30 AM Bug #17802 (Closed): backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
- ruby_2_7 and ruby_3_0 snapshot test fails during drb test suite.
https://github.com/ruby/actions/actions/runs/745769172
Backporting commit:fbbc37dc1d5b329777e6d9716118db528ab70730 will fix the issue.
(I'm unsure why it doesn't o... -
01:00 AM Feature #17752: Enable -Wundef for C extensions in repository
- Thanks to user:shyouhei's work, we are now able to notice undefined identifiers evaluated in `#if` directives using GCC with `-Wundef`.
I attach an additional patch that fixes undefined identifiers from being evaluated.
Note that t...
04/13/2021
-
10:22 PM Feature #17795: Around `Process.fork` callbacks API
- ~~@mame I'm afraid I don't have the permission to edit my own tickets.~~ Nevermind.
-
04:32 PM Feature #17795: Around `Process.fork` callbacks API
- @byroot I see, thanks! I think that the intended behavior of the proposed APIs is valuable to be explained in the ticket description.
-
03:17 PM Feature #17795: Around `Process.fork` callbacks API
- > what process calls the after_fork hook? Only parent, only child, or both?
The `child`. But I agree that a better naming could be found to avoid that confusion. I don't have an idea just yet, but I'll think about it.
> ...
From th... -
02:46 PM Feature #17795: Around `Process.fork` callbacks API
- > Do people actually fork in the middle of a transaction?
I think the most likely case is if the transaction is unrelated to the fork. Let's say your web backend handles every request inside a transaction. If somewhere in there you fo... -
02:36 PM Feature #17795: Around `Process.fork` callbacks API
- I'd like to make sure: what process calls the `after_fork` hook? Only parent, only child, or both?
In the previous ticket #5446, `atfork_parent` and `atfork_child` were discussed. Is the distinguishment not needed? -
11:16 AM Feature #17795: Around `Process.fork` callbacks API
- @byroot Thanks for the new issue, this seems much clearer than the previous one :)
jeremyevans0 (Jeremy Evans) wrote in #note-5:
> If a library starts using a `before_fork` or `after_fork` hook to close connections automatically, it bre... -
10:52 AM Feature #17795: Around `Process.fork` callbacks API
- @jeremyevans0 I understand your point, and I agree that in an ideal world this wouldn't be necessary.
However pragmatically speaking, `getpid(2)` checks are about as old as `fork(2)`. Even the [`glibc` changelog](https://sourceware.or... -
02:32 AM Feature #17795: Around `Process.fork` callbacks API
- The main issue I see with this is the potential for misuse. If I could be sure this would only be used by applications and not libraries, it seems reasonable. However, I suspect the main usage will be libraries, and it's not really pos...
-
01:32 AM Feature #17795: Around `Process.fork` callbacks API
- Python provides `os.register_at_fork` API for registering callbacks which are called on both before and after fork.
Especially after-fork, it enables to register callbacks for parent and child processes, separately.
See https://docs.py... -
09:30 PM Bug #17800 (Third Party's Issue): Cannot disable SMTP TLS through mail library
- Looks like you are referring to the mail gem, which is not part of Ruby itself: https://github.com/mikel/mail/blob/8fbb17d4d5364c77cc870769d451bc2739b3a8ce/lib/mail/network/delivery_methods/smtp.rb#L112
You could try submitting an iss... -
07:14 PM Bug #17800 (Third Party's Issue): Cannot disable SMTP TLS through mail library
Net::SMTP now defaults to automatic TLS; the **mail** interface hasn't been updated to reflect this. It will turn TLS on or to automatic if requested, but has no way to turn it off if requested, because it assumes that it defaults to o...-
08:05 PM Bug #17801: repeated read from PTY blocks all Fibers
- expected output from script on cli:
date
Di 13 Apr 2021 21:51:20 CEST
test
date
Di 13 Apr 2021 21:51:21 CEST
test
-
07:51 PM Bug #17801: repeated read from PTY blocks all Fibers
- Investigating.
-
07:31 PM Bug #17801 (Closed): repeated read from PTY blocks all Fibers
- Ruby version:
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
used Scheduler:
https://github.com/ruby/ruby/blob/master/test/fiber/scheduler.rb
Example Code which should work:
```
require 'pty'
require "./sched... -
07:10 PM Bug #17799: Seg fault in rb_class_clear_method_cache
- My explanation in #note-1 is partly incorrect. What is wrongfully 0 is the value of the class itself, not the class serial.
-
06:49 PM Bug #17799: Seg fault in rb_class_clear_method_cache
- My observation is that the function rb_class_clear_method_cache is called with argument klass=0, which clearly causes a null pointer dereference at vm_method.c:66. There seems to be a bug in other place of the code (including third-party...
-
05:28 PM Bug #17799 (Feedback): Seg fault in rb_class_clear_method_cache
- Recently our CI tests have been intermittently failing with segmentation faults at random points, such as:
```
/builds/gitlab-org/security/gitlab/spec/support/shared_examples/requests/api/issues/merge_requests_count_shared_examples.r... -
04:35 PM Feature #17753: Add Module#namespace
- BTW, you all know AS has this concept right? https://github.com/rails/rails/blob/f1e00f00295eb51a64a3008c7b1f4c4f46e902e3/activesupport/lib/active_support/core_ext/module/introspection.rb#L20-L37
We say "according to its name", have the... -
11:50 AM Feature #17753: Add Module#namespace
- The lexical parent module happens to be just the object from which you set the name, which does not even reflect the scope/nesting at assignment time (as you know):
```ruby
module A::B
module X::Y
class C
name # => "X::Y::C"... -
10:57 AM Feature #17753: Add Module#namespace
- I see, the name `namespace` is what we're disagreeing on.
Maybe you have another suggestion for the name of that method?
Maybe `outer_module`/`outer_scope` would work too, but I feel `namespace` is nicer.
All these 3 names imply som... -
10:01 AM Feature #17753: Add Module#namespace
- Oh, let me say something explicitly: You guys are Ruby committers, you are the ones that have the vision for what makes sense in the language.
I am raising a flag because this does not square to me, and makes me feel it is introducing... -
09:46 AM Feature #17753: Add Module#namespace
- To me, the ability of a namespace being namespace of itself
```ruby
m = Module.new
m::M = m
```
is one clear indicator that the name is not quite right. That is not the kind of property you expect a namespace to have. And it is not qui... -
09:37 AM Feature #17753: Add Module#namespace
- BTW, we were discussing yesterday with Aaron that the flag I am raising is about the name `namespace`. What we are defining given a class object is:
1. If the class object is anonymous, return `nil`.
2. Otherwise, it was assigned to a c... -
09:29 AM Feature #17753: Add Module#namespace
- > It's also a way to inform the user where that constant lives. The contents of the string have meaning.
The numerous people that have had to deal with stale objects in Rails for years know that is not entirely true. The class objects h... -
03:07 PM Misc #17734: DevelopersMeeting20210416Japan
- * [Feature #17016] Add `Enumerable#accumulate` (parkerfinch)
* Is the name `#accumulate` acceptable?
* Is this feature ok to add? -
02:51 PM Feature #17016: Enumerable#accumulate
- I like `#accumulate`, and thank you @nobu for an implementation [here](https://github.com/ruby/ruby/pull/3361)!
Is there anything I can do to help us come to a decision on this one? -
02:30 PM Feature #5446 (Closed): at_fork callback API
- byroot (Jean Boussier) wrote in #note-52:
> @mame I created https://bugs.ruby-lang.org/issues/17795, let me know if it makes sense to you, in which case I'll update my developer meeting request.
Thank you, it is very clear!
I'm cl... - 01:37 PM Revision 4eefb057 (git): Add RSymbol struct back into RVALUE
- Commit 0ca714fa1aa3fbe4fb60ae1e5b730e544dabc27b removed RSymbol from
RVALUE. This commit adds RSymbol back into RVALUE. -
01:37 PM Feature #17798 (Closed): exception in finalizer
- https://docs.ruby-lang.org/ja/latest/method/ObjectSpace/m/define_finalizer.html に
> proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。これは、スクリプトのメイン処理が GC の発生によって非同期に中断されるのを防ぐためです。不安なうちは -d オプションで事前に例外の発生の有無を確認しておいた方が良いでしょう。
とありますが、メインスレッド以外のスレッド... -
12:50 PM Feature #17752: Enable -Wundef for C extensions in repository
- @xtkoba Your 4 patches look good to me, could you commit them?
-
05:50 AM Revision 393923b5 (git): Inline LONG_LONG conversions
- Not only NUM2LL, also LL2NUM, ULL2NUM and NUM2ULL.
-
05:30 AM Revision f8e1bf28 (git): workaround MSVC error
- Previous code failed to compile on MSVC. Log:
https://github.com/ruby/ruby/pull/4371/checks?check_run_id=2304484466
This is possibly due to the fact that:
1. `Data_Wrap_Struct(...)` appears in a source code
2. which expands to `rb_data... -
05:30 AM Revision 6413dc27 (git): dependency updates
-
05:30 AM Revision f411fcd1 (git): get rid of #pragma GCC diagnostic ignored "-Wundef"
- Use of TOKEN_PASTE was a bad idea at the first place. Just use ##
everywhere. Nobody practically lacks token pasting. - 04:12 AM Revision 6878d517 (git): * 2021-04-13 [ci skip]
-
03:49 AM Feature #17797: MIPS support for addr2line.c
- Could you please commit it yourself?
-
02:59 AM Feature #17797 (Open): MIPS support for addr2line.c
- In MIPS ELF, DWARF sections are of type `MIPS_DWARF`, not `PROGBITS`.
The attached patch modifies `addr2line.c` so that it prints file:lineno information correctly for MIPS ELF. -
03:05 AM Revision 12f7ba5e (git): Make String#crypt ractor-safe
04/12/2021
-
05:29 PM Feature #17753: Add Module#namespace
- I think those edge cases are pretty rare.
Module#namespace would refer to the lexical parent when the module is created (with `module Name`) or when first assigned to a constant (`Name = Module.new`).
The first example of https://bug... -
03:28 PM Feature #17753: Add Module#namespace
- > Yes, c.name is "X::C", but as I said above, that is just a string.
It's also a way to inform the user where that constant lives. The contents of the string have meaning.
> ...
This would work if I could trust the `name` method o... -
05:07 PM Bug #17796 (Third Party's Issue): ruby does not compile with openssl-alpha14
- Yes. Work for this is being tracked at: https://github.com/ruby/openssl/issues/369
-
04:46 PM Bug #17796: ruby does not compile with openssl-alpha14
- This is probably a duplicate of #17628.
-
04:42 PM Bug #17796 (Third Party's Issue): ruby does not compile with openssl-alpha14
- ruby does not compile with openssl-alpha14
make[2]: Entering directory '/usr/src/photon/BUILD/ruby-2.7.1/ext/-test-/array/resize'
In file included from ../.././include/ruby.h:33,
from ossl.h:16,
fr... -
02:59 PM Feature #17795: Around `Process.fork` callbacks API
- byroot (Jean Boussier) wrote in #note-2:
> > Afaik the proper way to do this is to close the connection after the fork.
> ...
It seems quite easy to demonstrate otherwise:
```ruby
# with Sequel and mysql2
DB["select rand()"].first... -
02:12 PM Feature #17795: Around `Process.fork` callbacks API
- > Afaik the proper way to do this is to close the connection after the fork.
No before. Otherwise the connection is "shared" and closing it in the children cause issues for the connections in the parent.
> ...
Maybe your glibc is q... -
01:24 PM Feature #17795: Around `Process.fork` callbacks API
- > Most database clients, ORMs or other libraries keeping a connection pool might need to close connections before the fork happens.
Am I missing something? Afaik the proper way to do this is to close the connection _after_ the fork. O... -
08:09 AM Feature #17795 (Closed): Around `Process.fork` callbacks API
- Replaces: https://bugs.ruby-lang.org/issues/5446
### Context
Ruby code in production is very often running in a forking setup (puma, unicorn, etc), and it is common some types of libraries to need to know when the Ruby process was ... -
01:47 PM Revision df7efdcb (git): Get rid of LONG_LONG redefinition
-
08:09 AM Feature #5446: at_fork callback API
- @mame I created https://bugs.ruby-lang.org/issues/17795, let me know if it makes sense to you, in which case I'll update my developer meeting request.
-
07:52 AM Feature #5446: at_fork callback API
- byroot (Jean Boussier) wrote in #note-50:
> @mame I'll do it.
Thanks! -
06:52 AM Feature #5446: at_fork callback API
- @mame I'll do it.
-
05:30 AM Feature #5446: at_fork callback API
- Can anyone summarize the latest proposal? I cannot understand what is needed precisely. I'm afraid if some people see only the name "at_fork", and do not share the context.
What event should be hooked? Only a call to Kernel#fork and P... -
06:58 AM Bug #17793 (Closed): `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- Applied in changeset commit:git|a5688b5ce6e87a5b881a4d52d4e59b6fe807e807.
----------
Support non-standard `struct stat` [Bug #17793]
On 32-bit Android:
* `st_dev`/`st_rdev` are not `dev_t`
* `st_mode` is not `mode_t` -
06:56 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- With the patch in #note-6 applied, `file.c` is compiled without any error or warning (including `-Wundef`) for armv7a- and aarch64-android.
-
06:36 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- Patch updated.
-
06:00 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- It makes no difference because neither `SIZEOF_DEVT` nor `SIZEOF_DEV_T` is defined on Android (both for 32- and 64-bit). Is this as expected?
For armv7a-android16:
```
$ clang (...snip...) -o file.o -c ../file.c -Wundef
../file.c:5... -
05:48 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- All `SIZEOF_DEVT` were typo.
-
05:30 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- Sorry, the second patch had a typo, `SIZEOF_DEVT` should be `SIZEOF_DEV_T`.
Is it fine? -
04:55 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- user:nobu Thanks, it builds for armv7a-android without error or format warning.
-
03:53 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- Do these work?
```diff
diff --git i/configure.ac w/configure.ac
index 6fe43bfc8dd..f08597a007c 100644
--- i/configure.ac
+++ w/configure.ac
@@ -1703,6 +1703,10 @@ AS_IF([test "$ac_cv_member_struct_stat_st_blocks" = yes], [
RUBY_CHE... - 06:58 AM Revision 59171378 (git): * 2021-04-12 [ci skip]
-
06:32 AM Revision a5688b5c (git): Support non-standard `struct stat` [Bug #17793]
- On 32-bit Android:
* `st_dev`/`st_rdev` are not `dev_t`
* `st_mode` is not `mode_t` -
04:23 AM Bug #17794 (Closed): addr2line.c can free(3) an invalid pointer without zlib
- When built without zlib (`./configure ac_cv_lib_z_uncompress=no`), `ruby` aborts immediately after C level backtrace information is printed.
```
$ ruby -e 'Process.kill :SEGV, $$'
-e:1: [BUG] Segmentation fault at 0x000003e8000052ac... -
01:29 AM Feature #17790: Have a way to clear a String without resetting its capacity
- What about `buffer.clear(capacity: 1024)`
Or maybe even `buffer.clear(capacity: 1024..8192)`
I think that's more straightforward than separate `clear` and `resize` operations.
04/11/2021
-
05:39 PM Bug #17793 (Closed): `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
- [Here is a failure log for armv7a-android from CI.](http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-armv7a-android30/log/20210411T143751Z.fail.html.gz)
This failure is because `struct stat` for 32-bit Android is defined as f... -
01:02 PM Bug #16651 (Closed): Extensions Do Not Compile on Mingw64 with mingw32-make
- Applied in changeset commit:git|799ea1d1540aca03542ee31647052343507a4b41.
----------
mkmf.rb: convert also arch_hdrdir [Bug #16651] -
01:02 PM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- MinGW on MSys build is cross compilation.
No reason to use `mingw32-make`, which isn't for the build OS. -
12:59 PM Revision 799ea1d1 (git): mkmf.rb: convert also arch_hdrdir [Bug #16651]
-
10:14 AM Bug #17779 (Closed): 特定の順序でHashのkeyを削除した場合に Hash#first が遅くなる
- Applied in changeset commit:git|9f9045123efefbd11dd397b4d59596290765feec.
----------
st.c: skip all deleted entries [Bug #17779]
Update the start entry skipping all already deleted entries.
Fixes performance issue of `Hash#first` in a ... -
10:05 AM Revision 9f904512 (git): st.c: skip all deleted entries [Bug #17779]
- Update the start entry skipping all already deleted entries.
Fixes performance issue of `Hash#first` in a certain case. -
07:08 AM Feature #17724 (Assigned): Make the pin operator support instance/class/global variables
-
04:21 AM Revision 60bdf03b (git): [DOC] Adjusted spacing [ci skip]
-
04:18 AM Revision 37b96d67 (git): sync_default_gems.rb: merge only files named as each gem
-
01:40 AM Feature #17786: Proposal: new "ends" keyword
- jzakiya (Jabari Zakiya) wrote in #note-13:
> The examples I provided show the intent of what its use is for, which is to provide one termination point for a string of consecutive ``end`` statements, and nothing more.
We understand yo... -
12:59 AM Revision dbdd8c2d (git): sync_default_gems.rb: ignore rakelib [ci skip]
-
12:06 AM Revision ec015878 (git): Revert "[ruby/optparse] No document in rakelib" [ci skip]
- This reverts commit bd7430c7aacd135419609eec72e3889cd00a6f73.
No rakelib in ruby itself. -
12:03 AM Revision f8948696 (git): [ruby/optparse] Moved rdoc files to doc/optparse
- https://github.com/ruby/optparse/commit/cccb28e0de
04/10/2021
-
11:52 PM Revision cb01437c (git): [ruby/optparse] Fix relative paths
- https://github.com/ruby/optparse/commit/8be031b539
-
11:52 PM Revision bd7430c7 (git): [ruby/optparse] No document in rakelib
- https://github.com/ruby/optparse/commit/4ff48f24c9
-
11:52 PM Revision 1bad4bdf (git): [ruby/optparse] More on tutorial (#16)
- - Added example in "Argument Converters"; it doesn't seem right for a tutorial to have no example in one of its topics (and instead just linking elsewhere).
- Added section "Command-Line Abbreviations."
- Added section "Keyword Arg... -
11:52 PM Revision ff0dac18 (git): [ruby/optparse] Rdoc (#15)
- * Resolve shared mixed_names.rb
* Add long option with negation
* Show --help for all examples
* Table of contents for tutorial
* Move argument converters to separate rdoc
* Add references to argument_converters.rdoc
* Tune up argu... -
11:52 PM Revision c795f30e (git): [ruby/optparse] Reorganize Ruby example files for sharing (#14)
- https://github.com/ruby/optparse/commit/9a2352c1c9
- 11:40 PM Revision 97abd0f6 (git): * 2021-04-11 [ci skip]
-
11:37 PM Revision f60fba03 (git): Make sure to mention ext/Setup is optional
- This step confused me when trying to compile Ruby after 5 years, so it
should be avoided unless you need static linking. -
08:45 PM Feature #17753: Add Module#namespace
- Also, in case my comments above are too generic, let's take the use case in the description of the ticket:
> I can do A::B::C.outer_scope.constants to find the list of "sibling" constants to C.
Let's consider
```ruby
module A
module... -
10:54 AM Feature #17753: Add Module#namespace
- Let me add some edge cases that are possible, also for the archives:
```ruby
module M
module N
end
end
M::N.namespace # => A::B::C, constant M stores the same object as A::B::C
```
```ruby
M.namespace # => M, module is namespace ... -
10:35 AM Feature #17753: Add Module#namespace
- I like the direction this is going towards, however, let me record some remarks for the archives.
Java has namespaces. Ruby does NOT have namespaces. That first sentence in the module docs, also present in books, is a super naive entry ... -
08:17 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
- The test code took almost two minutes to run, and it failed:
```
# TEST RESULTS:
pi> ruby test.rb
:foo
test.rb:13:in `copy_stream': Interrupt
from test.rb:13:in `<main>'
# LINE 13: IO.copy_stream(r1, w2) rescue nil
# TEST CODE:
at_e... -
07:56 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
- The test code at [bootstraptest/test_io.rb:87](https://github.com/ruby/ruby/blob/0fb782ee38ea37fd5fe8b1f775f8ad866a82a3f0/bootstraptest/test_io.rb#L87) is as follows. Try running it separately and see what happens.
```ruby
at_exit { ... -
05:48 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
- Another FYI: The RaspberryPI 4B uses a microSD card (class 10) for the OS and all installed software. I was building Ruby on a 32GB version of this card.
The I/O on a microSD card is much slower than on a 5400 RPM HD, and much, much ... -
06:28 AM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
- Sorry for a less informative reply, but Ruby is not yet tested well with 64 bit Raspberry Pi. I have no environment to reproduce the issue. Contribution is welcome.
I see a similar random failure on our CI (raspbian10-aarch64, still b... -
04:41 AM Bug #17792 (Open): make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
- I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.
This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes d... -
05:04 PM Feature #17785: Allow named parameters to be keywords
- My main objection to `local_variable_get` is that it's super verbose / ugly.
> How would you handle `foo(class_, class:)?`
Setting local `class_` would not happen here. It would only happen if not shadowing an existing variable (ex... -
07:47 AM Feature #17785: Allow named parameters to be keywords
- > the number of keywords is very low, which means that the cases where using a keyword as an argument name makes sense is also very low.
Variable and keyword names are not purely random though, so I don't think this statistical reason... -
03:20 AM Feature #17785: Allow named parameters to be keywords
- duerst (Martin Dürst) wrote in #note-7:
> What about finding something in between the two? E.g. even just introducing `variable_get` as an alias to `binding.local_variable_get` would make this easier to use. And if this really needs opti... -
12:06 AM Feature #17785: Allow named parameters to be keywords
- I think it's not a good idea to introduce special syntax such as `class_` just for the case where arguments are named with keywords. First, the number of keywords is very low, which means that the cases where using a keyword as an argume...
-
03:55 PM Feature #17786: Proposal: new "ends" keyword
- > Please focus on the intent and purpose, and not semantics.
But we have to decide what the semantics will be in order to specify and implement it! The point of this issue tracker is to debate semantics of proposals.
> ...
Currentl... -
03:43 PM Feature #17786: Proposal: new "ends" keyword
- The examples I provided show the intent of what its use is for, which is to provide one termination point for a string of consecutive ``end`` statements, and nothing more.
Python|Nim show they can do this, using whitespace|indentation... -
03:17 PM Feature #17790: Have a way to clear a String without resetting its capacity
- > My feeling is handling the capacity in Ruby code feels wrong and like C++ code.
This is really meant for the few low level places where it matters. For context this came up when trying to optimize a StatsD client, which is quite a hot... -
09:33 AM Feature #17790: Have a way to clear a String without resetting its capacity
- I think `clear(shrink: true/false)` would be fine to add.
I'm not sure if it's really needed in practice though. -
09:28 AM Feature #17790: Have a way to clear a String without resetting its capacity
- byroot (Jean Boussier) wrote in #note-6:
> Maybe `String#capacity` and `String#capacity=` would make sense? But then there's the question of the behavior if you set the capacity to lower than the `size`. Should it truncate? (this could ... -
07:05 AM Bug #17787 (Closed): Four AIX build issues with xlc compiler and ruby-3.0.1
- Applied in changeset commit:git|3a3033c138c0951ad5edbf02b5c233b58a190d2f.
----------
get rid of using `__builtin_unreachable` directly [Bug #17787]
As it is an independent feature from `clz`, `ctz` and `popcount`,
it might be unavailab... -
06:58 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
- Those work fine, applied here:
https://github.com/chef/omnibus-software/pull/1328/files#diff-a57a53cdb786ca02b297de88fce6855e7928fc0ff4f7e022d0f22185955da1ea
I ditched all my old patches, combined yours with the existing fdeclspec ... -
07:05 AM Revision 4a6c7f86 (git): configure: always check for atomic/sync builtins [Bug #17787]
- Non-gcc compilers tend to have this intrinsic these days, e.g. xlc
has `__sync` builtins. -
07:05 AM Revision 8b7cab70 (git): configure: try `-fdeclspec` option by linking [Bug #17787]
- A workaround for `-f` option of AIX xlc compiler which works only
on linking. -
07:05 AM Revision c569c298 (git): just redirect preprocessed vm.c to mjit header [Bug #17787]
- Not all preprocessors work with output option.
-
07:05 AM Revision 3a3033c1 (git): get rid of using `__builtin_unreachable` directly [Bug #17787]
- As it is an independent feature from `clz`, `ctz` and `popcount`,
it might be unavailable even if the latters are built in. -
06:18 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- Building io-console with 2.7.2 from RubyInstaller:
```console
$ ruby -v ../src/ext/io/console/extconf.rb
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]
checking for HAVE_RUBY_FIBER_SCHEDULER_H... no
checking for rb_schedul... -
06:06 AM Bug #17791 (Third Party's Issue): Ractor exception when using Nokogiri
-
03:51 AM Bug #17791 (Rejected): Ractor exception when using Nokogiri
- Based on @xtkoba's analysis, closing as this doesn't appear to be a bug in Ruby.
-
12:40 AM Bug #17791: Ractor exception when using Nokogiri
- This is because a function (`read_memory`) in a C extension (`nokogiri.so`) is called which is not marked as ractor-safe (see Feature #17307).
A workaround would be to mark it so, although I don't know if it is truly ractor-safe. -
03:41 AM Revision 6c7d39aa (git): rbinstall.rb: record default gem files
-
02:59 AM Revision af8ac97f (git): rbinstall.rb: append "/" to directory names
-
02:57 AM Revision 68a6f6c4 (git): mac: ignore SDKROOT at installation
-
02:54 AM Revision 0a93a3f4 (git): win32: fix RUBY_RELEASE_DATE in Makefile
- As it is overridden by the definition in common.mk, instead define
YEAR, MONTH and DAY which are used there.
This macro is useful for daily build&installation by the
combination with "relative-load", for example:
```sh
$ ./configure --p...
04/09/2021
-
10:18 PM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- I suppose it is by luck that `arch_hdrdir` of the form `C:/foo/bar` is not causing problems with `make` from MSYS. In fact, in my environment (not Windows) `gem install rails && rails new foo` succeeds when `VPATH` is modified such that ...
-
10:05 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- cfis (Charlie Savage) wrote in #note-12:
> VPATH works fine with arch_hdrdir in the form `c:/msys64/etc` - Ruby has been doing that on Windows for many years.
Does it work with different drives too? -
07:35 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- VPATH works fine with arch_hdrdir in the form `c:/msys64/etc` - Ruby has been doing that on Windows for many years.
With my proposed fix both msys make and mingw64 make work correctly.
-
10:10 PM Bug #17725: Prepend breaks ability to override optimized methods
- I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/4376
-
09:45 PM Feature #17790: Have a way to clear a String without resetting its capacity
- jean.boussier@gmail.com wrote:
> > so providing a capacity method gives more control over how to expand memory
>
> Agreed. Without also exposing the capacity, my proposed change would be a big footgun.
Yes, rb_str_resize(str, 0... -
09:28 PM Feature #17790: Have a way to clear a String without resetting its capacity
- > so providing a capacity method gives more control over how to expand memory
Agreed. Without also exposing the capacity, my proposed change would be a big footgun.
Maybe `String#capacity` and `String#capacity=` would make sense?... -
06:44 PM Feature #17790: Have a way to clear a String without resetting its capacity
- If we want `clear` to shrink memory by default, a `shrink: true` keyword argument could be added so the user could override this default with `clear(shrink: false)`. This would make the change less risky, since it wouldn't change the be...
-
06:38 PM Feature #17790: Have a way to clear a String without resetting its capacity
- What makes sense probably depends on how long lived the String is and whether there is an upper-bound to how much needs to be stored in it.
For instance, there may be a rare iteration of a loop that adds a lot to the String, which mig... -
05:53 PM Feature #17790: Have a way to clear a String without resetting its capacity
- I think that some people and libraries might expect that the `#clear` method releases the allocated memory.
This might be useful when e.g. reusing a String as a large buffer and the new usage might need less memory.
Not saying that's a... -
01:38 PM Feature #17790: Have a way to clear a String without resetting its capacity
- Looks good. I doubt very much that this would be a compatibility concern.
-
11:30 AM Feature #17790: Have a way to clear a String without resetting its capacity
- Proposed patch: https://github.com/ruby/ruby/pull/4373
-
10:42 AM Feature #17790 (Open): Have a way to clear a String without resetting its capacity
- In some tight loop it can be useful to re-use a buffer string. For instance:
```ruby
buffer = String.new(encoding: Encoding::BINARY, capacity: 1024)
10.times do
build_next_packet(buffer)
udp_socket.send(buffer)
buffer.cle... -
09:24 PM Feature #16816: Prematurely terminated Enumerator should stay terminated
- I prepared a commit to fix this: https://github.com/jeremyevans/ruby/commit/851534bbffd87c79bb63e8df36d6a47cc821aef0
Unfortunately, it breaks a CSV test:
```
1) Failure:
TestCSVParseInvalid#test_ignore_invalid_line [/home/runne... - 09:10 PM Revision 836da24e (git): Fix symbol export.
-
09:07 PM Feature #17785: Allow named parameters to be keywords
- I’ll also say I like byroot’s idea, especially as bare `\VALUE`
currently throws a SyntaxError.
-
05:59 PM Feature #17785: Allow named parameters to be keywords
- I like @byroot's idea to solve the more general issue and not just this specific instance.
marcandre (Marc-Andre Lafortune) wrote in #note-3:
> Clearly, `class_` is much simpler and much faster than `binding.local_variable_get(:class... -
01:04 PM Feature #17785: Allow named parameters to be keywords
- Arguably it's a bit of a stretch, but how would you handle: `foo(class_, class:)`?
What if instead of mangling the variable name, there would be a way to tell the parser to interpret the next word as a regular name rather than a keywo... -
06:18 PM Feature #17762: A simple way to trace object allocation
- byroot (Jean Boussier) wrote in #note-15:
> I understand the concern. A `require` always seem more harmless than a method call. But being able to enable tracing with a require allow to enable it without modifying the code through: `RUBY... - 05:48 PM Revision ff43ecc0 (git): * 2021-04-10 [ci skip]
-
05:44 PM Revision 9c31fb61 (git): Fix documentation for Enumerator::Lazy#with_index
- If a block is given, it returns a lazy enumerator that will iterate
over the block, it doesn't iterate over the block immediately.
Fixes [Bug #17789] -
05:23 PM Bug #17571 (Closed): prependしたArray#[] が反映されない
- I tested with the master branch and Ruby 3.0.1, and this problem appears fixed.
-
02:33 PM Bug #17789 (Closed): Incompatible behavior of Enumarator::Lazy#with_index
- This is expected. The behavior has changed. All bug fixes are incompatibilities.
-
11:03 AM Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
- It means it's no longer compatible with 2.6 or under, isn't it?
Thank you for quick reply! -
09:02 AM Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
- It doesn't ignores the block. It is just lazy to perform it :)
```ruby
%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }
# => #<Enumerator::Lazy: ...>
%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }.force
# a => 0
``` -
08:46 AM Bug #17789 (Closed): Incompatible behavior of Enumarator::Lazy#with_index
- this method ignores the block passed to it, but this behavior looks different from the Enumerator (super class).
```
$ ruby -e '%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }'
a => 0 # Expected, but doesn't actually print anyt... -
12:33 PM Bug #17791 (Third Party's Issue): Ractor exception when using Nokogiri
- Parsing xml using nokogiri:
``` ruby
doc = Nokogiri.XML('<foo><bar /></foo>', nil, 'EUC-JP')
```
Suppose I want to parse 4 xmls with 4 ractors, it will raise an unsafe exception:
```
Ractor::UnsafeError: ractor unsafe method call... -
09:04 AM Feature #17752: Enable -Wundef for C extensions in repository
- My attempt https://github.com/ruby/ruby/pull/4371
-
01:32 AM Feature #17752: Enable -Wundef for C extensions in repository
- xtkoba (Tee KOBAYASHI) wrote in #note-7:
> I noticed that `-Wundef` is explicitly disabled for GCC at [include/ruby/internal/token_paste.h:40](https://github.com/ruby/ruby/blob/587e6800086764a1b7c959976acef33e230dccc2/include/ruby/inter... -
09:00 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
- Do these patches work?
https://github.com/ruby/ruby/compare/master...nobu:bug/17787-aix-workarounds -
04:05 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
- xlc does not identify as GCC:
```
# egrep GCC ./3.0.0/powerpc-aix7.1.5.0/rbconfig.rb
CONFIG["GCC"] = ""
```
```
# egrep gnu config.log
ac_cv_c_compiler_gnu=no
ac_cv_cxx_compiler_gnu=no
rb_cv_prog_gnu_ld=no
```
IF I REM... -
03:38 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
- fdeclspec section is:
```
configure:9228: result: yes
configure:9348: checking whether -fdeclspec is accepted as CFLAGS
configure:9375: xlc_r -q64 -c -q64 -I/opt/chef/embedded/include -D_LARGE_FILES -O -fdeclspec -q64 -I/opt/chef/... -
07:12 AM Feature #17786: Proposal: new "ends" keyword
- I don't think a new keyword is acceptable, because of backward compatibility, ambiguity, and so on.
If it is an issue about looking, it feels an editors' role to me.
For example, like as hide-ifdef mode of Emacs, hide-end mode would ... -
06:25 AM Feature #17786: Proposal: new "ends" keyword
- Just to be clear, I'd not be against a good way to shorten a series of `end`s into something simpler. But the current proposal is not at all clear on the exact semantics: What gets closed with an `ends`, and what doesn't get closed? In t...
-
03:52 AM Feature #17786: Proposal: new "ends" keyword
- When I read the proposal I had to think about the "ennnnnd" proposal. :)
That one was linked in above:
https://bugs.ruby-lang.org/issues/5054
It's hard to say how serious people are, but I think "ennnnnnnd" was a joke,
while th... -
02:43 AM Feature #17786: Proposal: new "ends" keyword
- I agree that this proposal is very unlikely to be successful, but I guess the proposer is serious, so I'm removing "joke" tag.
-
06:17 AM Bug #16492: TestBugReporter#test_bug_reporter_add test failures
- @mame Yes I will do it!
-
04:59 AM Revision 582f4bc1 (git): test/ruby/test_gc_compact.rb: Use assert_separately for debugging
- ... the following timeout failure.
http://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20210408T213303Z.fail.html.gz
```
[ 8871/21204] TestGCCompact#test_ast_compactstimeout: output interval exceeds 600.0 seconds.
timeout: the pr... -
02:57 AM Revision 6496c76d (git): [ruby/reline] Add calling Reline::Config#reset_default_key_bindings to #reset, which is forgot to call
-
01:37 AM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
- Good catch! Patch LGTM.
-
12:17 AM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
- Repro (named `bug17788.cc`):
```c
#include <sys/types.h>
//extern "C" {
void *
ruby_nonempty_memcpy(void *dest, const void *src, size_t n)
{
return dest;
}
//}
#undef memcpy
#define memcpy ruby_nonempty_memcpy
#includ...