Activity
From 03/30/2021 to 04/05/2021
04/05/2021
-
11:14 PM Bug #17519 (Open): set_visibility fails when a prepended module and a refinement both exist
-
11:06 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- fledman (David Feldman) wrote in #note-10:
> this fix seems to have introduced a new but similar bug: https://github.com/ruby/ruby/pull/4200#issuecomment-813671308
I can confirm the issue. Here's a pull request that fixes it: https:... -
09:52 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- this fix seems to have introduced a new but similar bug: https://github.com/ruby/ruby/pull/4200#issuecomment-813671308
-
05:19 PM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- A workaround is `export warnflags=-Wno-error=implicit-function-declaration` and then attempt to build/install 2.6.7 again.
That downgrades the error to a warning, but relying on implicit function declaration seems potentially dangerou... -
05:17 PM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- I've also been experiencing this build failure and can reproduce on multiple systems.
-
05:14 PM Bug #17777 (Closed): 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-builder/runs/2271346109?check_suite_focus=true#step:14:11253
```
vm.c:2295:9: error: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
```
There is also a warning below that ... -
02:54 PM Bug #17776 (Closed): 2.7.3 source tar.gz not on ruby-lang.org/
- Thanks!
-
02:53 PM Bug #17776: 2.7.3 source tar.gz not on ruby-lang.org/
- It is working now https://twitter.com/nagachika/status/1379082363968233478. We can close this issue (it doesn't look like I can do that via the UI though. I just see "status open" that I cannot change).
-
02:36 PM Bug #17776: 2.7.3 source tar.gz not on ruby-lang.org/
- I can download it. Could you give it a try again?
```
$ curl -I http://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz | grep HTTP
% Total % Received % Xferd Average Speed Time Time Time Current
... -
02:19 PM Bug #17776 (Closed): 2.7.3 source tar.gz not on ruby-lang.org/
- It looks like the tar.gz was not uploaded for Ruby 2.7.3:
```
$ curl -I http://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz | grep HTTP
% Total % Received % Xferd Average Speed Time Time Time Current
... -
02:31 PM Revision 06732f8a (git): bump teeny version to 2.7.4.
-
02:19 PM Revision e0bd2938 (git): Update tool/format-release
- * remove bz2 entries for Ruby 3 series
* remove stats information except "X.X.0" release -
12:39 PM Revision 6847ee08 (git): merge revision(s) 856a9701fd13edbb9d5f0fa773082d312195df90:
- Get rid of multibyte prefix to tmpdir
---
test/ruby/test_require.rb | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-) -
12:33 PM Revision 0fb782ee (git): Get rid of multibyte prefix to tmpdir
-
12:33 PM Revision 6cdc36a6 (git): [ruby/tmpdir] Bump version to 0.1.2
- https://github.com/ruby/tmpdir/commit/c79bc7adf6
-
12:20 PM Revision 856a9701 (git): Get rid of multibyte prefix to tmpdir
-
12:08 PM Revision a00d9232 (git): [ruby/tmpdir] Bump version to 0.1.2
- https://github.com/ruby/tmpdir/commit/c79bc7adf6
-
12:08 PM Revision 4b6fa03a (git): [ruby/tmpdir] Make usable chars more strict
- Remove other than alphanumeric and some punctuations considered
filesystem-safe, instead of removing some unsafe chars only.
https://hackerone.com/reports/1131465
https://github.com/ruby/tmpdir/commit/adf294bc2d -
12:07 PM Revision 2f992272 (git): Update REXML to 3.2.5 (#4353)
-
11:56 AM Revision b609bf0a (git): teenyup
- 11:49 AM Revision f81a8ced (git): * 2021-04-05 [ci skip]
-
11:48 AM Revision 59cfa0b1 (git): Backport a tmpdir fix.
- Remove other then alphanumeric and some punctuations considered
filesystem-safe, instead of removing some unsafe chars only. - 11:48 AM Revision 1b59a4dc (git): REXML 3.1.9.1
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:46 AM Revision b7f19dd8 (git): Oops, forgotten to add
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:45 AM Revision 48706204 (git): REXML 3.1.7.4
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:14 AM Revision b59e5a64 (git): Backport rexml upstream bug fixes.
-
11:08 AM Revision 69e6e07a (git): Update REXML to 3.2.5
-
11:06 AM Revision 3b97a649 (git): Make usable chars more strict
- Remove other than alphanumeric and some punctuations considered
filesystem-safe, instead of removing some unsafe chars only.
https://hackerone.com/reports/1131465 -
06:16 AM Bug #17774: Quantified empty group causes regex to fail
- Thank you, I can reproduce the issue.
The issue is in the code from [onigmo](https://github.com/k-takata/Onigmo), so it would be helpful if you could report this issue to the upstream.
By a quick investigation, an optimization expa... -
05:00 AM Revision 4b926330 (git): [ruby/irb] Suppress verbose messages in the parallel test
- `:VERBOSE` flag needs to be set prior to `IRB::Irb.new`.
https://github.com/ruby/irb/commit/0dbe292979 -
03:07 AM Feature #5446: at_fork callback API
- > > For the vast majority of fork uses in practice it would be much safer if database connections and other fds which are unsafe to keep open across forks were automatically closed.
> ...
I apologize, somehow I was thinking that `fork` ... - 02:48 AM Revision d30d1e64 (git): * 2021-04-05 [ci skip]
-
02:47 AM Revision 52fb0a29 (git): [Doc] Drop signature around removed IO#codepoints
- Follow 43b95bafd57d04c8fb401d3a9b52aca3f5b4b0be
-
02:45 AM Feature #17769 (Rejected): Proposal: numeric coefficient syntax
-
01:22 AM Bug #17218: Range#step sometimes behaves unexpectedly with Rational endpoints and increment
- backported into ruby_2_6 at r67936
- 01:22 AM Revision 1a38986a (git): merge revision(s) 254bed302752a401b5fcc3b6c65a9c93711d91d6,fad3023e94c45e7f03478732f7641b6f39ba9d12,3156fb0f2c3ebf8229f392c8502c08fe165ab181: [Backport #17218]
- Renamed `nurat_sub` compliant with `rb_rational_plus`
Fix ArithmeticSequence#last and ArithmeticSequence#each for
non-integer sequences (#3870)
[Bug #17218]
[ruby-core:100312]
git-svn-id: svn+ssh://ci... -
12:59 AM Bug #17723 (Closed): autoconf 2.70+ is not working with master branch
-
12:59 AM Bug #17775: Backport to fix build failures
- Also commit:4d2ad8d737c55c3efd4c75131687dd1c8db7441b would be preferable.
-
12:45 AM Bug #17775 (Closed): Backport to fix build failures
- commit:fcc88da5eb162043adcba552646677d2ab5adf55 is needed for autoconf 2.70 or later.
-
12:19 AM Bug #17321: Having a singleton class makes cloning imperfect
- ruby_2_6 r67935 merged revision(s) ebb96fa8808317ad53a4977bff26cf755d68077e.
- 12:19 AM Revision a5272e64 (git): merge revision(s) ebb96fa8808317ad53a4977bff26cf755d68077e: [Backport #17321]
- Fix singleton class cloning
Before this commit, `clone` gave different results depending on whether the original object
had an attached singleton class or not.
Consider the following setup:
```
c... -
12:17 AM Bug #17352: Backport Subsecond of Time::tm should be 0
- backported into ruby_2_6 at r67934
- 12:17 AM Revision 082b0acf (git): merge revision(s) 276f6a225d18561cbe5282b798cb4e416c66079f,95bef7b69a6fb42687a6200b338060be307259f5: [Backport #17352]
- Don't double fractional seconds when passing timezone object to Time.new
I found that fractional seconds were doubled when using the timezone
feature of Time in Sequel's named_timezones extension (which uses
TZIn... -
12:12 AM Bug #17130: Method#super_method is broken for aliased methods
- backported into ruby_2_6 at r67933
- 12:12 AM Revision 04601ea6 (git): merge revision(s) c60aaed1856b2b6f90de0992c34771830019e021: [Backport #17130]
- Fix Method#super_method for aliased methods
Previously, Method#super_method looked at the called_id to
determine the method id to use, but that isn't correct for
aliased methods, because the super target depends ... -
12:05 AM Bug #16774: Don't require sub-word atomics
- ruby_2_6 r67932 merged revision(s) abe2e7de4d1f2d5861d7c9ab9c7e778f2ee1dcd2.
- 12:05 AM Revision 1c7f2cce (git): merge revision(s) abe2e7de4d1f2d5861d7c9ab9c7e778f2ee1dcd2: [Backport #16774]
- Don't require sub-word atomics
On some architectures (like RISC-V) sub-word atomics are only available
when linking against -latomic, but the configure script doesn't do that,
causing the atomic checks to fail an... -
12:05 AM Bug #16787: [patch] allow Dir.home to work for non-login procs when $HOME not set
- backported into ruby_2_6 at r67931
- 12:04 AM Revision 209d0f0e (git): merge revision(s) c15cddd1d515c5bd8dfe8fb2725e3f723aec63b8: [Backport #16787]
- Allow Dir.home to work for non-login procs when $HOME not set
Allow the 'Dir.home' method to reliably locate the user's home directory when
all three of the following are true at the same time:
1. Ruby is runnin...
04/04/2021
-
11:51 PM Bug #15852: APPLICATION_VERIFIER_LOCKS_LOCK_IN_FREED_HEAP on exiting ruby
- backported into ruby_2_6 at r67930
- 11:50 PM Revision 5f83e778 (git): merge revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb: [Backport #15852]
- Destroy VM-wise locks before freeing [Bug #15852]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:48 PM Bug #17658: DNS resolution failure with multiple named resolvers
- ruby_2_6 r67929 merged revision(s) 9682db065158da5fa4ec8a3bc267da45b429b92c.
- 11:47 PM Revision bde8e4e6 (git): merge revision(s) 9682db065158da5fa4ec8a3bc267da45b429b92c: [Backport #17658]
- Remove sender/message_id pair after response received in resolv
Once a response for a given DNS request has been received (which
requires a matching message id), the [sender, message_id] pair
should be removed fr... -
11:45 PM Bug #17504: Allow UTC offset without colons per ISO-8601
- ruby_2_6 [r67928] merged revision(s) commit:f4be7a510eebbe6507ba41d138d7d252f4a68e90,commit:9441f3f97087a4325ee80911859d37da41fa5050.
[r67928]: https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/5572ae0f2886e065998... - 11:45 PM Revision 5572ae0f (git): merge revision(s) f4be7a510eebbe6507ba41d138d7d252f4a68e90,9441f3f97087a4325ee80911859d37da41fa5050: [Backport #17504]
- Added tests for Time#getlocal with UTC offset
---
test/ruby/test_time.rb | 8 ++++++++
1 file changed, 8 insertions(+)
Allow UTC offset without colons per ISO-8601 [Bug #17504]
---
tes... -
11:44 PM Bug #17533: Named capture is not assigned to the same variable as reserved words.
- backported into ruby_2_6 at r67927
- 11:43 PM Revision fd734d49 (git): merge revision(s) 0036648a420f945624898568bb82bc5f83195d12: [Backport #17533]
- Capture to reserved name variables if already defined [Bug #17533]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:40 PM Bug #17572: coerceで作成した(0.0/1)を計算に用いるとコアダンプする
- ruby_2_6 r67926 merged revision(s) a55eb9a2af7950d180d9d31ffde2bce66710f44f.
- 11:40 PM Revision 88907790 (git): merge revision(s) a55eb9a2af7950d180d9d31ffde2bce66710f44f: [Backport #17572]
- Make reciprocal properly of non-integral rational [Bug #17572]
---
rational.c | 2 +-
test/ruby/test_rational.rb | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
git-svn-id: ... -
11:37 PM Bug #16695: Stack consistency error when using the return value
- backported into ruby_2_6 at r67925
- 11:36 PM Revision 8bfee861 (git): merge revision(s) ce7a053475cbebfb2f3e5ed6614e0ba631541917,1cbb1f1720127b0b34b38c77e27b51b182008699: [Backport #16695]
- Adjust sp for `x = false; y = (return until x unless x)` [Bug #16695]
test/ruby/test_syntax.rb: avoid "warning: assigned but unused
variable"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67925 b2dd03c8-39d4-4... -
11:31 PM Bug #17275: Please backport 8b0dc77a621ded75f72486c33f55404ce73f00d7
- ruby_2_6 r67924 merged revision(s) 8b0dc77a621ded75f72486c33f55404ce73f00d7.
- 11:31 PM Revision c08edc4e (git): merge revision(s) 8b0dc77a621ded75f72486c33f55404ce73f00d7: [Backport #17275]
- configure.ac: Bump the size of sigaltstack
The RubyVM uses C macro defines to feature detect whether
`backtrace(2)` support is available, and if so it includes C level backtraces
when the RubyVM itself crashes.
... -
11:30 PM Bug #15178: Wrong paramaters passing to pthread_setname_np(3)
- ruby_2_6 r67923 merged revision(s) be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd.
- 11:30 PM Revision 245a5e52 (git): merge revision(s) be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd: [Backport #15178]
- Fix pthread_setname_np arguments on NetBSD
The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order instead of just fixing the quote escaping.
From Takahir... -
11:28 PM Bug #17305: rb_rescue2() seems to loop forever if given a non-module for rescued exceptions on <= 2.6.6
- merged the patch into ruby_2_6 at r67922
- 11:28 PM Revision 56f6c15d (git): backported a part of a569bc09e25a2ba813d0bec1228d9ff65330a3db
- picked up by Jeremy Evans [Backport #17305]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:08 PM Bug #17013: `RubyVM::AbstractSyntaxTree.parse("struct.field += foo")` has no operator
- backported into ruby_2_6 at r67921
- 11:07 PM Revision 6638b504 (git): merge revision(s) 8e189df32cacef4b21e357a590d349330532baf5: [Backport #17013]
- Add operator info to OP_ASGN2 of RubyVM::AbstractSyntaxTree.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:03 PM Bug #16931: `defined?` against a protected method call on an inherited instance returns wrong `nil`
- ruby_2_6 r67920 merged revision(s) de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927,da5bd0047d6c961105da210c69d4c88421324b70,ce91c5615ca96f357519043181fb5b76b57ee223,c53aebb1d2eb5afbb18f9b3db9f9c956a463a4e1,d05f04d27dd86c67e4a8dfff4392f806cf577bdf.
- 11:03 PM Revision 942129cd (git): merge revision(s) de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927,da5bd0047d6c961105da210c69d4c88421324b70,ce91c5615ca96f357519043181fb5b76b57ee223,c53aebb1d2eb5afbb18f9b3db9f9c956a463a4e1,d05f04d27dd86c67e4a8dfff4392f806cf577bdf: [Backport #16931]
- Split test_defined
---
test/ruby/test_defined.rb | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
Test for [Bug #16669]
---
test/ruby/test_defined.rb | 8 +++++... -
10:58 PM Bug #16846: Commit - win32ole: separate global variable declarations and definitions - backport?
- ruby_2_6 r67919 merged revision(s) a0bc3f2a1c2c98f225612101cb4e1ea1a6813546,75a0447c15a7ab017bd4240c2a9cc69b134b80b9,f1699314147bad2cf5550cc582693424fdbc2510.
- 10:58 PM Revision 1bce19a7 (git): merge revision(s) a0bc3f2a1c2c98f225612101cb4e1ea1a6813546,75a0447c15a7ab017bd4240c2a9cc69b134b80b9,f1699314147bad2cf5550cc582693424fdbc2510: [Backport #16846]
- Suppress C4267 "possible loss of data" warnings
---
ext/win32ole/win32ole.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Suppress C4267 "possible loss of data" warnings
Just cast down ... -
10:50 PM Bug #16834: rb_profile_frame_classpath only recognize class singleton methods, not module singleton methods
- ruby_2_6 r67918 merged revision(s) 12391cdbe11f3fbeb3b04c30b944139e5bbd9ea6.
- 10:50 PM Revision ae1573ac (git): merge revision(s) 12391cdbe11f3fbeb3b04c30b944139e5bbd9ea6: [Backport #16834]
- merge revision(s) cbe4f75ef802f13d05f94e42274b65a062bd3666: [Backport
#16834]
Fix rb_profile_frame_classpath to handle module singletons
Right now `SomeClass.method` is properly named, but `Some... -
10:49 PM Bug #16798: ENV.replace on Windows with a variable name not respecting case will clear it
- backported into ruby_2_6 at r67917
- 10:48 PM Revision fe85a3d5 (git): merge revision(s) 08529a61153e5c40f57a65272211357511d6e6db: [Backport #16798]
- Compare environment variable names in those manor [Bug #16798]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 10:44 PM Revision b98aa3aa (git): merge revision(s) 2f1895fa: [Backport #16767]
- Fixed formatted substring expansion [Bug #16767]
---
strftime.c | 2 ++
test/ruby/test_time.rb | 7 +++++++
2 files changed, 9 insertions(+)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branc... -
10:42 PM Bug #16764: Module.const_source_location does not work on autoloaded constants
- bacported into ruby_2_6 at r16764
- 10:41 PM Revision febd8c91 (git): merge revision(s) 2f1895fa15386fb3cdc91c5604171290828b9da8: [Backport #16767]
- Fix source location of autoloaded constant [Bug #16764]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:27 PM Bug #16830: URI.parse raises NoMethodError instead of URI::InvalidURIError
- ruby_2_6 r67914 merged revision(s) e04418bb16cd99b4a4402e7457d3bdc967284f98.
- 10:27 PM Revision 49b37893 (git): merge revision(s) e04418bb16cd99b4a4402e7457d3bdc967284f98: [Backport #16830]
- [ruby/uri] Check if DN exists
https://bugs.ruby-lang.org/issues/16830
https://github.com/ruby/uri/commit/b4bf8c1217
---
lib/uri/ldap.rb | 1 +
test/uri/test_ldap.rb | 4 ++++
2 fil... -
10:26 PM Feature #5446: at_fork callback API
- > it would be nice to see a use-case that just cannot be solved with IO#close_on_exec
Another use case is if you have a dispatcher thread, it will need to be restarted after fork. -
09:55 PM Feature #5446: at_fork callback API
- > it would be nice to see a use-case that just cannot be solved with IO#close_on_exec
The need is not limited to IOs. If you have say some kind of buffered event queue ([example](https://github.com/Shopify/statsd-instrument/pull/280))... -
08:45 PM Feature #5446: at_fork callback API
- eregontp@gmail.com wrote:
> > Is there a way to expose Ruby methods/procs as C function pointers with JIT?
>
> @normalperson That feels very hacky to me.
fork() seems hacky now that Ractor exists, and
Process.spawn/popen/system ... -
07:19 PM Feature #5446: at_fork callback API
- > For the vast majority of fork uses in practice it would be much safer if database connections and other fds which are unsafe to keep open across forks were automatically closed.
Indeed, and it's possible to do that with `IO#close_on... -
06:44 PM Feature #5446: at_fork callback API
- To clarify, I don't think we even need native like `pthread_atfork`, as as far as I know it's not safe for extensions to use `fork(2)` unless of course they immediately `exec()`.
So what I'm asking for is simply for `Process.fork` to ... -
06:40 PM Feature #5446: at_fork callback API
- > I agree, we should at least have `after_fork`
Yes, that's what's needed 99% of the time.
[We implemented it in Active Support a few years back](https://github.com/rails/rails/blob/80bd07a61a96a77dcc8161621ec5275f2d1e9486/activesu... -
10:55 AM Feature #5446: at_fork callback API
- Eregon (Benoit Daloze) wrote in #note-38:
> require the database library with a different path
Or by having some logic in e.g. rack to handle that. I'm sure we can find something.
But the hook needs to be in core, otherwise we'd nee... -
10:52 AM Feature #5446: at_fork callback API
- > Is there a way to expose Ruby methods/procs as C function pointers with JIT?
@normalperson That feels very hacky to me.
JIT'ing a function which is only called once seems suboptimal (and difficult to do before it's even called once... -
05:36 AM Feature #5446: at_fork callback API
- jean.boussier@gmail.com wrote:
> Feature #5446: at_fork callback API
> https://bugs.ruby-lang.org/issues/5446#change-91273
>
> But in practice many libraries prefer to check `Process.pid`,
> and often end up doing so in tight loop... -
10:25 PM Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
- backported into ruby_2_6 at r67913.
- 10:24 PM Revision 43449fb9 (git): merge revision(s) 579645d9: [Backport #17033]
- Fixed infinite loop at error in printing cause [Bug #17033]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:29 PM Revision 3cd3d25d (git): Unify code by word sizes
-
01:39 PM Revision bacb6461 (git): [ruby/irb] Check WITH_VTERM env to add vterm gem as dependency
- https://github.com/ruby/irb/commit/23c8b73cb1
-
08:08 AM Bug #17774 (Open): Quantified empty group causes regex to fail
- The regex `^((x*)(?=\2$))*x$` matches powers of 2 in unary, expressed as strings of `x` characters whose length is the number.
Adding an empty group `()` in the middle of it should have no effect on its operation, and indeed it does n... -
06:26 AM Revision 2fcae4f9 (git): test/ruby/test_lambda.rb: Remove "warning: assigned but unused variable"
- 02:35 AM Revision ffaaa2e6 (git): * 2021-04-04 [ci skip]
-
02:34 AM Revision be343946 (git): Refactor rb_obj_call_init and rb_obj_call_init_kw (#4351)
04/03/2021
-
02:17 PM Feature #5446: at_fork callback API
- > Could this `at_exit` proposal be considered again?
Sorry, I meant `at_fork` -
02:16 PM Feature #5446: at_fork callback API
- Could this `at_exit` proposal be considered again? I understand and agree that in theory libraries needed to protect against forks should expose a `after_fork` method to be called after forking, and that it's the users's responsibility t...
-
12:33 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
- I've been working with the `ruby_3_0` branch daily since Mar. 29 and have not experienced the `:define_method` crash reported here, or any other issues.
It appears that whatever issue was causing the `:define_method` crash in the 3.0 ... -
11:22 AM Revision 47abb702 (git): [ruby/reline] Use vterm 0.0.5 or newer on Unix like OSes because suppresses SEGV
- https://github.com/ruby/reline/commit/7562cf3b5f
-
11:21 AM Revision 281c6f50 (git): [ruby/irb] Use vterm 0.0.5 or newer on Unix like OSes because suppresses SEGV
- https://github.com/ruby/irb/commit/b034bd22b0
-
11:21 AM Revision f0793181 (git): [ruby/irb] Use yamatanooroti gem for tests
- https://github.com/ruby/irb/commit/f053f49c29
- 09:27 AM Revision 0d8c9a7f (git): * 2021-04-03 [ci skip]
-
09:26 AM Revision cafa7904 (git): Backport lib/reline, and lib/irb for 3.0.1 4th (#4349)
- * [ruby/irb] Update help message for next context-mode of 4
While here, fixing tab/space issues in help message, and sync
rdoc for IRB class to match the help message.
https://github.com/ruby/irb/commit/ef8e3901cc
* [ruby/irb] Do not ... -
05:53 AM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
- jeremyevans0 (Jeremy Evans) wrote in #note-1:
> I don't think it makes sense to have cloned ENV objects.
It feels reasonable. -
05:45 AM Revision 6b906ad5 (git): [Doc] Link to doc/contributing.rdoc from CONTRIBUTING.md (#4266)
- * [Doc] Link to doc/contributing.rdoc from CONTRIBUTING.md
[ci skip]
* [Doc] Add path prefix `doc/`
https://github.com/ruby/ruby/pull/4266#discussion_r598220279
* [Doc] Prefer relative path in CONTRIBUTING.md
This patch by nobu (Nob...
04/02/2021
-
11:57 PM Misc #17734: DevelopersMeeting20210416Japan
- * [Feature #17749] Add `Module#source_location`
* It's similar to the const_source_location feature, but easier to use when you don't know the constant name, or enclosing const
* This is useful for debugging
* [Feature #17753]... -
10:13 PM Misc #17734: DevelopersMeeting20210416Japan
- * [Bug #17398] SyntaxError in endless method (jeremyevans0)
* I don't believe this is a bug, but maybe it is a useful feature.
* @mame has a patch that allows commands as the RHS of a endless method.
* However, @mame's patch doe... -
09:41 PM Misc #17733 (Closed): Add peterzhu2118 as a committer
-
09:39 PM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
- I don't think it makes sense to have cloned ENV objects. I propose the following behavior:
* `ENV.dup`/`ENV.clone`/`ENV.clone(freeze: nil)`/`ENV.clone(freeze: false)` should return `ENV`, since the same singleton storage is used (the... -
08:53 PM Bug #17770 (Third Party's Issue): Assets precompilation aborts with Segmentation fault
- This does appear to be a sassc bug: https://github.com/sass/sassc-ruby/issues/207
-
07:42 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- And people should likely recall the reasons for the existence of symbols and strings. Originally strings were very expensive and not deduplicated, but were garbage collected. While symbols were very cheap, deduplicated and frozen and n...
-
07:34 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- Any implementation should probably consider recursive structures under arrays and all the mutator methods on Array:
``` ruby
% pry
[1] pry(main)> require 'active_support/hash_with_indifferent_access'
=> true
[2] pry(main)> test = ... -
02:13 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- lamont (Lamont Granquist) wrote in #note-24:
> Although I really need to be able to inherit from the class and wrap convert_key/convert_value and it would be useful to have a private regular_writer/regular_update bypass (for performance... -
01:45 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- sawa (Tsuyoshi Sawada) wrote in #note-25:
> I am surprised and am sad that so many of the core developers are positive on this.
Why? I understand you passionately disagree with this. But it could be the people having a problem with h... -
04:11 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- I am surprised and am sad that so many of the core developers are positive on this.
-
04:28 PM Revision 8a4472fb (git): [ruby/reline] Version 0.2.5
- https://github.com/ruby/reline/commit/22ce5651e5
-
04:25 PM Revision 3ffb0447 (git): [ruby/irb] Version 1.3.5
- https://github.com/ruby/irb/commit/22e2ddf715
-
04:22 PM Revision 64b991b0 (git): [ruby/rdoc] Links to document texts without "rdoc-ref:" prefix
- While links to generated HTML from RDoc file needs to be prefixed
by "rdoc-ref:" currently, in case of explicit references this
seems just redundant.
Also GitHub RDoc support does not work with this prefix.
This patch lets links to suc... -
04:22 PM Revision a6948329 (git): [ruby/rdoc] Clarify that dots in URL are replaced
- The dots in all path components from the document root are
replaced with underscores, not only in the basename.
https://github.com/ruby/rdoc/commit/7a3417ea4c -
04:21 PM Revision 61e1cf23 (git): [ruby/rdoc] Treat emphasis tags as excluding other notations
- And exclusive notations don't exclude other exclusive notations.
https://github.com/ruby/rdoc/commit/b8baa9a435 -
04:21 PM Revision e84d275f (git): [ruby/rdoc] Treat other tags as word boundaries
- https://github.com/ruby/rdoc/commit/8222f85a17
-
04:21 PM Revision 54aa11ef (git): [ruby/rdoc] Disable other notations in <code> tags
- https://github.com/ruby/rdoc/commit/0cd3b55210
-
04:17 PM Revision ab89c45b (git): [ruby/irb] Evaluate each toplevel statement
- https://github.com/ruby/irb/commit/bc1b1d8bc3
-
04:15 PM Revision 254cd937 (git): [ruby/irb] Add test for multiline paste
- https://github.com/ruby/irb/commit/e93c9cb54d
-
04:14 PM Revision 0eb14919 (git): [ruby/irb] Add yamatanooroti test example
- https://github.com/ruby/irb/commit/279155fcee
- 03:49 PM Revision 9de00864 (git): * 2021-04-03 [ci skip]
- 03:49 PM Revision 3cab8c08 (git): [ruby/irb] process multi-line pastes as a single entity
- this allows pasting leading-dot chained methods correctly:
```ruby
class A
def a; self; end
def b; true; end
end
a = A.new
a
.a
.b
```
will properly return `true` instead of erroring on the `.a` line:
```
irb(main):001:1* ... -
03:39 PM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- An example of using `-1` as a default-ish integer value is to indicate "item not found" in a C-like language (see https://en.wikipedia.org/wiki/Sentinel_value).
The following example seems to suggest that Ruby treats `0` as a default-... -
02:40 PM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- You may be right that zero is not (the only) special (element). In fact, one is the unit element for multiplication whereas zero is the unit element for addition. But still, addition is the first operation, and is more prominent than mul...
-
10:09 AM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- Same feeling here, empty? should be reserved for collections with elements.
Input fields from a website are always Strings initially, and should be checked as Strings (e.g., input.strip.empty?) for provided/not-provided.
The user mig... -
07:21 AM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- I'm also against this proposal.
I do not believe that there are many cases where one checks for `.zero?` || `.empty?`. Note that `nil` nor `false` implement either.
If you need something like `blank?` or `trivial?` or similar, refi... -
06:21 AM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- I don't think these aliases are useful for most cases so it is inappropriate as a default-provided feature.
I agree there are cases that zero means empty, but there are also cases that -1 or other numbers mean empty. I don't think the z... -
05:42 AM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> If you are checking for user input, aliasing `zero?` to `empty?` seems wrong, as `0` is a valid non-empty user input.
I do not understand what you exactly mean by 0 is valid. But presumabl... -
05:23 AM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> Can you provide a reference to a set theoretic definition of the number 0 as the empty set?
Here is a Wikipedia article:
https://en.wikipedia.org/wiki/Set-theoretic_definition_of_nat... -
04:24 AM Feature #17773: Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- I'm against this. `empty?` exists on collection classes, and numbers are not collections, nor sets. Can you provide a reference to a set theoretic definition of the number 0 as the empty set? Even if so, most Ruby programmers are not w...
-
03:49 AM Feature #17773 (Open): Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?`
- When dealing with user input fields as in web applications, there are typical values that we want to consider as the default and/or absence of user input. For string/text inputs, list items, and attributes, we have `String#empty?`, `Arra...
-
02:49 PM Feature #17771: String#start_with? should not construct MatchData or set $~
- I also believe it is unintended behavior and should be removed.
-
10:28 AM Feature #17771: String#start_with? should not construct MatchData or set $~
- I don't think there is a rule that predicate methods only return a boolean and never set `$~`.
It is the case for `String#match` vs `String#match?`, but it doesn't mean it holds for other Regexp methods.
I see it a bit like the use of ... -
02:21 PM Bug #17772: Performance issue with NameError message in context with large instance variables (not caused by did_you_mean)
- The slowness is caused by a large amount of allocations required to build the error message. Consider the following script:
```ruby
class Environment
def run
@data = (1..5_000_000).to_h {|x| [x, x]}
trigger_name_error
... -
12:13 PM Feature #17768 (Rejected): Proposal: Downward assignments
- I think April 1st ended in the world. I hope you enjoyed it!
-
11:31 AM Bug #17746: Backport f9f13a4f6d8be706b17efc089c28f7bc617ef549 to Ruby 3.0
- ruby_3_0 0315e1e5ca0722f9dffeae70b860c19de303e339 merged revision(s) f9f13a4f6d8be706b17efc089c28f7bc617ef549.
-
11:31 AM Bug #17732: rb_enc_interned_str crashes if called with a not yet loaded encoding
- ruby_3_0 4e2738f477b5343a0d48a400c975220fed123c9b merged revision(s) 7e8a9af9db42a21f6a1125a29e98c45ff9d5833b.
-
11:31 AM Bug #17754: NoMethodError#to_s makes segmentation fault when Module#name returns non string value
- ruby_3_0 6abb8ee711a941b7ad31d21fdb429750f7ea4463 merged revision(s) 0a544c0c35f7445d69402d7c53d825384c728017.
-
10:55 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- This issue is related to commit commit:389157d8cfab7b6e84cdcdb2863421bd2c93bd7f, which merged the patch posted as [[ruby-core:21448]](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/21448). The description of the patch reads ...
-
08:45 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- When running msys2 (ie, in an open console) the /c/ notation does work.
But it does not work in makefiles processed by mingw64. If you look at the makefiles that extconf.rb generates, they use paths like c:/abc/def *except* for this o... -
08:41 AM Bug #17643: Ruby 3 embedded - no GC methods?
- Screenshot
-
08:39 AM Bug #17643: Ruby 3 embedded - no GC methods?
- @nobu - Sorry that I missed your feedback.
I updated the code to call ruby_options, but that just hangs the interpreter. It thinks it is going to run a ruby script, but that is not correct. I have attached a screenshot of the call sta... -
08:33 AM Revision 7e939174 (git): [ruby/reline] Reset @rest_height when clear screen
- https://github.com/ruby/reline/commit/3a7019b0d5
-
07:40 AM Revision 9e336f73 (git): [ruby/irb] Add show_source command
- https://github.com/ruby/irb/commit/108cb04352
-
07:09 AM Revision 6abb8ee7 (git): merge revision(s) 0a544c0c35f7445d69402d7c53d825384c728017: [Backport #17754]
- Fix segmentation fault when `Module#name` returns non string value
[Bug #17754]
* Add test for NoMethodError#to_s does not segfault
* Ensure no segfault even if Module#name is overridden
---
er... -
07:08 AM Revision 0315e1e5 (git): merge revision(s) f9f13a4f6d8be706b17efc089c28f7bc617ef549: [Backport #17746]
- Ensure that caller respects the start argument
Previously, if there were ignored frames (iseq without pc), we could
go beyond the requested start frame. This has two changes:
1) Ensure that we don't look beyond... -
07:06 AM Revision 4e2738f4 (git): merge revision(s) 7e8a9af9db42a21f6a1125a29e98c45ff9d5833b: [Backport #17732]
- rb_enc_interned_str: handle autoloaded encodings
If called with an autoloaded encoding that was not yet
initialized, `rb_enc_interned_str` would crash with
a NULL pointer exception.
See: https://github.c... -
07:01 AM Bug #17729: Fix infinite loop when parsing RUBYLIB with locale-invalid bytes
- ruby_3_0 1a47de64f44da6d4339ba8b2c5220eeaba82954c merged revision(s) f748b911c9157a0bb86f38280ddfba72a55049b6.
-
07:01 AM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- ruby_3_0 d1cec0bca588266b9af1d55e592016c45ee68fbb merged revision(s) 58660e943488778563b9e41005a601e9660ce21f.
-
07:01 AM Bug #17731: Integer downflow with inject/reduce
- ruby_3_0 855401da495117fcf5d258fe43b71010abc43d9a merged revision(s) a85ed626f18d1014d09fb37eb0a703976c3d2b53.
-
05:17 AM Revision 43e0677c (git): Fill the ring-buffer with the fallback value
- Fill with the pointer to the root position, instead of zero and
comparing later. Also suppress a false warning by Visual C++.
```
file.c(4759): warning C4090: 'function': different 'const' qualifiers
``` -
03:31 AM Revision 855401da (git): merge revision(s) a85ed626f18d1014d09fb37eb0a703976c3d2b53: [Backport #17731]
- Fix Enumerable#inject with high negative fixnums [Bug #17731]
---
enum.c | 2 +-
test/ruby/test_enum.rb | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-) -
03:27 AM Revision 1a47de64 (git): merge revision(s) f748b911c9157a0bb86f38280ddfba72a55049b6: [Backport #17729]
- Fix infinite loop at illegal sequence [Bug #17729]
As mblen returns -1 on failure, skip the first byte and try the
succeeding bytes in that case.
Close https://github.com/ruby/ruby/pull/4281
---
... -
03:26 AM Revision d1cec0bc (git): merge revision(s) 58660e943488778563b9e41005a601e9660ce21f: [Backport #17519]
- 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 ... -
01:52 AM Revision 79af8ce6 (git): [ruby/irb] Colorize `__END__` as keyword
- https://github.com/ruby/irb/commit/9b84018311
-
12:25 AM Bug #17105 (Closed): A single `return` can return to two different places in a proc inside a lambda inside a method
- Applied in changeset commit:git|ecfa8dcdbaf60cbe878389439de9ac94bc82e034.
----------
fix return from orphan Proc in lambda
A "return" statement in a Proc in a lambda like:
`lambda{ proc{ return }.call }`
should return outer lambda bl... -
12:25 AM Revision ecfa8dcd (git): fix return from orphan Proc in lambda
- A "return" statement in a Proc in a lambda like:
`lambda{ proc{ return }.call }`
should return outer lambda block. However, the inner Proc can become
orphan Proc from the lambda block. This "return" escape outer-scope
like method, but ...
04/01/2021
-
09:49 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- +1 on adding this.
There are any number of bugs which are caused by reading mixed symbols and strings into Hashes, then round tripping them through JSON and having them change one way or the other.
I mildly disliked the use of Mash... -
08:51 PM Bug #12689: Thread isolation of $~ and $_
- Also note this experimental PR that eliminates the update of `$~` from String#split, since no specs and no tests check that behavior and it seems unexpected and unpredictable (it updates to the last match during the split loop).
https... -
08:49 PM Bug #12689: Thread isolation of $~ and $_
- Waking this up a bit...
The original issue that prompted this bug report has now been FIXED in JRuby 9.2.17.0 by making String#split never read backref from the frame-local storage:
https://github.com/jruby/jruby/pull/6644
Furth... -
07:25 PM Bug #17772 (Rejected): Performance issue with NameError message in context with large instance variables (not caused by did_you_mean)
- The following script takes about 2 seconds (tested on 2.6.6 and 2.7.2) to get from 'rescue' to 'ensure' on my machine, when executed as `ruby --disable-did_you_mean script.rb`. The time is taken by getting the `e.message`.
```
class ... -
07:06 PM Feature #17771: String#start_with? should not construct MatchData or set $~
- An alternative to using `str =~ /^pat/` for a `start_with?` that provides a MatchData would be to add a `start_with` that is not a boolean query method.
-
07:04 PM Feature #17771: String#start_with? should not construct MatchData or set $~
- It really feels like an unintended side-effect of the method. If you write this method and accept a variable then depending on the type of that variable there is either some MatchData (MD) as a side-effect or there isn't. This is incon...
-
06:25 PM Feature #17771: String#start_with? should not construct MatchData or set $~
- I see this behavior was explicitly blessed by matz in #13712 but I still believe this is not the best choice.
Around the same time as that discussion, another boolean query method `match?` was added that explicitly does *not* set the ... -
06:13 PM Feature #17771: String#start_with? should not construct MatchData or set $~
- I will also point out that this method, like many others, will *not* always set $~. If you pass a string, it remains whatever it was before:
```
$ rvm ruby-3.0 do ruby -e '"foo".start_with?("foo"); p $~'
nil
```
Avoiding the use... -
06:08 PM Feature #17771 (Open): String#start_with? should not construct MatchData or set $~
- I am working on making $~ more thread-safe in JRuby and came across this unexpected behavior:
```ruby
$ rvm ruby-3.0 do ruby -e '"foo".start_with?(/foo/); p $~'
#<MatchData "foo">
```
The `start_with?` method was added 11 years ... -
05:10 PM Revision c080bb22 (git): [Doc] Update to FrozenError from RuntimeError in Object#freeze
-
04:57 PM Revision 1ac68bba (git): [ruby/irb] SIGINT should raise Interrupt after IRB session
- https://github.com/ruby/irb/commit/5832cfe75b
- 04:48 PM Revision 8e636bd0 (git): * 2021-04-02 [ci skip]
-
04:47 PM Revision ccb0b7ab (git): [ruby/irb] Suppress verbose messages in the parallel test
- `:VERBOSE` flag needs to be set prior to `IRB::Irb.new`.
https://github.com/ruby/irb/commit/78604682d9 -
02:21 PM Feature #17768: Proposal: Downward assignments
- Bidirectional assignments should be implemented to make swapping values:
```
var1, var2 = var2, var1
```
much shorter:
```
var1
vv^^
var2
``` -
01:27 PM Feature #17768: Proposal: Downward assignments
- What an amazing, beautiful, and revolutionary idea!
But what about using an overbar (U+203E) instead of circumflex? It's not that hard to type and it brings extra clarity and visual pleasantness to the code, while eliminating any possib... -
12:55 PM Feature #17768: Proposal: Downward assignments
- plot twist by **mame** similar to last year:
- It's actually not a joke. :)
plot twist by **matz** this year:
- He actually WILL approve joke suggestions this year. -
01:23 AM Feature #17768: Proposal: Downward assignments
- marcandre (Marc-Andre Lafortune) wrote in #note-4:
> (It took me a while to realize the date in Japan :-) )
I waited until 00:00 UTC 🕛👍 -
01:13 AM Feature #17768: Proposal: Downward assignments
- I'd like a shorthand for cases where we don't really need a variable...
```ruby
while gets != nil
p ^^^^
end
```
(It took me a while to realize the date in Japan :-) ) -
01:11 AM Feature #17768: Proposal: Downward assignments
- Is this intentional?
```
$ cat test.rb
p(2 * 3 * 7)
^^^^^var1
^^^var2
p var1
p var2
$ ./miniruby test.rb
test.rb:3: syntax error, unexpected '^', expecting end-of-input
^^^var2
``` -
12:53 AM Feature #17768: Proposal: Downward assignments
- I think this syntax is not `irb` friendly.
-
12:21 AM Feature #17768: Proposal: Downward assignments
- super convenient!!1
-
12:10 AM Feature #17768 (Rejected): Proposal: Downward assignments
- Rightward assignments have been introduced since 3.0.
To be honest, I'm not a big fan of the syntax because it does not add a new dimension to Ruby.
Why don't we bring Ruby to the next dimension?
## Proposal
I propose "downward... -
02:13 PM Bug #17770: Assets precompilation aborts with Segmentation fault
- Are you able to reproduce locally in a clean Rails app with administrate installed?
The backtrace looks like it could be a bug in sassc. -
08:49 AM Bug #17770 (Third Party's Issue): Assets precompilation aborts with Segmentation fault
- ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
What changed? I updated a gem version, administrate 0.14.0 to 0.15.0
when deploying to server the following error is constantly appearing.
Note: when reverting to versi... -
01:54 PM Revision 9513fcd5 (git): Suppress a warning
- Loop variables of `list_for_each` need to be initialized.
- 10:51 AM Revision 68a8f611 (git): coroutine: Darwin on ARM64 needs alignment of 2^2
-
09:58 AM Feature #17762: A simple way to trace object allocation
- > I guess if we do have a method on Object/Kernel it could simply be Object#source_location for consistency with [...] Method/UnboundMethod
Hum, That would actually be a problem. Because I might want to know where a `Method` on `Unbou... -
03:25 AM Feature #17769: Proposal: numeric coefficient syntax
- Replace the patch with refactoring.
-
03:14 AM Feature #17769: Proposal: numeric coefficient syntax
- I replaced the attached patch with changes to accept not only `2x` but also `2(x + 1)`.
-
02:13 AM Feature #17769: Proposal: numeric coefficient syntax
- `2i` is an imaginary number literal so it is `Complex(0, 2)`.
-
02:08 AM Feature #17769: Proposal: numeric coefficient syntax
- ```
i = 10
p 2i # => 20 or Complex(0,2)?
```
Matz. -
01:23 AM Feature #17769 (Rejected): Proposal: numeric coefficient syntax
- When we write a mathematical equation, we often omit a multiplication operator between a coefficient and a variable like `2x`.
I guess this convention can be useful in computer programming. Practically, Julia employs this notation:
... - 03:00 AM Revision e675a789 (git): * 2021-04-01 [ci skip]
-
03:00 AM Revision a5567350 (git): Refactored sub-seconds normalizations
- * separated argument to `timespec2timew` from `timespec` to seconds and
nano-seconds.
* unified nano-seconds and micro-seconds normalizations.
03/31/2021
-
10:13 PM Bug #17765: Segmentation fault when calling String#gsub
- > But without success so far.
I wouldn't be surprised if the bug wasn't in `gsub` itself, but in some C extension that would generate a faulty string on which `gsub` would trip. I see you have `thrift` loaded for instance. IIRC that's... -
01:10 PM Bug #17765: Segmentation fault when calling String#gsub
- It is difficult to identify the problem because the log lacks C level backtrace information maybe due to musl.
Are you using Alpine Linux? If so could you try Debian with glibc? -
11:57 AM Bug #17765 (Feedback): Segmentation fault when calling String#gsub
- We recently had a ruby segfault occuring while invoking `String#gsub`.
The line in the code looks like this:
``` ruby
def sanitize_for_prometheus(string_or_symbol)
reg = /[^a-zA-Z_0-9]/
string_or_symbol.to_s.downcase.gsub(r... -
09:56 PM Bug #17766 (Rejected): Net::HTTP verify_callback is called three times when opening a connection
-
09:50 PM Bug #17766: Net::HTTP verify_callback is called three times when opening a connection
- This is being called once for each cert in the chain, so it's an expected behavior, and this bug can be closed.
```
ruby -e 'require "net/http"; Net::HTTP.start("www.ebay.com", 443, nil, nil, nil, nil, use_ssl: true, verify_callback: ->... -
05:24 PM Bug #17766 (Rejected): Net::HTTP verify_callback is called three times when opening a connection
- I've noticed that verify_callback is called three times when opening a connection. Here is an example: (Change "localhost" to whatever host can receive an HTTPS connection.)
```
ruby -e 'require "net/http"; Net::HTTP.start("localhost... -
07:42 PM Bug #17767 (Closed): `Cloned ENV` inconsistently returns `ENV` or `self`
- GH-PR: https://github.com/ruby/ruby/pull/4344
Is this an expected behavior? 😅
```console
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin20]
```
```ruby
cloned_env = ENV.clone
p ENV.each_key{}.equal... -
06:42 PM Feature #17762: A simple way to trace object allocation
- byroot (Jean Boussier) wrote in #note-11:
> Even though a the name is very slightly weird when put in context with `Method#source_location`, as `source` have a different meaning in both of these. But `allocation_location` would be even w... -
07:05 AM Feature #17762: A simple way to trace object allocation
- > How about ObjectSpace.allocation_source(obj)?
That would be fine by me, it is a much more reasonable than the `[ObjectSpace.allocation_sourcefile(obj), ObjectSpace.allocation_sourceline(obj)]` I write almost daily.
Even though a ... -
02:04 AM Feature #17762: A simple way to trace object allocation
- Eregon (Benoit Daloze) wrote in #note-5:
> tenderlovemaking (Aaron Patterson) wrote in #note-4:
> ...
Agreed. I'm worried I may commit it inadvertently after debugging is finished.
But I'm unsure if the message is helpful to prevent t... -
02:02 AM Feature #17762: A simple way to trace object allocation
- tenderlovemaking (Aaron Patterson) wrote in #note-4:
> I submitted #10932, so I would definitely like a feature like this. 😆
Oops, sorry!
Good news: I talked with @ko1 in person, and now he is positive (or, at least not negative) to... -
01:59 AM Feature #17762: A simple way to trace object allocation
- Eregon (Benoit Daloze) wrote in #note-3:
> `require "objspace/trace"` automatically starting tracing seems dangerous, there is a pretty big performance penalty to enable it.
> ...
`require "objspace/start_tracing"` sounds good to me.
>... -
01:52 AM Feature #17762: A simple way to trace object allocation
- Thank you all for the comments.
byroot (Jean Boussier) wrote in #note-2:
> > p obj #=> #<Object:0x...> @ (file.rb):(lineno)
> ...
I think this is also one of the reasonable options.
In fact, my original idea was `Object#allocatio... -
06:34 PM Feature #17363: Timeouts
- Timeout.wake sounds a bit like Java's `Thread#interrupt()`, correct?
So it would interrupt blocking calls (`File.read`/`Queue#pop`/`rb_thread_call_without_gvl`/`sleep`/`Mutex#lock`/etc) but wouldn't interrupt not-blocking Ruby code like... -
01:14 PM Revision 2a02b61f (git): Use EnvUtil.under_gc_stress
-
10:48 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
- > Yes, I means not only the Cirrus CI.
OK.
By the way, related to this topic, I found the following ticket asking the expanded platform support of GitHub Actions. The platforms are such as PowerPC, IBM Mainframe, Solaris, old Red H... -
10:18 AM Revision 1fac99af (git): skip marking for uninitialized imemo_env.
- RUBY_INTERNAL_EVENT_NEWOBJ can expose uninitialized imemo_env
objects and marking it will cause critical error. This patch
skips marking on uninitialized imemo_env.
See: http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20210329T18... -
10:15 AM Feature #17763: Implement cache for cvars
- tenderlovemaking (Aaron Patterson) wrote in #note-6:
> Also in this case, it makes me feel weird to change the implementation of Rails when we can just make Ruby perform better. Changing Rails to suit Ruby seems like the tail wagging t... - 09:05 AM Revision 8b2f2a70 (git): [ruby/openssl] Use #ifdef consistently for HAVE_RB_EXT_RACTOR_SAFE
- We previously used a mix of both `#if` and `#ifdef`, but the latter is
more reliable because it will still work if the macro is undefined.
https://github.com/ruby/openssl/commit/e4a622e67e - 09:05 AM Revision 5ab26252 (git): [ruby/openssl] Fix OpenSSL::Engine build on Debian
- On Debian 9 (“stretch”) the `OPENSSL_NO_STATIC_ENGINE` macro is not
defined, which causes all the `#if HAVE_ENGINE_LOAD_…` directives to
fail with `error: 'HAVE_ENGINE_LOAD_…' is not defined, evaluates to 0
[-Werror,-Wundef]` while build... -
09:05 AM Revision e2bf3659 (git): [ruby/openssl] pkcs7: keep private key when duplicating PKCS7_SIGNER_INFO
- ASN1_dup() will not copy the 'pkey' field of a PKCS7_SIGNER_INFO object
by design; it is a temporary field kept until the PKCS7 structure is
finalized. Let's bump reference counter of the pkey in the original
object and use it in the new... -
06:18 AM Revision 66d2fc79 (git): Enclose the code that was accidentally a link in "tt"
-
03:13 AM Bug #17764: ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- ご教示大変ありがとうございます。
希望した動作ができました。
恥ずかしながら、ブロック引数の指定がない場合に&blkがnilとなる挙動を把握できていませんでした。
さらに一時遅いと言われたことのある&引数は従来のprocよりも高速なのですね。勉強いたします。
諸兄のご親切に重ねて御礼申し上げます。
貴重なお時間をありがとうございました。
osyo (manga osyo) wrote in #note-5:
> やりたいこととしてはこういうことでしょうか?
> .... -
03:05 AM Bug #17764: ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- 「メソッド呼び出し時のブロック引数は省略可能にしておきたい」という要求の正確な意味がわからなかったのですが、これが「引数リストに&blk変数を指定したくない」というものだとすれば、それは3.0からできなくなりました。これまではprocメソッドを引数なしで呼び出す方法でメソッドに渡されたブロックをProcとして取り出せていましたが、暗黙のコンテキスト参照が入りますし、読解の点からも望ましくないと考えての変更です。「&blk引数」を使ってください。それに、たぶんこっちのほう...
-
03:04 AM Bug #17764: ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- firelzrd (Masahito Suzuki) wrote in #note-4:
> ご返答ありがとうございます。
> ...
やりたいこととしてはこういうことでしょうか?
```ruby
def foo(&block)
# ブロック引数がない場合は block は nil になる
puts (block ? block : proc{"ブロックなし"}).call
end
foo #ブロックなし => "ブロックなし"
foo... -
02:57 AM Bug #17764: ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- ご返答ありがとうございます。
ご主旨、理解いたしました。ご教示ありがとうございます。お騒がせいたしました。
つきましては、差し支えなければ、
①ブロック引数として渡されたprocをメソッド内で変数として参照したい
②メソッド呼び出し時のブロック引数は省略可能にしておきたい
というニーズが両立する場合にどのようにすればよいか、ヒントをいただければ幸いです。
①を実現するだけならば&の付いたブロック引数を取ればよさそうですが…
あるメソッドにブロッ... -
02:35 AM Bug #17764 (Closed): ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- ブロック付きメソッドの中でブロックなし `proc` したとき、エラーになるようになった、というのが、3.0 での変更点です。
```ruby
def foo
proc
end
foo{} #=> `proc': tried to create Proc object without a block (ArgumentError)
```
-
02:30 AM Bug #17764: ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- ご返答ありがとうございます。
本件は「ブロックを指定しない proc」についてではなく「ブロックを指定した proc」がどうもバグっているのではないかと思い報告させていただきました。
ブロック付きでメソッドをコールしたとき、メソッド内ではblock_given?の値がtrueとなり、proc (またはProc.new)で渡されたブロックを参照可能なはずですが、
サンプルプログラムの挙動でもお分かりいただけるように、block_given?==trueの時のpr... -
12:56 AM Bug #17764: ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
- Ruby 3.0 からはブロック引数がない `Proc.new` / `proc` は `ArgumentError` になるようになりました。
> ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ「warning: tried to create Proc object without a block」が出力され、Ruby 2.7 では ArgumentError (tried to create Proc object witho... -
12:41 AM Bug #17764 (Closed): ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題
Ruby 3.0.0 linux x86-64およびWindows上のmingw-x86-64バイナリにて発生し、2.7.2-1ではいずれも発生しないことを確認済み。
また、2021/3/31現在、TryRubyサイト( https://try.ruby-lang.org/ ) の上でも発生することを確認済み。
```
def foo
pu...-
12:19 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- marcandre (Marc-Andre Lafortune) wrote in #note-21:
> duerst (Martin Dürst) wrote in #note-20:
> ...
Thanks for the pointer. I haven't fully understood that page, but it seems to me that in JS, the 'uniqueness' aspect is much more impo...
03/30/2021
-
11:57 PM Feature #17763: Implement cache for cvars
- duerst (Martin Dürst) wrote in #note-5:
> What would it take e.g. to switch Rails logger to something else?
> ...
Class variables have different semantics than class instance variables. It's possible to switch some things to use class... -
11:27 PM Feature #17763: Implement cache for cvars
- Eregon (Benoit Daloze) wrote in #note-4:
> Eregon (Benoit Daloze) wrote in #note-2:
> ...
I'm not sure that "better optimize, because some important code keeps using this, but don't really optimize all the way, because it's no so pop... -
07:45 PM Feature #17763: Implement cache for cvars
- Eregon (Benoit Daloze) wrote in #note-2:
> they are inherently less efficient than instance variables on modules.
@chrisseaton told me that it's not necessarily the case, and I think they can be exactly the same for a regular read (S... -
07:26 PM Feature #17763: Implement cache for cvars
- Eregon (Benoit Daloze) wrote in #note-2:
> Nice work.
> ...
I think we probably could do that. Keeping a global counter just seemed like the easiest solution at the moment. Also, cvars seem very unpopular (compared with ivars) so I'm ... -
07:05 PM Feature #17763: Implement cache for cvars
- Nice work.
I guess using a global serial here is the only way to handle overtaking without redoing the lookup every time like before.
I wonder, could the serial be global (not per module) but per name? (not asking to change anything,... -
06:24 PM Feature #17763: Implement cache for cvars
- This is the missing benchmark I copy and pasted incorrectly.
Ruby master / Rails 6.1:
```
Warming up ———————————————————
logger 155.251k I/100ms
Calculating ——————————————————
... -
05:57 PM Feature #17763 (Closed): Implement cache for cvars
- # Introduce inline cache for class variable reads
@tenderlove and I would like to introduce an inline cache for class variable reads. We've attached a patch that introduces the cache. Class variable reads are popular in Rails applicat... -
11:11 PM Feature #16295: Chainable aliases for String#-@ and String#+@
- `+@` is rarely safe to use (only if you know what allocated it and that it was never captured in another variable) as it might mutate an argument inplace, if that object is not frozen.
In most cases, people actually want to use `.dup` a... -
09:52 PM Feature #16295: Chainable aliases for String#-@ and String#+@
- danh337 (Dan Higgins) wrote in #note-14:
> I believe this shows the semantics. It's the inverse of `.freeze`:
> ...
It's not the inverse of freeze, since that is not possible in Ruby. freeze always returns the receiver. thaw could no... -
09:31 PM Feature #16295: Chainable aliases for String#-@ and String#+@
- I believe this shows the semantics. It's the inverse of `.freeze`:
`class String; def thaw; frozen? ? self.+@ : self; end; end` -
09:12 PM Feature #16295: Chainable aliases for String#-@ and String#+@
- The `-@` and `+@` calls do work fine for chaining. But `.-@` has a nice equivalent, `.freeze`. Is it possible to give `.+@` a nice equivalent, like `.thaw`? This feels more Rubyistic.
Are newer Ruby MRIs going to have core methods ret... -
08:11 PM Feature #17762: A simple way to trace object allocation
- tenderlovemaking (Aaron Patterson) wrote in #note-4:
> I don't think it's needed. If you require the file, you know it's enabled.
For the person who just wrote it it's clear enough.
But what if that accidentally gets committed and ... -
07:43 PM Feature #17762: A simple way to trace object allocation
- I submitted #10932, so I would definitely like a feature like this. 😆
> Is the message objspace/trace is enabled needed or not?
I don't think it's needed. If you require the file, you know it's enabled.
> ...
This is fine. Nobody wi... -
07:16 PM Feature #17762: A simple way to trace object allocation
- `require "objspace/trace"` automatically starting tracing seems dangerous, there is a pretty big performance penalty to enable it.
So I think the message on stderr is needed, and maybe it should be more explicit like `require "objspace/s... -
03:59 PM Feature #17762: A simple way to trace object allocation
- > Whenever I want to use them, I have to google, copy and paste the names.
Seconded. I use this feature almost daily, and somehow I also have to reach to the doc every time.
> ...
That makes sense to me.
> p obj #=> #<Object:0x.... -
03:45 PM Feature #17762: A simple way to trace object allocation
- I think this is a good suggestion.
Please correct me if my assumptions are wrong, but if I understood the general gist of it correctly
then the main point here is that, rather than focusing on specific names, such as
ObjectSpace.tra... -
02:57 PM Feature #17762 (Closed): A simple way to trace object allocation
- How about having a short hand to `ObjectSpace.trace_object_allocations_start`, `ObjectSpace.allocation_sourcefile` and `ObjectSpace.allocation_sourceline`?
They are a very powerful tool for debugging and code-reading which allows us t... -
07:18 PM Bug #17527 (Closed): rb_io_wait_readable/writable with scheduler don't check errno
-
08:15 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- I would advise we should back port this to 3.0.1 if possible. The original patch attached to this issue is sufficient.
-
07:38 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- I added a failing spec https://github.com/ruby/ruby/pull/4338/commits/e111d99ae1b58e1ffe73c167c039b2fc0728cb08 which passes with the proposed fix.
-
07:02 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- Okay, I confirmed the fix is required for `async-io` to use the native IO methods.
```
samuel@Fukurou ~/D/s/async-io (master) [1]> chruby ruby-3
samuel@Fukurou ~/D/s/async-io (master)> bundle exec rspec ./spec/async/io/stream_spec.r... -
06:12 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- PR: https://github.com/ruby/ruby/pull/4338
-
05:51 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- I think I ran into this bug on the write code path. I'm just going to confirm it.
- 03:09 PM Revision d977849e (git): * 2021-03-31 [ci skip]
-
02:41 PM Revision 94d56407 (git): Text files should end with a newline
-
02:29 PM Bug #17761 (Closed): Install location of header files in extension libraries
- Applied in changeset commit:git|5cdf99f64e344b8e4638824d55f5caf33be682ca.
----------
mkmf: fixed install directories of header files in extension libraries [Bug #17761]
When installing an extension library which provides a header, that... -
02:10 PM Bug #17761 (Closed): Install location of header files in extension libraries
- When installing an extension library which provides a header, that header should be installed under site_ruby (or vendor_ruby when "--vendor" option was given to extconf.rb).
However, currently this file is about to be installed in the ... -
02:28 PM Revision 5cdf99f6 (git): mkmf: fixed install directories of header files in extension libraries [Bug #17761]
- When installing an extension library which provides a header, that
header should be installed under site_ruby (or vendor_ruby when
"--vendor" option was given to extconf.rb). However, currently
this file is about to be installed in the ... -
02:20 PM Feature #17760 (Third Party's Issue): Where we should install a header file when `gem install --user`?
- This is because rubygems doesn't manage header files installed from gems, since no gems had installed headers until digest has been gemified.
Now rubygems needs to support such gems. -
12:51 AM Feature #17760: Where we should install a header file when `gem install --user`?
- The permission error was reported at https://github.com/ruby/digest/issues/14.
-
12:50 AM Feature #17760 (Third Party's Issue): Where we should install a header file when `gem install --user`?
- As `digest` have been made a default gem at Ruby 3.0, it can be installed by `gem install` command.
When we install `digest`, `digest.h` is installed at the same directory as `ruby.h`. But when we use `gem install --user` for instal... -
11:58 AM Revision 9713acd7 (git): Fix `coroutine_type` variable name
- 10:16 AM Revision a9c5c2d6 (git): Check errno before invoking scheduler in `rb_io_wait_readable/writable`.
- See <https://bugs.ruby-lang.org/issues/17527> for more details.
- 10:16 AM Revision 611e7110 (git): Test incorrect behaviour of `rb_io_wait_readable/writable`.
-
06:24 AM Feature #17546 (Closed): Native coroutine implementation for riscv64 Linux
- It looks like it didn't break anything, so I've merged it, but can you please test it and report back?
-
05:48 AM Feature #17546: Native coroutine implementation for riscv64 Linux
- It will be merged, https://github.com/ruby/ruby/pull/4337 but it needs more testing. Do we have any CI?
- 06:23 AM Revision b507f65d (git): Support for native riscv64 coroutines.
- 05:38 AM Revision 3d32c217 (git): Disable public interface for now.
- 05:38 AM Revision 92449e0e (git): Fix handling of timeout accessing scheduler outside of non-blocking context.
- 05:38 AM Revision af1c5875 (git): Improve timeout tests.
- 05:38 AM Revision 511acba4 (git): Update method name and add documentation.
- 05:38 AM Revision 09c865d5 (git): Fix native implementation.
- # Conflicts:
# scheduler.c -
05:38 AM Revision 67f60ebb (git): Fixed a compilation error
- 05:38 AM Revision c05dd7dc (git): Prefer `rb_check_funcall`.
- 05:38 AM Revision 9b9bbaec (git): Update lib/timeout.rb
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
- 05:38 AM Revision 4c53dc97 (git): Add hook for `Timeout.timeout`.
-
05:38 AM Feature #17470 (Closed): Introduce non-blocking `Timeout.timeout`
- Implemented in <https://github.com/ruby/ruby/pull/4173>.
- 05:28 AM Revision 93753d7e (git): * 2021-03-30 [ci skip]
-
05:27 AM Revision d65d6611 (git): [ruby/irb] Prevent the completion from crashing if rdoc is missing
- There are cases where ruby is installed without rdoc and e.g.
lib/irb/cmd/help.rb also handles the LoadError
Here is how to replicate the issue:
```
$ docker run -it alpine:3.13.3 sh
/ # apk add ruby ruby-irb ruby-io-console
/ # irb
... -
03:29 AM Bug #17737: `Array#permutation` does not immediately check the arity when no block is given
- I am not opposed to changes, but I don't believe this actually matters; I can not think of a use-case.
A similar question could be asked of `[].permutation(:oops)`. Should it raise immediately? Asked another way, if the argument respo... -
12:15 AM Bug #17573: Crashes in profiling tools when signals arrive in non-Ruby threads
- > Ah, OK. This issue doesn't expose on recent Linux system.
I can somewhat reliably repro by running `ruby --jit repro.rb` with the following:
```ruby
# repro.rb
require "stackprof"
StackProf.run(interval: 100) do
1000.ti...