Activity
From 05/11/2018 to 05/17/2018
05/17/2018
-
11:26 PM Feature #14680: Adding +@ and -@ to hash and array
- If `-@` is supposed to return a frozen *copy*, is that patch really doing that? The tests don't seem to ensure that. Do `rb_hash_freeze` and `rb_ary_freeze` make copies first or `.freeze` the given object?
-
10:43 PM Feature #14771: Add method to create DNS resource from data string
- The other record where it could be useful would be the TXT record which required to use a chunked string format.
-
01:16 PM Feature #14771: Add method to create DNS resource from data string
- Although I myself have not used/needed Resolv::DNS::Resource yet,
if the proposed #create method does not conflict with anything in
Resolv, then I think it is fine to add it. (If I understood it correctly
then this is mostly alias-rel... -
12:36 PM Feature #14771: Add method to create DNS resource from data string
- The suggested code should be (missing `resource =`):
```
if klass = Resolv::DNS::Resource.get_class(answer["type"], resource_class::ClassValue)
resource = klass.create(answer["data"])
end
``` -
12:34 PM Feature #14771 (Open): Add method to create DNS resource from data string
- I recently played around with DNS over HTTPS.
I found that it's a little bit tricky to generate the appropriate resource using the Resolv::DNS::Resource hierarchy.
Here is what my code ended up:
```
if klass = Resolv::D... -
09:02 PM Feature #14723: [WIP] sleepy GC
- I've now run a lot more batches of Rails Ruby Bench - 100 batches of 10,000 HTTP requests/batch. I am *definitely* seeing lower performance and more variance with Sleepy GC. Overall, Sleepy GC gets 169.4 req/sec mean throughput with vari...
-
07:28 PM Misc #14769: DevelopersMeeting20180621Japan
- Please comment with the following format:
```
* [Ticket info] Ticket-Title (proposer)
* Short-comment
```
Thank you for your cooperation.
Koichi
-
12:10 PM Misc #14769 (Closed): DevelopersMeeting20180621Japan
- Date: 2018/06/21 (Thu)
Time: 14:00-18:00 (JST)
Place: Cookpad Inc. (Tokyo, Japan)
Sign-up: https://ruby.connpass.com/event/88715/
Please comment your favorite ticket numbers you want to ask to discuss with your *SHORT* comment or s... -
05:31 PM Feature #14718: Use jemalloc by default?
- Yusuke, I'm not sure, I can't explain that. It does get worse as the machine gets larger. A machine with more cores will see larger bloat, which is what that graph above shows (36 cores, 40GB -> 9GB); the GVL does not appear to help. ...
- 05:11 PM Revision a2015838 (git): * 2018-05-18
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:11 PM Revision 320484d0 (git): _mjit_compile_send.erb: disable attr_reader inline
- for now, which was committed in r63333.
Currently trunk's JIT seems to have some wrong behaviors, and this is
the most suspicious culprit of them for now. In the future, I may have
a strict test environment to detect the cause, but ther... -
04:46 PM Feature #14473: Add Range#subrange?
- I have no particular opinion (neither pro nor con) on the issue itself.
On the comment:
> [..] this adds another useful Range method, Range#offset (which probably only makes sense for
> ...
I think it would be best to add a new is... -
02:02 PM Feature #14473: Add Range#subrange?
- Hi Matz!
A slightly contrived example - imagine we want to filter candidates for a new job position and harshly reject any who have a salary requirement that is not covered by our predetermined position salary range:
~~~ruby
Candi... -
07:38 AM Feature #14473 (Feedback): Add Range#subrange?
- Any (real-world) use-case?
Matz.
-
04:42 PM Feature #11747: "bury" feature, similar to 'dig' but opposite
- matz (Yukihiro Matsumoto) wrote:
> It's not clear to generate either Hash, Array, or Struct (or whatever) to bury a value.
Would it be desirable to specify the new object in a block? That would make it somewhat symmetrical to how `Ha... -
01:07 PM Feature #14097: Add union and difference to Array
- Thank you for the proposal.
I am not sure your real intention. Do you want mutating variation of or-operator?
Or just more readable alias of or-operator?
Matz.
-
12:36 PM Revision 8487c63f (git): rb_parser_printf declaration
- * node.h (rb_parser_printf): delcare as PRINTF_ARGS.
* parse.y (parser_token_value_print): cast to adjust to %c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:31 PM Misc #14698 (Closed): DevelopersMeeting20180517Japan
-
12:28 PM Misc #14770 (Open): [META] DevelopersMeeting
- A meta ticket to organize DevelopersMeeting tickets.
https://bugs.ruby-lang.org/projects/ruby/wiki#Developer-Meetings -
12:28 PM Bug #14745: High memory usage when using String#replace with IO.copy_stream
- > it looks like @stream_cipher.update can take a second destination arg (like IO#read and friends) and maybe that helps... (that appears to be OpenSSL::Cipher#update)
Cool, I didn't know that! Thanks, this allowed me to greatly simpli... -
11:46 AM Feature #14390: UnboundMethod#to_proc
- @shyouhei the point is in gradual enchancing Ruby's approach to functional/declarative chaining.
Let's look at this example:
```ruby
(1..3).each(&method(:print))
(1..3).each { |i| print i }
```
The second, in fact, is _shorte... -
06:50 AM Feature #14390 (Feedback): UnboundMethod#to_proc
- > ```
> ...
What's wrong with `map{|i| i.dig(:foo :bar, :baz) }` which is order of magnitude concise? -
11:45 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- ```ruby
Open3.popen3("cat", *Dir.glob("*.yml"))
``` -
09:43 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- popen3 uses Process.spawn and this does show this in the docs:
commandline : command line string which is passed to the standard shell
cmdname, arg1, ... : command name and one or more arguments (This for... -
09:27 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- Suppose I have a variable
`x = "abc"`
I need to cat a file `abc.yml` I write
` Open3.popen3("cat #{x}.yml")` --------------------- (1)
This will lead to Command Injection warning.
So we need to pass the arguments seperately ... -
09:21 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- Besides, the array form is to get rid of the expansion by the shell, which might cause security issues.
-
07:39 AM Bug #14765 (Rejected): Arguments passed to Open3.popen3() are not interpreted as wildcards
- wildcard expansion is done at shell.
If you need shell, specify a command line as one string. -
06:44 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- Sorry my bad. That was typing error while raising the issue. Its actually `Open3.popen3()`. Its mentioned correctly in the subject
-
12:21 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- What's `Open3.popen4`?
The bundled library open3.rb does not provide such method.
Maybe a third party's method? -
11:24 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
- Thank you for your replies Daniel, Robert!
> Also I only test the API. I don't unit test internal modules or classes.
I guess that this is usually a bad idea, but it depends on what you are using your tests for. When I have to deve... -
10:50 AM Feature #14105: Introduce xor as alias for Set#^
- gotoken (Kentaro Goto) wrote:
> By the way I recently wrote this set theoretical operation to find all uncommon files in two file collections then I reminded this feature request :)
That sounds interesting. I don't think I actually ... -
09:45 AM Feature #14105: Introduce xor as alias for Set#^
- knu (Akinori MUSHA) wrote:
> I'm afraid aliasing `^` to `xor` is not like aliasing `&` to `intersection` and `|` to `union`, because the latter two are the terms defined in the set theory whereas `xor` is (apparently) not.
Yep, that ... -
08:52 AM Feature #14105: Introduce xor as alias for Set#^
- I'm afraid aliasing `^` to `xor` is not like aliasing `&` to `intersection` and `|` to `union`, because the latter two are the terms defined in the set theory whereas `xor` is (apparently) not.
-
08:30 AM Feature #14105 (Assigned): Introduce xor as alias for Set#^
-
10:46 AM Feature #14575 (Closed): Switch Range#=== to use cover? instead of include?
- Applied in changeset trunk|r63453.
----------
range.c: === by cover?
* range.c (range_eqq): switch `Range#===` to use `cover?` instead
of `include?`. [Feature #14575] -
07:21 AM Feature #14575: Switch Range#=== to use cover? instead of include?
- Even though we still have compatibility concerns, the performance benefit can be valuable.
Let us try it to see if we have any (serious) issues.
Matz.
-
10:46 AM Revision 989e07c0 (git): range.c: === by cover?
- * range.c (range_eqq): switch `Range#===` to use `cover?` instead
of `include?`. [Feature #14575]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:17 AM Feature #14423: Enumerator from single object
- @matz
Basically, `Object#enumerate` is a method for replace _lots_ of `loop` and `while` with proper `Enumerator` (like `each` replaced `for`). Some examples:
```ruby
# API pagination, as shown above:
fetch(first_page_url).enumera... -
07:03 AM Feature #14423: Enumerator from single object
- I am not sure how much we need such method. Any (real-world) use-case?
Matz.
-
10:08 AM Feature #14697: Introducing Range#% as an alias to Range#step
- I personally am not hugely comfortable with endless Range, but I understand
the reasoning given by mame for it. There is nothing shorter than omission
of characters. :D
Since endless Range was accepted, I think using % on Range, as ... -
05:36 AM Feature #14697: Introducing Range#% as an alias to Range#step
- It seems no one has a strong objection against `Range#%`. Accepted.
Matz.
-
09:49 AM Feature #11161: Proc/Method#rcurry working like curry but in reverse order
- > It needs better (practical) usages to show usefulness of this proposal.
@akr I believe the code in my comment provides the justification:
```ruby
URLS.
map(&Faraday.method(:get).rcurry[some_get_param: 'value']).
map(&JSON.... -
06:47 AM Feature #11161 (Rejected): Proc/Method#rcurry working like curry but in reverse order
- We discussed this issue at DevelopersMeeting20180517Japan [Misc #14698].
It needs better (practical) usages to show usefulness of this proposal. -
09:45 AM Misc #14768: Add documentation for || and &&
- Adding more documentation/references is always good IMO, so
+1 on the issue. Perhaps even adding a new page called
operators.html (or something like that) may be useful in
the long run.
There is an old SO question:
https://stack... -
08:41 AM Misc #14768 (Open): Add documentation for || and &&
- The Ruby documentation doesn't seem to cover `||` and `&&`.
The only references I could find are:
http://ruby-doc.org/core-2.5.1/doc/keywords_rdoc.html
> **and** – Short-circuit Boolean and with lower precedence than `&&`
> ...
... -
08:56 AM Feature #5512 (Rejected): Integer#/ の改訂
- Too big incompatibility. Abandoned.
Matz.
-
08:53 AM Feature #5482 (Rejected): Rubinius as basis for Ruby 2.0
- We are working Ruby 3.0 now.
-
08:51 AM Feature #5400: Remove flip-flops in 2.0
- Finally, we are going to remove it. 2.6 will warn flip-flop usage of ranges.
Matz.
-
08:47 AM Feature #5400: Remove flip-flops in 2.0
- judofyr (Magnus Holm) wrote:
> Nobody knows them. Nobody uses them. Let's just get rid of flip-flops, shall we?
I know, and use them. -
08:21 AM Misc #14760: cross-thread IO#close semantics
- I feel cross-thread IO#close is not reliable way to interrupt other threads.
So, I implemented IO.copy_stream without concerning cross-thread IO#close.
Since consistency is not a goal of Ruby, I think current behavior is acceptable.
-
07:40 AM Bug #14345 (Closed): http_proxy setting should respect both parent domain and subdomain
- Applied in changeset trunk|r63452.
----------
http_proxy setting should respect both parent domain and subdomain
URI::Generic: Respect no_proxy for both parent domain and
subdomains It is now possible to add just the subdomains for pro... -
07:40 AM Revision d50ecb63 (git): http_proxy setting should respect both parent domain and subdomain
- URI::Generic: Respect no_proxy for both parent domain and
subdomains It is now possible to add just the subdomains for proxy bypass. In
a setting where the main domain needs to go through proxy while the
subdomains don't, it is now possi... -
07:27 AM Bug #14450: Enchance MatchData docs
- @stomar
I added you to docs group.
Can you proofread and commit this?
Thanks. -
06:45 AM Feature #13581: Syntax sugar for method reference
- Out of [ruby-core:85038](https://bugs.ruby-lang.org/issues/13581#change-69758) candidates, `.:` looks best to me (followed by `:::`).
Let me consider it for a while.
Matz.
-
05:56 AM Feature #6284 (Open): Add composition for procs
- Considering the combination of OOP and FP, it seems a good idea to adding both forward and reverse combination of procs. So we pick Groovy way (adding `<<` and `>>` methods to `Proc`).
We need more discussion if we would add combinati... -
05:21 AM Bug #14699: Subtle behaviors with endless range
- Need to be discussed with mrkn before December.
- 04:20 AM Revision 5a1dfb04 (git): vm_trace: implement postponed_jobs as st_table
- st_table allows the use of st_shift to act as an order-preserving
queue while allowing fast lookups to prevent duplicate jobs.
In typical Ruby apps, this table will only have one entry
for gc_finalize_deferred_register.
git-svn-id: svn... -
03:48 AM Misc #14764 (Closed): [PATCH] vm_trace: remove rb_postponed_job_t->flags
- Applied in changeset trunk|r63450.
----------
vm_trace: remove rb_postponed_job_t->flags
This field has been taking up space for 5 years and never used.
Save 8kb of memory on x86-64 for now. If we ever care about
this flag, we'll simp... - 03:48 AM Revision b86daec2 (git): vm_trace: remove rb_postponed_job_t->flags
- This field has been taking up space for 5 years and never used.
Save 8kb of memory on x86-64 for now. If we ever care about
this flag, we'll simply re-add it.
* vm_trace.c (rb_postponed_job_struct): remove flags
(postponed_job_regist... - 03:48 AM Revision 61d4df89 (git): vm_trace.c: spelling fix: PJRR_SUCESS => PJRR_SUCCESS
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:03 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
- > Btw, I noticed I leftover a ssize_t usage in my patch
> to gc_reset_malloc_info, will fixup if I commit this.
Updated patch with ssize_t fix, here:
https://80x24.org/spew/20180517024218.30730-1-e@80x24.org/raw
Also, I realiz... -
02:42 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
- ko1@atdot.net wrote:
> On last comment, I thought these counters are not reset forever.
> (because I searched only `= 0` lines)
OK. Also, did we ever consider signed type (`ssize_t`) for malloc
counters instead? This may be more... -
02:25 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
- sorry I missed the following line.
> ssize_t inc = monoctr_xchg0(&objspace->malloc_params.m);
So no problem.
On last comment, I thought these counters are not reset forever.
(because I searched only `= 0` lines) -
02:12 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
- ko1@atdot.net wrote:
> The only one problem is, if we have a bug (and it can be. because nobody test malloc/free counts), the values grow into strange values.
I think we may get strange values with malloc_increase
currently, too. ... -
01:41 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
- Honestly speaking, I forget the discussions :p
The only one problem is, if we have a bug (and it can be. because nobody test malloc/free counts), the values grow into strange values.
Now we reset them at GC time.
What do you think... -
12:14 AM Feature #14767 (Closed): [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
- gc.c: use monotonic counters for objspace_malloc_increase
atomic_sub_nounderflow is expensive and objspace_malloc_increase
was showing up near the top of some `perf` profiles. The new
implementation allows the compiler to inline an...
05/16/2018
-
11:54 PM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> I've created a script which attempts to reproduce memory fragmentation.
Great! I could reproduce the issue so easily.
But I can't understand. This program does not use I/O. Due to GVL, it is virtu... -
08:12 PM Feature #14718: Use jemalloc by default?
- Yeah, it seems that way. Those results are with jemalloc 3.6.0 (which is what Ubuntu ships), a version 4 years old. jemalloc 5.1.0 is newest and might have space and time improvements. The arena tweak appears to solve much of the imme...
-
07:22 PM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> Results, it shows a significant reduction in RSS when run with jemalloc or MALLOC_ARENA_MAX=2.
> ...
I'm not sure what the performance differences are, but looking purely at the memory usage, a 0.2% diffe... -
06:45 PM Feature #14718: Use jemalloc by default?
- I've created a script which attempts to reproduce memory fragmentation.
~~~
=begin
This script attempts to reproduce poor glibc allocator behavior within Ruby, leading
to extreme memory fragmentation and process RSS bloat.
glibc... -
09:13 AM Feature #14718: Use jemalloc by default?
- dennisb55@hotmail.com wrote:
> Personally I don't like the prospect of a hard-coded arena
> count deep in the Ruby source code. It reeks of a code-smell.
I don't like it, either; but it's good enough today for enough
users. It is... -
05:54 AM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> Dennis, my focus for this issue is fixing the memory bloat problem that plagues 1000s of Rails apps today, not a hypothetical performance problem that might affect Guilds months or years from now.
> ...
S... -
05:29 AM Feature #14718: Use jemalloc by default?
- Dennis, my focus for this issue is fixing the memory bloat problem that plagues 1000s of Rails apps today, not a hypothetical performance problem that might affect Guilds months or years from now.
In the future Ruby could increase are... -
05:14 AM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> An alternative is to tune glibc by reducing the number of arenas. Call this on startup:
> ...
I am not favourable to this.
Less arenas means greater contention & serialisation at the memory allocator... -
05:11 AM Feature #14718: Use jemalloc by default?
- @mperham,
Noah Gibbs has a Discourse based benchmark that could be useful here in regards to producing a test-case to highlight memory fragmentation and utilisation.
He has already benchmarked the raw speed of tcmalloc & jemalloc ... -
11:36 PM Feature #14766: Indicate `find_all` and `select` methods are aliases.
- FYI, I already made the documentation change, it would just need to be cherry picked: https://github.com/frewsxcv/ruby/commit/df2a373ca4d003c94f46a0c036e29c83e42ed4de
~~~
Edit: There is also a SO overflow question about it:
~~~
Y... -
05:40 PM Feature #14766: Indicate `find_all` and `select` methods are aliases.
- Seems to make sense.
Here is a link to the API documentation for Enumerable reduce:
https://ruby-doc.org/core/Enumerable.html#method-i-reduce
Edit: There is also a SO overflow question about it:
https://stackoverflow.com/ques... -
04:18 PM Feature #14766 (Closed): Indicate `find_all` and `select` methods are aliases.
- This matches the documentation for `Enumerable::inject` and `Enumerable::reduce` which are also aliases.
https://github.com/frewsxcv/ruby/commit/df2a373ca4d003c94f46a0c036e29c83e42ed4de - 09:54 PM Revision 0f0311df (git): thread: reduce GET_THREAD calls
- This allows native_sleep to use less stack (80 -> 64 bytes on
x86-64) for GVL_UNLOCK_BEGIN/END. For future APIs, we will pass
`ec` or `th` around anyways, so the BLOCKING_REGION change
should be beneficial in the future.
git-svn-id: sv... -
08:39 PM Misc #14762 (Closed): [PATCH] gc.c: use ccan/list
- Applied in changeset trunk|r63447.
----------
gc.c: use ccan/list
This seems to improve the readability of gc.c a small amount
and it doesn't have any measurable performance impact.
[ruby-core:87067] [Misc #14762] -
09:42 AM Misc #14762: [PATCH] gc.c: use ccan/list
- ko1@atdot.net wrote:
> No strong opinion.
>
> They are memo:
>
> I tried to reorder sweeping list by (a) "full page (all slots are living)" and (b)"can sweep page (there are some free-able slots)" and sweep only (b).
> No big im... -
06:01 AM Misc #14762: [PATCH] gc.c: use ccan/list
- No strong opinion.
They are memo:
I tried to reorder sweeping list by (a) "full page (all slots are living)" and (b)"can sweep page (there are some free-able slots)" and sweep only (b).
No big improvement though :p
I think usin... -
01:09 AM Misc #14762 (Closed): [PATCH] gc.c: use ccan/list
- This seems to improve the readability of gc.c a small amount
and it doesn't have any measurable performance impact.
Code reduction is nice, I might commit it soon:
gc.c | 81 +++++++++++++++++++++++++++----------------------------... - 08:39 PM Revision a3e73d13 (git): gc.c: use ccan/list
- This seems to improve the readability of gc.c a small amount
and it doesn't have any measurable performance impact.
[ruby-core:87067] [Misc #14762]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63447 b2dd03c8-39d4-4d8f-98ff-823fe69... - 06:55 PM Revision 3f7df231 (git): * 2018-05-17
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:55 PM Revision db4cba88 (git): lib/optparse.rb: improve docs
- * lib/optparse.rb: [DOC] simplify shell prompt in examples;
other minor improvements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:18 PM Misc #14698: DevelopersMeeting20180517Japan
- ana06 (Ana Maria Martinez Gomez) wrote:
> @shyouhei
> ...
Thank you for your passion and understanding.
At this time this meeting is closed because of both technical and human resource problems.
Technical issues are as shyouhei said.... -
03:04 PM Misc #14698: DevelopersMeeting20180517Japan
- @shyouhei
> I think there are chances for us to welcome only one person but very skeptic if it works for, say, 20 people. The meeting obviously does not scale. What to do then? We have to select someone by something? That doesn't sou... -
01:50 PM Misc #14698: DevelopersMeeting20180517Japan
- Hello, this is my private feeling so please don't take this as a canon.
I think it's a good idea to make the meeting more open. To do so several technical issues are there to be fixed. First, there is no extra staff to welcome you ri... -
09:31 AM Misc #14698: DevelopersMeeting20180517Japan
- @ko1 I edited my comment, I hope it is fine now. ;)
BTW, is it possible I join the meeting? It would be fine if I join only for those two issues. :)
-
08:01 AM Misc #14698: DevelopersMeeting20180517Japan
- Hi all,
The format is:
```
* [Ticket info] Ticket-Title (proposer)
* Short-comment
```
And I can copy&paste :)
I edited with some editions.
Thank you for your cooperation.
Koichi
-
01:11 PM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
- In console when we write
```stdin, stdout, stderr, wait_thr = Open3.popen3("cat .*.yml")```
All the files with names starting with ``` .``` and ending in ```.yml``` are shown
But when we do
```stdin, stdout, stderr, wait_thr = Ope... -
01:08 PM Bug #14765 (Rejected): Arguments passed to Open3.popen3() are not interpreted as wildcards
- In console when we write
```ruby
stdin, stdout, stderr, wait_thr = Open3.popen4("cat .*.yml")
stdout.readlines
```
All the files with names starting with `.` and ending in `.yml` are shown
But when we do
```ruby
stdin, stdo... -
11:06 AM Revision a667fe79 (git): configure.ac: move the checks of _XOPEN_SOURCE on Solaris
- * configure.ac (solaris*): Move the checks of _XOPEN_SOURCE to the
location before r63443, to cover non-GCC compilers on Solaris.
This partly reverts r63443.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63444 b2dd03c8-39d4-4d8... -
10:12 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
- janko.marohnic@gmail.com wrote:
> I wrote:
> > Finally, I always assumed your example is a contrived case and
> > you're dealing with an interface somewhere (not StringIO) which
> > doesn't accept a destination buffer for .read.
... -
09:33 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
- > Yes, this is an unfortunate side effect because of copy-on-write
> ...
That makes sense, thanks for the explanation.
> The other part could be anything using IO#write could create
> ...
This is on Ruby 2.5.1, so I'm guessing it do... -
09:22 AM Misc #14764: [PATCH] vm_trace: remove rb_postponed_job_t->flags
- ko1@atdot.net wrote:
> no problem. st_table also seems good.
OK, this uses st_table:
https://80x24.org/spew/20180516090720.9935-1-e@80x24.org/raw
(only lightly-tested) -
05:55 AM Misc #14764: [PATCH] vm_trace: remove rb_postponed_job_t->flags
- no problem. st_table also seems good.
-
03:12 AM Misc #14764: [PATCH] vm_trace: remove rb_postponed_job_t->flags
- Btw, 1000 slots for postponed jobs seems like overkill,
as does the use of atomics.
I think we can use a st_table with st_shift...
Hash key can be the func pointer, since this API deduplicates
calls based on function. -
02:56 AM Misc #14764 (Closed): [PATCH] vm_trace: remove rb_postponed_job_t->flags
- ```
vm_trace: remove rb_postponed_job_t->flags
This field has been taking up space for 5 years and never used.
Save 8kb of memory on x86-64 for now. If we ever care about
this flag, we'll simply re-add it.
No ABI or API compati... -
09:19 AM Bug #5419: FileUtils.cp_rの:preserveの動作
- と思ったけどそれはさすがに大丈夫でした。
```
ruby -rfileutils -e 'include FileUtils; mkdir("d1"); touch("d1/a"); chmod(0500, "d1"); cp_r("d1", "d2", preserve: true)'
``` -
09:13 AM Bug #5419: FileUtils.cp_rの:preserveの動作
- おお。処理順がそうなっているとすると、書き込み禁止のディレクトリのコピーもできませんね。
-
08:40 AM Bug #5419 (Closed): FileUtils.cp_rの:preserveの動作
- fileutils は github の方に切り出されたので、そっちにチケットを作りました。
https://github.com/ruby/fileutils/issues/21
こっちは閉じとこうと思います。 -
09:07 AM Feature #5522 (Assigned): Numeric#finite?、Numeric#infinite?、Numeric#nan? の追加
- #12039 で Numeric#finite? と #infinite? は導入されました。#nan? はどうしましょう?
-
08:35 AM Bug #5401 (Closed): Ruby 1.9.3 interpreter crash
- I believe we can close this ticket anyway. If anyone can repro, please reopen.
-
07:49 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
- I think that this is not acceptable due to the backward compatibility.
`[2].all?(:even?)` returns `false` now, but it would be `true` if this is introduced.
The behavior changes from `===` to `send` by the argument class, it doesn't se... -
04:41 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
- sawa (Tsuyoshi Sawada) wrote:
> I think `reduce` or `inject` taking a method name as an argument was convenient in the old days when symbol to proc was not available. Today, you can just add an ampersand in front of the method name.
> ... -
04:39 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
- I think `reduce` or `inject` taking a method name as an argument was convenient in the old days when symbol to proc was not available. Today, this feature of `reduce` and `inject` does not have the significance it used to have, and shoul...
-
04:05 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
- Hey Shevegen,
Thank you for your comments. I really apperciate them! I'll respond inline:
shevegen (Robert A. Heiler) wrote:
> Is there any reason why you did use ":even?" rather
> ...
The only reason I used :even? rather than :e... -
03:15 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
- Is there any reason why you did use ":even?" rather
than ":even"?
[2,4,6].all?(:even)
To me symbols with a question mark seem somewhat unusual
or rare.
However had, my question is mostly a small detail, in my
opinion, not... -
02:02 AM Feature #14763 (Closed): Allow more Enumerable methods to accept method names as symbol arguments
- Enumerable has a short hand which accepts method names as symbols.
```ruby
(5..10).reduce(:+) #=> 45
```
I'm proposing we allow the same functionality for #any?, #all?, #find, #reject, #select, #one?, #find_index. I'm requesting th... -
05:32 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
- dennisb55@hotmail.com wrote:
> This is not desirable in the longer term.
I already had the following comment in the proposed patch:
+ /*
+ * Ruby doesn't benefit from many glibc malloc arenas due to GVL,
+ * remove o... -
05:03 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
- normalperson (Eric Wong) wrote:
> Personally, I prefer using M_ARENA_MAX=1 (via MALLOC_ARENA_MAX
> ...
This is not desirable in the longer term.
CRuby will likely get true concurrency in the future via ko1's Guild proposal. Reduci... -
05:23 AM Bug #14761 (Open): TestThread#test_join_limits hangs up on Solaris 10 with gcc
- Default nil. The key `INT64_MIN` did not found in `RbConfig::LIMITS`.
-
01:31 AM Bug #14761 (Closed): TestThread#test_join_limits hangs up on Solaris 10 with gcc
- Applied in changeset commit:ruby-git|80bf542a6ccc8988e7ac6dbabcfe8955c587d402.
----------
Split TestThread#test_join_limits into peaces
* test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split
TestThread#test_join_limits for ... -
01:28 AM Bug #14761: TestThread#test_join_limits hangs up on Solaris 10 with gcc
- Does `RbConfig::LIMITS` have `'INT64_MIN'` key?
Or the default `nil`? -
04:11 AM Revision 88cb22e9 (git): configure.ac: move checks of -std=gnu99 and _XOPEN_SOURCE on Solaris
- * configure.ac (ansi_options): On Solaris, "-std=gnu99" should be
appended to CPPFLAGS instead of warnflags and strict_warnflags,
because the flag affects existance of functions and macros.
* configure.ac (solaris*): Check _XOPEN_SO... -
03:57 AM Revision 52b29a33 (git): configure.ac: revert r63438
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:40 AM Revision a12bfb3b (git): iseq body local variables
- * compile.c, iseq.c: extract body and param.keyword in iseq as
local variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:31 AM Revision db5765ba (git): fileutils.rb: remove code for OS/2 emx
- * lib/fileutils.rb (FileUtils#mv): remove code for OS/2 emx, its
support has been dropped yeas ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/15/2018
-
11:16 PM Feature #14718: Use jemalloc by default?
- Hi Yusuke, I'm sorry if this hasn't been approached the right way.
**The Problem**: Many large Rails apps have a memory fragmentation problem on 64-bit Linux. I hear reports of excessive memory consumption from users every day, I lin... -
08:43 AM Feature #14718: Use jemalloc by default?
- > mperham@gmail.com wrote:
> > An alternative is to tune glibc by reducing the number of arenas. Call this on startup:
> >
> > #include "malloc.h"
> > mallopt(M_ARENA_MAX, 2)
Btw, I created https://bugs.ruby-lang.org/iss... -
07:17 AM Feature #14718: Use jemalloc by default?
- @mame I agree this is a problem it makes it slightly more complex to install Ruby. Ideally the build process could default to "trying to download" a specific version of jemalloc and building against it if it is unacceptable to include je...
-
03:49 AM Feature #14718: Use jemalloc by default?
- I've already said to Shyouhei, his patch has a problem: configure script fails on an environment where jemalloc is unavailable. I have hoped that those who want to make jemalloc default would found (and fix) the issue.
With the inten... - 08:48 PM Revision a930a064 (git): * 2018-05-16
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
08:48 PM Revision 577002ef (git): Change logic to check _XOPEN_SOURCE on Solaris
- * configure.ac: Change logic to check _XOPEN_SOURCE on Solaris.
With _XOPEN_SOURCE, "-std=gnu99" may also be added to CPPFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:02 PM Bug #14761: TestThread#test_join_limits hangs up on Solaris 10 with gcc
- In the above situation when the test fails, `RbConfig::LIMITS['INT64_MIN']` is `nil`.
-
02:38 PM Bug #14761 (Open): TestThread#test_join_limits hangs up on Solaris 10 with gcc
- After splitting the test, TestThread#test_join_limit_negative_INT64_MIN fails.
i.e. `limit=RbConfig::LIMITS['INT64_MIN']; t = Thread.new { sleep }; t.join(limit)` hangs up. -
02:31 PM Bug #14761 (Closed): TestThread#test_join_limits hangs up on Solaris 10 with gcc
- Applied in changeset trunk|r63437.
----------
Split TestThread#test_join_limits into peaces
* test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split
TestThread#test_join_limits for investigating hang-up on Solaris.
Each met... -
02:21 PM Bug #14761 (Open): TestThread#test_join_limits hangs up on Solaris 10 with gcc
- On Solaris 10, sparc architecture, when compiling ruby (r63417) by GCC (version 4.6.2), TestThread#test_join_limits did not end.
The test ended successfully when compiling ruby by Oracle Developer Studio 12.5 or 12.6.
-
02:31 PM Revision 80bf542a (git): Split TestThread#test_join_limits into peaces
- * test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split
TestThread#test_join_limits for investigating hang-up on Solaris.
Each method tests only a single limit value.
[ruby-core:87045] [Bug #14761]
git-svn-id: svn+ssh://... -
10:51 AM Revision 6189f226 (git): signal.c: follow up r63435
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
10:38 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
- Hi Robert,
I agree that we should not change current ruby behaviour.
I see the proposal as an extra functionality not a behaviour change.
Regarding allowing ruby hackers to do all they want:
* Ruby allows developers to find their... -
09:03 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
- I am mostly neutral to somewhat against it; not because of the
additional information, but because of the **restrictions** put on
ruby hackers.
I think Daniel already summed some part of it up via:
> Also I only test the API.
>... -
08:37 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
- Sorry. I just corrected the typo:
`private_constant :Foo`
should read:
`private_constant :Bar` -
08:33 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
- Hi Grzegorz,
My proposal regarding the implementation of Internal Interfaces (internal access modifier) https://bugs.ruby-lang.org/issues/9992
was pondered when thinking around those terms but applies to internal classes/modules that... -
07:56 AM Feature #14758 (Open): Add a first-class support for isolated bounded packages / modules / contexts
- While one of the core principles of Ruby is to extend the language in a way it is a most useful and convenient tool that a software developer can have in their toolbox, lack of a first-class isolation on module level can cause some serio...
-
10:12 AM Misc #14698: DevelopersMeeting20180517Japan
- Please discuss what cross-thread IO#close semantics should be
for threads stuck in IO.select and IO.copy_stream:
https://bugs.ruby-lang.org/issues/14760
Thank you. I am ambivalent about the outcome, but it would
help me plan supp... - 10:11 AM Revision 0c91f109 (git): vm_core.h (rb_execution_context_t): interrupt_mask size to match interrupt_flag
- rb_atomic_t is 32-bit on 64-bit platforms (including the popular
x86-64 Linux), so save 4 bytes on this structure. This doesn't
result in any final size reduction due to padding, yet, but
future changes are possible to shrink rb_executi... -
10:10 AM Revision ff6520b0 (git): Added workaround to fileutils for `make btest` without rbconfig.
- Followed up r63430.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:04 AM Misc #14760 (Assigned): cross-thread IO#close semantics
- I wrote about cross-thread IO#close in ruby-core, but I'm not sure if it's a bug
or not to have missing support for IO.select and IO.copy_stream:
IO.select -
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/86655
https... -
08:25 AM Feature #14759 (Open): [PATCH] set M_ARENA_MAX for glibc malloc
- Not everybody benefits from jemalloc and the extra download+install
time is not always worth it. Lets make the user experience for
glibc malloc users better, too.
Personally, I prefer using M_ARENA_MAX=1 (via MALLOC_ARENA_MAX
env)... -
08:08 AM Revision f50051ad (git): configure.ac: maybe with jemalloc
- * configure.ac (--with-jemalloc): accept `maybe` (other than `yes`
and `no`), check for jemalloc and use it if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:46 AM Revision c3b77e70 (git): generic_erb.rb: get rid of fileutils
- * tool/generic_erb.rb: get rid of FileUtils.touch, not to depend
on fileutils.rb which will depend on rbconfig.rb which does not
exist when creating encdb.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63432 b2dd03c8-39d4-4d8f... -
07:45 AM Revision 02c1358b (git): share :cause variable
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:12 AM Feature #14757: [PATCH] thread_pthread.c: enable thread cache by default
- Oops, I forgot to squash the patch and only sent the second part :x
Anyways, it is trivial:
```
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -432,7 +432,7 @@ native_thread_destroy(rb_thread_t *th)
}
#ifndef USE_THREAD_CA... -
12:48 AM Feature #14757 (Closed): [PATCH] thread_pthread.c: enable thread cache by default
- ~~~
Since r62466 ("thread_pthread.c: shorten and fix thread cache implementation"),
our thread cache is no longer buggy with programs using fork.
This makes significant improvements in vm_thread_alive_check1
and vm_thread_create_join... -
05:53 AM Revision 60fbe013 (git): Retry to merge fileutils-1.1.0.
- * Revert "Revert "Merge fileutils-1.1.0.""
This reverts commit 84bb8e81c25d4d7d6020c3acfbbc36e9064200fa.
* Added workaround for make mjit-headers
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63430 b2dd03c8-39d4-4d8f-98ff-823... -
04:35 AM Revision a95369b3 (git): -Wno-cast-function-type
- GCC 8.1+ introduced this warning in -Weverything. It does
shed some lights on something, but rather annoying than
useful ATM. Might be a subject to revert this option in a
future.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@634... -
04:16 AM Revision 84bb8e81 (git): Revert "Merge fileutils-1.1.0."
- This reverts commit 99da3d2570e110d3024039102205f6d64174bf5e.
The change caused the following build failure:
```
.../ruby/lib/fileutils.rb:88:in `require': cannot load such file -- rbconfig (LoadError)
uncommon.mk:987: recipe for target... - 03:49 AM Revision 4e09f414 (git): thread.c: enable ppoll for FreeBSD 11.0 and later
- FreeBSD 11.0+ supports ppoll, so we may use it after accounting
for portability differences in how it treats POLLOUT vs POLLHUP
events as mutually exclusive (as documented in the FreeBSD
poll(2) manpage).
For waiting on high-numbered si... - 01:29 AM Revision a687547a (git): -test-/wait_for_single_fd: fix -Wformat-security warning
- Oops
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:22 AM Revision 6f960986 (git): Merge fileutils-1.1.0.
- This version was migrated JRuby paches.
https://github.com/ruby/fileutils/pull/18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 12:08 AM Revision ee1b07b6 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 12:08 AM Revision f4e451ce (git): test_io_wait_uncommon: new test for uncommon file types
- This should make portability problems more apparent when we try
using ppoll with rb_wait_for_single_fd on FreeBSD or other
non-Linux platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/14/2018
- 11:51 PM Revision b6f9a605 (git): test_wait_for_single_fd.rb: remove with_pipe helper
- IO.pipe natively accepts a block, nowadays.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 11:51 PM Revision 863e24b2 (git): test_wait_for_single_fd: ensure this works with kqueue
- Regardless of future features, this needs to work with
kqueue descriptors across platforms.
Today this will be useful for 3rd-party libraries using
kqueue. In the future, Ruby may use kqueue natively
and we shall ensure we can wait on ... - 11:42 PM Revision baaf3ba1 (git): test_wait_for_single_fd.rb: relax test for newer FreeBSD
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:40 PM Revision 3bc10457 (git): * 2018-05-15
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:40 PM Revision cda10c6d (git): io.c: cleanup copy_stream wait-for-single-fd cases
- Avoid paying unnecessary setup and teardown cost for rb_fdset_t
on platforms (Linux) with good poll() support. This simplifies
code makes future changes (perhaps for sleepy GC) easier.
* io.c (struct copy_stream_struct): remove rb_fdse... -
08:42 PM Feature #14723: [WIP] sleepy GC
- I wrote:
> For tracking GC statistics, we should probably keep them in
> rb_execution_context_t instead of current globals using atomics.
> To recover the most memory from GC, we want to do gc_mark_roots
That's maybe too complex f... -
04:31 PM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> Shyouhei, I'm very happy with only the change in default. I believe that will significantly improve the runtime of 1000s of Ruby apps. Thank you!
It absolutely will. In my experience, jemalloc is a tr... -
03:58 PM Feature #14718: Use jemalloc by default?
- Shyouhei, I'm very happy with only the change in default. I believe that will significantly improve the runtime of 1000s of Ruby apps. Thank you!
-
08:30 AM Feature #14718: Use jemalloc by default?
- sam.saffron (Sam Saffron) wrote:
> - On Linux X64 default to downloading a validated (using SHA1) tcmalloc/jemalloc from a particular location, allow for a flag to bypass this behavior
I have experimented with both tcmalloc and jem... -
07:53 AM Feature #14718: Use jemalloc by default?
- Review wanted:
```diff
Index: trunk/configure.ac
===================================================================
--- trunk/configure.ac (revision 63416)
+++ trunk/configure.ac (working copy)
@@ -1014,7 +1014,7 @@
AC_ARG... -
07:33 AM Feature #14718: Use jemalloc by default?
- > You can explicitly specify --with-jemalloc, for a long time. I don't see any practical reason why that's insufficient.
I think this is a very legitimate question and worth talking through.
Vast majority of consumers of Ruby use ... -
06:42 AM Feature #14718: Use jemalloc by default?
- shyouhei (Shyouhei Urabe) wrote:
> You can explicitly specify `--with-jemalloc`, for a long time. I don't see any practical reason why that's insufficient. I can turn it default on. Anything beyond that requires a good reason to do s... -
03:16 AM Feature #14718: Use jemalloc by default?
- You can explicitly specify `--with-jemalloc`, for a long time. I don't see any practical reason why that's insufficient. I can turn it default on. Anything beyond that requires a good reason to do so, not just "everybody else is jump...
-
02:14 AM Feature #14718: Use jemalloc by default?
- shyouhei (Shyouhei Urabe) wrote:
> This literally means we have to bug fix jemalloc. Please no.
It's a judgement call of which is more likely, theoretical jemalloc bugs or Ruby-on-Linux memory fragmentation?
Carrying an extra dep... -
12:09 AM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> You control the exact version and any resulting bugs.
This literally means we have to bug fix jemalloc. Please no.
> ...
Be warned; you are entering a field of persecuting minorities. Please respec... -
01:54 PM Feature #14249: Remove str[match_str]
- A use in replacement may look intuitive.
```
s = "Cage"
s["age"] = "heese"
p s
#=> "Cheese"
``` -
10:57 AM Feature #14249: Remove str[match_str]
- I believe "abc".include?("ab") is much clearer than "abc"["ab"].
Are there real usages of it?
I guess the main concern here is compatibility. -
08:43 AM Bug #14747: uninitialized constant Gem::PathSupport
- Sorry to be late with my reply
hsbt (Hiroshi SHIBATA) wrote:
> I fixed this problem at r63377. I think that this is your environment problem.
> ...
Yes I did. I completely removed this directory, and made a full new checkout. As far... -
08:33 AM Bug #14756 (Closed): `Exception` may cause SEGV when `#backtrace` returns a string
- Applied in changeset trunk|r63417.
----------
error.c: check redefined backtrace result
* error.c (rb_get_backtrace): check the result of `backtrace` even
if the method is redefined. [ruby-core:87013] [Bug #14756] -
12:12 AM Bug #14756 (Closed): `Exception` may cause SEGV when `#backtrace` returns a string
- This code causes SEGV, because `print_backtrace` expects second argument to be an array but a string is given.
```ruby
class Exception
def backtrace
"backtrace"
end
end
"".a
```
Also in ruby 2.3.7, 2.4.4, 2.5.1. -
08:33 AM Revision 6f0de6ed (git): error.c: check redefined backtrace result
- * error.c (rb_get_backtrace): check the result of `backtrace` even
if the method is redefined. [ruby-core:87013] [Bug #14756]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:14 AM Feature #14739: Improve fiber yield/resume performance
- Here is the test which shows coroutine arguments and `coroutine_transfer` result.
https://github.com/kurocha/coroutine/blob/9bbd5e514c2e0f8f3c7c1c277aa6deb5e337a9c7/test/Coroutine/transfer.cpp#L17-L21
The reason for `COROUTINE` mac... -
08:05 AM Feature #14739: Improve fiber yield/resume performance
- @ko1 I would suggest we make a Ruby specific version, but we can also try to make generic static library so that it can be maintained separately. I already have some other projects using coroutines so it's useful to me to have a C librar...
-
07:49 AM Feature #14739: Improve fiber yield/resume performance
- sorry I missed comments.
How to ship with this library? bundle it or download by others?
(this is similar discussion with jemalloc :))
-
07:40 AM Feature #14739: Improve fiber yield/resume performance
- Does this change move us any closer to being able to ship fibers between threads?
-
06:39 AM Revision 1e8ff0de (git): Update test-unit 3.2.8 for bundled gems.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 03:30 AM Revision 6c7fe8eb (git): * 2018-05-14
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:30 AM Revision 4f3c4c7d (git): RSTRING_PTR is not guaranteed to be char*-aligned
- This commit eliminates (char **)RSTRING_PTR(...) like usages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/13/2018
-
11:32 PM Feature #14249: Remove str[match_str]
- IIUC, Ana is saying that `str[match_str]` does not make sense because it always returns `match_str`.
But it does make sense because it returns `nil` if `str` does not contain such a substring. i.e. it is useful to test if the string con... -
11:32 PM Bug #14429: Overzealous escaping of + in Shellwords
- Ping (and confirming that this is still the case on `2.5.1p57`).
-
12:31 PM Revision 8b88f70a (git): compile.c: Fix segfault when VM_INSN_INFO_TABLE_IMPL is not 2
- * compile.c (ibf_dump_iseq_each): Fix a range of a conditional.
`positions` is only used when VM_INSN_INFO_TABLE_IMPL is 2.
And always `dump_body` is expected to be initialized by
`iseq->body`. For example, `dump_body->insns_info.s... - 01:18 AM Revision 83be2ce4 (git): * 2018-05-13
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:18 AM Revision 2c091f56 (git): optparse.rb: Remove redundant `.freeze`
- [Fix GH-1873]
From: Masataka Pocke Kuwabara <kuwabara@pocke.me>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/12/2018
-
06:20 PM Bug #14755: Aborted (core dumped)
- Node??
-
03:32 PM Bug #14755 (Closed): Aborted (core dumped)
- /usr/local/lib/ruby/2.5.0/armv7l-linux-eabihf/enc/encdb.so: [BUG] Segmentation fault at 0x00000000
ruby 2.5.1p57 (2018-03-29 revision 63029) [armv7l-linux-eabihf]
-- Control frame information -----------------------------------------... -
02:41 PM Misc #14753 (Closed): Add documentation for "into" option of optparse
- Applied in changeset trunk|r63410.
----------
optparse.rb: [DOC] about into: option
* lib/optparse.rb: add documentation for "into" option of #parse
and family, which stores options to a Hash.
[ruby-core:87004] [Misc #14753]
From:... -
10:41 AM Misc #14753: Add documentation for "into" option of optparse
- \o/
It's nice to see people improving on optparse - the awkward documentation
has been one reason for me to avoid it. -
06:06 AM Misc #14753 (Closed): Add documentation for "into" option of optparse
- This patch adds an example code for ``into`` option into the optparse documentation.
``into`` keyword argument has been added with https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/53444 . However documentation for usa... -
02:41 PM Revision 5c0e6cc8 (git): optparse.rb: [DOC] about into: option
- * lib/optparse.rb: add documentation for "into" option of #parse
and family, which stores options to a Hash.
[ruby-core:87004] [Misc #14753]
From: pocke (Masataka Kuwabara) <kuwabara@pocke.me>
git-svn-id: svn+ssh://ci.ruby-lang.org... -
09:14 AM Bug #14749 (Closed): IRB: `_` is not updated after exception raised
- Applied in changeset trunk|r63409.
----------
irb.rb: update `_`
* lib/irb.rb (IRB::Irb#eval_input): update `_` after exception.
[ruby-core:86989] [Bug #14749] -
09:13 AM Revision 707c5ffa (git): irb.rb: update `_`
- * lib/irb.rb (IRB::Irb#eval_input): update `_` after exception.
[ruby-core:86989] [Bug #14749]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:09 AM Revision 4969fb62 (git): fix TestInputMethod
- * test/irb/test_context.rb (TestInputMethod#initialize): fix typos
and increment `line_no` only when not reaching the end.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 09:06 AM Revision 97c07d34 (git): rss: Add option Hash support to RSS::Parser.parse
- Available options:
* :validate
* :ignore_unknown_element
* :parser_class
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:08 AM Bug #14754 (Closed): Backport openssl v2.1.1 / v2.0.8
- Ruby/OpenSSL 2.1.1 and 2.0.8 contain some bug fixes, including compatibility with LibreSSL 2.7.x.
https://github.com/ruby/openssl/compare/v2.1.0...v2.1.1
trunk is updated to v2.1.1 by r63406.
Ruby 2.5 maintainer: Please backpo... -
08:02 AM Misc #12781: Segmentation fault on macOS Sierra (sqlite3_adapter.rb)
- It's an[](http://www.diethealthsupplements.com/) apple's[](http://www.forskolinfuel-reviews.com/) bug[](http://www.bestdietpillsreviews.com/)
-
07:33 AM Revision 961cbe52 (git): openssl: merge changes in v2.1.1
- Commits in upstream repository since v2.1.0 can be found at:
https://github.com/ruby/openssl/compare/v2.1.0...v2.1.1
----------------------------------------------------------------
Kazuki Yamaguchi (7):
test/utils: disab... -
01:26 AM Revision 23666ac1 (git): io.c: fix typo and phrase [ci skip]
- [Fix GH-1872]
From: Leon M. George <leon@georgemail.eu>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:24 AM Revision 610c6ba5 (git): iseq.c: iseq body local variables
- * iseq.c: extract body and param.keyword in iseq as local
variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:24 AM Revision 67221be8 (git): iseq.c: refactoring rb_iseq_free
- * iseq.c (rb_iseq_free): call mjit_free_iseq only if iseq->body is
not NULL too, as the function accesses the body.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:58 AM Feature #14718: Use jemalloc by default?
- mperham (Mike Perham) wrote:
> ~~~
> ...
This is a very strong point.
Legacy versions of jemalloc are solid as a rock. Newer versions have a higher chance of unexpected quirks. For instance Sam Saffron had unusual results with jemal... -
12:17 AM Bug #14752: abort during build full build log
- this is the full build log
05/11/2018
-
11:34 PM Bug #14752 (Closed): abort during build full build log
- during ruby build on NetBSD arm the system aborts and I cannot find a core or anything else to
debug it. as the program miniruby does not leave a core dump
================session follows=========================
/usr/work/lang/ruby... -
10:08 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
- ShockwaveNN (Pavel Lobashov) wrote:
> Thanks for quick fix, I monkeypatched my code using your fix and working as intended.
> ...
I think the fix should be backported to 2.5.
-
01:35 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
- shugo (Shugo Maeda) wrote:
> Applied in changeset trunk|r63396.
> ...
Thanks for quick fix, I monkeypatched my code using your fix and working as intended.
Does this fix will be included in next bugfix of 2.5? Or it will be included o... -
12:39 PM Bug #14750 (Closed): [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
- Applied in changeset trunk|r63396.
----------
net/imap: Fix ArgumentError in send_string_data
Thanks to ShockwaveNN (Pavel Lobashov) for reporting the bug.
[ruby-core:86990] [Bug #14750] -
12:01 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
- You are right, it seems indeed as if it was forgotten, as seen by:
https://github.com/ruby/ruby/commit/84c1596342854208c45832ed9700482dd28efbfc#diff-4b4baaf75652a369c39b0b76e81ad54dR1315
-
09:49 AM Bug #14750 (Closed): [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
- Hi there, sorry I haven't reliable test case to reproduce an issue, since I don't have access to any public IMAP servers.
In Ruby 2.5 in file `lib/net/imap.rb` there is method `def send_string_data` which looks like
~~~ ruby
def ... -
08:07 PM Revision 4b8d33a3 (git): lib/securerandom.rb: improve docs
- * lib/securerandom.rb: [DOC] drop unnecessary `p' from code examples.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:21 PM Revision 3d1e34c1 (git): configure.ac: remove ineffective check on Solaris with GCC
- * configure.ac (solaris): Remove ineffective check for -std=iso9899:1999
on Solaris with GCC. The "-std=iso9899:1999" was replaced by
"-std=gnu99" by the commit r54895. The check is no longer effective
after that, and two years hav... -
04:48 PM Bug #14751 (Closed): error during transform_mjit_header.rb on Solaris 10
- Applied in changeset trunk|r63400.
----------
transform_mjit_header.rb: workaround for Solaris 10 with old GCC
* tool/transform_mjit_header.rb (MJITHeader.conflicting_types?):
Add workaround for Solaris 10 with old GCC (4.6.2), that ... -
04:24 PM Bug #14751 (Closed): error during transform_mjit_header.rb on Solaris 10
- Solaris 10 にて、以下のエラーで transform_mjit_header.rb に失敗します。
(r63361 にて確認)
~~~
gcc -E -DMJIT_HEADER -P -dD -m64 -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautologic... -
04:47 PM Revision 1c67c46e (git): transform_mjit_header.rb: workaround for Solaris 10 with old GCC
- * tool/transform_mjit_header.rb (MJITHeader.conflicting_types?):
Add workaround for Solaris 10 with old GCC (4.6.2), that is
essentially the same as for AIX (commit r62326), but probably
due to different GCC versions, different err... -
04:23 PM Feature #14718: Use jemalloc by default?
- ~~~
Bundle jemalloc and link it statically.
pro: No runtime hell.
con: Bloats source distribution. Costs non-glibc users.
con: Also costs the core devs because they have to sync the bundled jemalloc with the upstream.
... -
04:06 AM Feature #14718: Use jemalloc by default?
- bluz71 (Dennis B) wrote:
> Just enabling `--with-jemalloc` would satisfy pretty much most (myself included). On Linux it would be one extra dependency at build time (for distros, rvm/rbenv/ruby-install). Dependency management on the m... -
04:00 AM Feature #14718: Use jemalloc by default?
- jeremyevans0 (Jeremy Evans) wrote:
> I think you have me confused with Jason Evans, the author of jemalloc. :)
Yes indeed I did, please accept my apologies, I did believe you were the JE in jemalloc.
-
03:38 AM Feature #14718: Use jemalloc by default?
- mame (Yusuke Endoh) wrote:
> (Don't get me wrong: I'm never against jemalloc nor this feature. I'm purely unsure.)
It is right to be unsure and sceptical.
But in this case we do have years worth of experience with the benefits ... -
03:28 AM Feature #14718: Use jemalloc by default?
- > - Just enable `--with-jemalloc` default on, only for Linux.
This is my close 2nd favoured option.
> ...
No, too complicated. I don't think anyone wants this.
> - Bundle jemalloc and link it statically.
My favoured, but I un... -
03:01 AM Feature #14718: Use jemalloc by default?
- normalperson (Eric Wong) wrote:
> We will depend on distros to enable/disable the dependency on it.
Yes. This is what I wanted to ask.
Since almost all people use distros' package of Ruby, the final decision is left to distros.
Th... -
02:22 AM Feature #14718: Use jemalloc by default?
- shyouhei@ruby-lang.org wrote:
> So, I think it's clear people are interested in replacing _glibc_ malloc, not everything that exist in the whole universe.
>
> Let's discuss how we achieve that. There can be several ways:
>
> - J... -
01:31 AM Feature #14718: Use jemalloc by default?
- So, I think it's clear people are interested in replacing _glibc_ malloc, not everything that exist in the whole universe.
Let's discuss how we achieve that. There can be several ways:
- Just enable `--with-jemalloc` default on, o... -
03:46 PM Bug #14746 (Closed): $cppflags が ext/zlib/Makefile に反映されないため(?) Solaris 10 にて ext/zlib のmakeに失敗する
- Applied in changeset trunk|r63398.
----------
mkmf.rb: set cppflags
* ext/mkmf.rb (configuration): set the default cppflags, which is
referred from the default CPPFLAGS, for extension libraries.
This fixes build failure of ext/zlib... -
03:32 PM Bug #14746: $cppflags が ext/zlib/Makefile に反映されないため(?) Solaris 10 にて ext/zlib のmakeに失敗する
- mkmf時に使用した$cppflagsが生成されたMakefileに反映されないのはlib/mkmf.rbのバグだと思います。
以下のパッチで$cppflagsが生成されたMakefileに書き込まれ、ext/zlibのmakeも通ることを確認しました。(r63393にて確認)
~~~
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -1982,6 +1982,7 @@ def configuration(srcdir)
... - 03:46 PM Revision 94cb4cef (git): * 2018-05-12
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:46 PM Revision 5cc2ac98 (git): mkmf.rb: set cppflags
- * ext/mkmf.rb (configuration): set the default cppflags, which is
referred from the default CPPFLAGS, for extension libraries.
This fixes build failure of ext/zlib on Solaris 10.
[Bug #14746] [ruby-dev:50539]
git-svn-id: svn+ssh:... -
02:20 PM Bug #14747 (Feedback): uninitialized constant Gem::PathSupport
- I fixed this problem at r63377. I think that this is your environment problem.
Did you clean-up with `/cygdrive/c/Data/ruby` ? -
11:00 AM Bug #14747: uninitialized constant Gem::PathSupport
- hsbt (Hiroshi SHIBATA) wrote:
> I caused by broken csv-1.0.3.gemspec. Can you try to clean installation directory and re-install trunk version?
I tried. I completely removed the checkout, and checked everything out from svn again, th... -
01:01 PM Revision b936115e (git): fix potential memory leaks
- * parse.y (primary, new_args_tail, local_tbl): keep the order;
allocate an empty imemo first then xmalloc, to get rid of
potential memory leak when allocation imemo failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63397 b2d... -
12:39 PM Revision 59630683 (git): net/imap: Fix ArgumentError in send_string_data
- Thanks to ShockwaveNN (Pavel Lobashov) for reporting the bug.
[ruby-core:86990] [Bug #14750]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 12:12 PM Revision b787be4e (git): * 2018-05-11
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:12 PM Revision 0f4b4684 (git): Use `&.` instead of modifier if
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:22 AM Bug #14728: OptionParser takes other options as argument values
- nobu (Nobuyoshi Nakada) wrote:
> In common, an argument is determined by the preceding option, consider `grep` command's `-e` option.
> ...
Thanks! -
10:20 AM Feature #14249: Remove str[match_str]
- I can tell you that the `str[match_str]` is used in many codes, but i can't find any example now
and no, it is different from `str[regex]` ! -
09:57 AM Feature #14249: Remove str[match_str]
- My example in the first comment is not really correct (something went wrong when copying). What I meant:
~~~ ruby
params = { "user" => { "name" => "Nicolas Cage", "age" => 27 } }
params["user"]["age"] #=> 27
params = { "user" =... -
10:02 AM Misc #14698: DevelopersMeeting20180517Japan
- Hi!
I would that the following issues are discussed in the meeting:
* [Feature #14097] Add union and difference to Array (ana06)
* Addition of two new methods in aim of readability, ease of use, efficiency and consistence. There... -
08:49 AM Bug #14749 (Closed): IRB: `_` is not updated after exception raised
- After r63150, once exception raised, irb holds that exception to `_` instead of the last evaluated value.
~~~irb
$ irb -f
irb(main):001:0> RUBY_VERSION
=> "2.6.0"
irb(main):002:0> _
=> "2.6.0"
irb(main):003:0> raise RUBY_RELEASE... -
05:52 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
- janko.marohnic@gmail.com wrote:
> def initialize(content)
> @io = StringIO.new(content)
> end
>
> def read(length, outbuf)
> chunk = @io.read(length)
Finally, I always assumed your example is a contrived case and... -
04:32 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
- janko.marohnic@gmail.com wrote:
> ~~~ ruby
> def read(length, outbuf)
> chunk = @io.read(length)
>
> if chunk
> outbuf.replace chunk
> chunk.clear
Elaborating on my previous comment, chunk.clear is a no... -
03:42 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
- janko.marohnic@gmail.com wrote:
> the memory usage has now doubled to 100MB at the end of the
> program, indicating that some string bytes weren't
> successfully deallocated. So, it seems that String#replace has
> different behaviou... -
03:09 AM Bug #14748 (Closed): Inconsistent (and regressed from 2.4) behavior on `Array#min` and max between array literals and arrays
- This is already fixed in trunk at r61766. Please wait for ruby 2.5.2.
(Note that #12172 is innocent because opt_newarray_min is included in 2.4 :-)
-
03:04 AM Bug #14748: Inconsistent (and regressed from 2.4) behavior on `Array#min` and max between array literals and arrays
- Related to this?
https://bugs.ruby-lang.org/issues/14350 -
02:09 AM Bug #13407: We have recv_nonblock but not send_nonblock... can we add it?
- I have since worked around this issue, by using `sendmsg` as an alias. https://github.com/socketry/async-io/blob/dbcfb05d209a41d2283e49c75c407a93179a64b6/lib/async/io/socket.rb#L47
-
02:08 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > Server and reactor designers sometimes don't consider this case:
> ...
I see. That makes sense.
Well, `async-io` doesn't have this problem AFAIK, because it doesn't have callbacks like this. It only read when you ask it to. That do...