Project

General

Profile

Activity

From 08/16/2018 to 08/22/2018

08/22/2018

07:18 PM Revision 870af862 (git): Also skip on AIX
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
04:02 PM Revision 37fa201e (git): compile.c: pop literal object in condition
* compile.c (compile_branch_condition): pop dynamic literal
object, which is never nil/false, as the branch condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:04 PM Bug #15018: NODE_ARGSCAT is not parsed properly
Good catch! I've committed it. Thank you! mame (Yusuke Endoh)
03:04 PM Bug #15018 (Closed): NODE_ARGSCAT is not parsed properly
Applied in changeset trunk|r64510.
----------
parse.y (arg_append): support NODE_ARGSCAT case
Because of the lack of this case, `[*ary,1,2,3,4,5,6]` was parsed into
an inefficient AST like `ary + [1,2] + [3,4] + [5,6]`.
A patch from A...
mame (Yusuke Endoh)
12:10 PM Bug #15018 (Closed): NODE_ARGSCAT is not parsed properly
Instead of wrapping following arguments in one list, current implementation creates multiple list wrapping only 2 elements.
e.g.
for
[*args,1,2,3,4,5,6]
**Expected AST**:
~~~
NODE_ARGSCAT---nd_head-->NODE_SPLAT(args)
|
|-...
chopraanmol1 (Anmol Chopra)
03:04 PM Revision 954613bd (git): * 2018-08-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:04 PM Revision fad01941 (git): parse.y (arg_append): support NODE_ARGSCAT case
Because of the lack of this case, `[*ary,1,2,3,4,5,6]` was parsed into
an inefficient AST like `ary + [1,2] + [3,4] + [5,6]`.
A patch from Anmol Chopra <anmolchopra@rocketbox.in>.
Fixes [Bug #15018].
git-svn-id: svn+ssh://ci.ruby-lang....
mame (Yusuke Endoh)
02:46 PM Bug #13889: FileUtils.rmdir が Errno::ENOTEMPTY を無視している
Seems related to https://bugs.ruby-lang.org/issues/3178 - maybe close that ticket? apeiros (Stefan Rusterholz)
11:47 AM Misc #15012: Testing on latest version gcc on Travis CI
Hi Greg,
> Sorry, my message was unclear.
No problem at all. Thanks for the explanation to be cleared.
> ...
So, adding gcc-8 to the both environments makes sense for me.
What I want to share as one of the benefits is
*...
jaruga (Jun Aruga)
11:09 AM Revision 100bf275 (git): compile.c: remove tracecoverage instruction for line coverage
Line coverage was based on special instruction "tracecoverage".
Now, instead, it uses the mechanism of trace hook [Feature #14104].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mame (Yusuke Endoh)
10:38 AM Revision d65f7458 (git): parse.y: remove coverage-related code fragments
The code fragments that initializes coverage data were scattered into
both parse.y and compile.c. parse.y allocated a coverage data, and
compile.c initialize the data.
To remove this cross-cutting concern, this change moves the allocat...
mame (Yusuke Endoh)
10:38 AM Revision 52bd0d19 (git): node.h (rb_ast_t): move its field mark_ary to node_buffer_t
I want to add a new field to rb_ast_t whose size is restricted because
it is an imemo. This change makes one room in rb_ast_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mame (Yusuke Endoh)
10:22 AM Revision c5f50296 (git): prototized
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
10:13 AM Bug #15001: Peek causes cursor to advance when enumerating the lines of a file
i think the problem is that String Enumerations are rewindable while on the IO/File it is not Hanmac (Hans Mackowiak)
09:48 AM Bug #15001: Peek causes cursor to advance when enumerating the lines of a file
with slight modification of the above code,
~~~ ruby
e = File.open("f").each_line
p e.each.to_a
e.peek
p e.each.to_a
~~~
it will give following result
~~~ text
["1\n", "2\n", "3\n"]
Traceback (most recent call last):
1: from ...
ysfk (Yosfik Alqadri)
05:42 AM Feature #15017: Provide extended information about Signal
> Feature #15017: Provide extended information about Signal
> https://bugs.ruby-lang.org/issues/15017#change-73659

Implementation would be tricky, since we defer signals to run
Ruby code. (Deferring allows us to use malloc and oth...
normalperson (Eric Wong)
02:57 AM Feature #15017: Provide extended information about Signal
shevegen (Robert A. Heiler) wrote:
> Some comments (personal opinion here):
> ...
Currently, it is:
```ruby
Signal.trap("INT") {|signo| }
```
where `signo` is an integer.
What I can think of is:
```ruby
Signal.trap("INT") {|si...
nobu (Nobuyoshi Nakada)
05:24 AM Revision 664bf8bf (git): common.mk: update "make help" so that "make check" now runs test-spec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e mame (Yusuke Endoh)
05:24 AM Revision 33af0429 (git): thread.c (rb_reset_coverages): remove coverage counters from all ISeqs
When coverage measurement is enabled, the compiler makes each iseq have
a reference to the counter array of coverage.
Even after coverage measurement is disabled, the reference is kept.
And, if coverage measurement is restarted, a covera...
mame (Yusuke Endoh)
04:04 AM Revision 84fd997f (git): Avoid compiler depend error
ref r64492
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)

08/21/2018

10:17 PM Feature #15004 (Closed): Run ruby/spec in TravisCI on older versions of MRI to make sure the specs keep working with older supported versions
Applied in changeset trunk|r64502.
----------
Run specs against 2.3.7 to ensure version guards are correctly added
* See [Feature #15004].
Eregon (Benoit Daloze)
10:17 PM Revision d4313df0 (git): Run specs against 2.3.7 to ensure version guards are correctly added
* See [Feature #15004].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
10:01 PM Revision b448f23e (git): Update to ruby/spec@dd828d6
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
10:01 PM Revision 2aefb198 (git): Update to ruby/mspec@269f9cd
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
08:28 PM Revision ec1af131 (git): Only run the spec on Linux
* Other platforms seem to behave differently.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
08:28 PM Revision 778964ba (git): Revert r64483
* This reverts commit 12f624b673fd1bd1782f4c52e3b6c78d033e7b84:
"Try 4 times for WIN32OLE specs"
* It was a machine problem, it needed to be rebooted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64498 b2dd03c8-39d4-4d8f-98ff-823f...
Eregon (Benoit Daloze)
07:52 PM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
Greg.mpls@gmail.com wrote:
> At r64493, ruby-loco built successfully using the abiove patch, Thanks, Greg

Thanks! I don't know when I'll commit this, yet.
normalperson (Eric Wong)
02:57 PM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
@normalperson Eric,
At r64493, ruby-loco built successfully using the abiove patch, Thanks, Greg
MSP-Greg (Greg L)
07:52 PM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
jean.boussier@gmail.com wrote:
> In this case, how would you feel about another patch to add
> `splice` support to `IO.copy_file`?

Sure!

> My use case is that I need to efficiently write from a socket
> to a pipe, and sometimes...
normalperson (Eric Wong)
11:38 AM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
> That is incorrect, copy_file_range requires both source and
destination as regular files
Damn, I totally got mislead by that LWN article & the man page. I really searched for it but couldn't find an indication that only real files ...
byroot (Jean Boussier)
05:55 PM Feature #11076: Enumerable method count_by
How about `tally`?
```ruby
array = ['aa', 'aA', 'bb', 'cc']
p array.tally(&:downcase) #=> {'aa'=>2,'bb'=>1,'cc'=>1}
```
`tally` describes quite well to me what this method does and avoids clashing with `group` or `count`.
`tall...
djones (David Jones)
05:02 PM Feature #15017: Provide extended information about Signal
Some comments (personal opinion here):
1) I think the described use case is understandable, but if you can, I think it may
help matz and the ruby core team decide on; for example, what is the specific API
you had in mind? Could you ...
shevegen (Robert A. Heiler)
11:26 AM Feature #15017 (Open): Provide extended information about Signal
Hi,
I see that ruby already use sigaction for signal handling on linux. It would be really nice to extend it to provide also signal details in siginfo_t and then provide such details in ruby via Signal module (as additional param beside...
jreidinger (Josef Reidinger)
03:57 PM Revision 20a766d0 (git): * 2018-08-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:57 PM Revision 8783ecd8 (git): AIX also timeouts the spec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
02:57 PM Revision b8eb5309 (git): Add more assertions for NotImplementedError of instance method
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
02:40 PM Revision efb002cd (git): rename an argument of calc_wday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e akr (Akira Tanaka)
01:44 PM Misc #15012: Testing on latest version gcc on Travis CI
@jaruga,
Sorry, my message was unclear. For quite some time, Ruby trunk has been built on Appveyor using the MSFT VC compiler (mswin). Sometime last year, full testing was added to that build.
In the wild, most Windows Ruby users...
MSP-Greg (Greg L)
10:04 AM Misc #15012: Testing on latest version gcc on Travis CI
> Given that Appveyor/Windows MSYS2/MinGW also has gcc 8.2.0 available (ruby-loco uses it), seems like a good idea to me. One would hope that newer gcc releases are also better optimized for JIT...
It looks good idea to add gcc 8 on t...
jaruga (Jun Aruga)
12:41 AM Misc #15012: Testing on latest version gcc on Travis CI
Given that Appveyor/Windows MSYS2/MinGW also has gcc 8.2.0 available (ruby-loco uses it), seems like a good idea to me. One would hope that newer gcc releases are also better optimized for JIT...
Off topic - about Appveyor testing - ...
MSP-Greg (Greg L)
01:39 PM Revision 682a661e (git): Re-Revert "Temporary revert "process.c: dead code when no SIGCHLD""
This re-reverts commit r64447.
The issue was machine side problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
12:45 PM Feature #15010: Reduce allocation for rest parameters
Limitation of patch 2.
1. Patch 2 gets slower than Patch 1 for a large array. Array with length 100 - 200 have similar performance but beyond that patch 1 is faster in most of the case.
2. Patch 2 results in segmentation fault fo...
chopraanmol1 (Anmol Chopra)
07:26 AM Feature #15010: Reduce allocation for rest parameters
chopraanmol1 (Anmol Chopra) wrote:
> I'm also thinking of an alternate solution which will avoid passing the skip_dup_flag variable around, If we can ensure that args->rest is not used/assigned until args_copy is called. To do this when...
chopraanmol1 (Anmol Chopra)
05:59 AM Feature #15010: Reduce allocation for rest parameters
chopraanmol1 (Anmol Chopra) wrote:
> Moving method to internal.h breaks jit https://travis-ci.org/ruby/ruby/builds/418529271 , I'm not sure how to fix this failure.
Define the function with `MJIT_FUNC_EXPORTED`.
nobu (Nobuyoshi Nakada)
05:36 AM Feature #15010: Reduce allocation for rest parameters
normalperson (Eric Wong) wrote:
> New functions prototypes should go into internal.h, though.
> ...
Moving method to internal.h breaks jit https://travis-ci.org/ruby/ruby/builds/418529271 , I'm not sure how to fix this failure.
chopraanmol1 (Anmol Chopra)
05:19 AM Feature #15010: Reduce allocation for rest parameters
I'm also thinking of an alternate solution which will avoid passing the skip_dup_flag variable around, If we can ensure that args->rest is not used/assigned until args_copy is called. To do this when VM_CALL_ARGS_SPLAT flag is on instead... chopraanmol1 (Anmol Chopra)
04:46 AM Feature #15010: Reduce allocation for rest parameters
normalperson (Eric Wong) wrote:
>
> ...
Updated.
mame (Yusuke Endoh) wrote:
>
> ...
For now, I'm renaming the method to rb_ary_behead (suggested by nobu)
chopraanmol1 (Anmol Chopra)
02:11 AM Revision c8a34443 (git): cont.c: fix syntax error
* cont.c (struct rb_fiber_struct): fix wrong usage of BITFIELD in
r64487, which caused syntax error on pre-C99 compilers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:03 AM Bug #15015 (Closed): Build failure from `git clone`
Applied in changeset trunk|r64491.
----------
common.mk: timestamp directory
* common.mk: timestamp files need the timestamp directory.
[Bug #15015] [ruby-core:88584]
nobu (Nobuyoshi Nakada)
01:06 AM Bug #15015 (Closed): Build failure from `git clone`
I got build failure related mjit header.
```
chkbuild002% make
BASERUBY = /usr/local/bin/ruby --disable=gems
CC = cc
LD = ld
LDSHARED = cc -shared
CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wn...
hsbt (Hiroshi SHIBATA)
02:02 AM Revision 5a336c26 (git): common.mk: timestamp directory
* common.mk: timestamp files need the timestamp directory.
[Bug #15015] [ruby-core:88584]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:01 AM Revision 79bdb6f9 (git): thread*.c: replace GetMutexPtr with mutex_ptr
Following ko1's lead in r59192, this gets rid of non-obvious
assignments which happen inside macros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
01:01 AM Revision 383d7dba (git): cont.c: replace "GetFooPtr" macros with "foo_ptr" functions
Following ko1's lead in r59192, this gets rid of non-obvious
assignments which happen inside macros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
12:16 AM Revision 7e5423b8 (git): internal.h: remove prototype for non-existent rb_divert_reserved_fd
I forgot to remove it 3 years ago in r51576
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong

08/20/2018

11:48 PM Revision aba0929a (git): cont.c (struct rb_fiber_struct): bitfields for trasnferred and status
On 32-bit x86, this reduces the struct from 836 to 832 bytes and
brings us down to 13 (64-byte) cachelines (from 14).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
11:29 PM Misc #15014 (Closed): thread.c: use rb_hrtime_scalar for high-resolution time operations
thread.c: use rb_hrtime_t scalar for high-resolution time operations
Relying on "struct timespec" was too annoying API-wise and
used more stack space. "double" was a bit wacky w.r.t rounding
in the past, so now we'll switch to usin...
normalperson (Eric Wong)
11:14 PM Feature #15010: Reduce allocation for rest parameters
normalperson (Eric Wong) wrote:
> > Added rb_ary_clear_m (suggestion for a better name will be
> ...
What about rb_ary_clear_head? (or rb_ary_behead :)
nobu (Nobuyoshi Nakada)
10:15 PM Feature #15010: Reduce allocation for rest parameters
Thank you, too. Two points:
First, the prefix `_m` is often used for an entry function of Ruby-level method that is passed to `rb_define_method`. Though it is just an internal function, it would be better to avoid the prefix. How a...
mame (Yusuke Endoh)
07:04 PM Feature #15010: Reduce allocation for rest parameters
chopraanmol1@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > Cool! It's probably worth implementing something like
> > rb_ary_shift_m (but without the return value) to avoid looping
> > on rb_ary_shift.

> Added rb_ary_...
normalperson (Eric Wong)
10:27 AM Feature #15010: Reduce allocation for rest parameters
normalperson (Eric Wong) wrote:
> Cool! It's probably worth implementing something like
> ...
Added rb_ary_clear_m (suggestion for a better name will be appreciated) with suggested changes.
mame (Yusuke Endoh) wrote:
> Some oth...
chopraanmol1 (Anmol Chopra)
06:42 AM Feature #15010: Reduce allocation for rest parameters
chopraanmol1@gmail.com wrote:
> Yes, it can be further optimized for keyword argument and argument setup for the block. I'll modify the patch in a day or two.

Cool! It's probably worth implementing something like
rb_ary_shift_m (...
normalperson (Eric Wong)
06:29 AM Feature #15010: Reduce allocation for rest parameters
mame (Yusuke Endoh) wrote:
> Some other functions in vm_args.c also use rb_ary_dup. There may be more room to optimize.
Yes, it can be further optimized for keyword argument and argument setup for the block. I'll modify the patch in...
chopraanmol1 (Anmol Chopra)
05:13 AM Feature #15010: Reduce allocation for rest parameters
Looks good to me. Though destructive operation to the rest array may make the source code unclear, performance is more important in this case, I think.
Some other functions in vm_args.c also use rb_ary_dup. There may be more room to...
mame (Yusuke Endoh)
10:23 PM Bug #14966 (Closed): 2.5 branch - Appveyor failures - backport missed line
hsbt (Hiroshi SHIBATA)
10:17 PM Bug #14966: 2.5 branch - Appveyor failures - backport missed line
Please see [GitHub PR 1939](https://github.com/ruby/ruby/pull/1939), which passed.
I guess a look at ruby_2_4 is next, as it's also failing...
MSP-Greg (Greg L)
09:34 PM Bug #15013 (Closed): thread_pthread.c: reinitialize ubf_list at fork
Applied in changeset trunk|r64485.
----------
thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startu...
normalperson (Eric Wong)
09:01 PM Bug #15013 (Closed): thread_pthread.c: reinitialize ubf_list at fork
thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startup.
And while we're at it, use a static i...
normalperson (Eric Wong)
09:34 PM Revision 39c64117 (git): thread*.c: avoid unnecessary initialization for list_for_each_safe
According to r52446, it is only necessary for the current item (@i),
not the `@nxt` parameter for list_for_each_safe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
09:34 PM Revision 17e4aff2 (git): thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startup.
And while we're at it, use a static initializer at startup
to save a library call and kill s...
Eric Wong
08:45 PM Revision ce48b558 (git): test/socket/test_socket.rb (timestamp_retry_rw): IO.select before recvmsg
CI failures are still happening from these tests, but try
to break out of it earlier instead of holding up the job.
[Bug #14898]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > (*) Along those lines, I think the "lock" idiom for GVL is not
> > ideal for performance (kosaki rewrote the GVL for 1.9.3 to
> > optimize for contention as a result...
normalperson (Eric Wong)
01:30 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
normalperson (Eric Wong) wrote:
> (*) Along those lines, I think the "lock" idiom for GVL is not
> ...
I don't follow, which data structures would the scheduler protect?
Internal VM data structures but not e.g. Ruby Hash?
> Note:...
Eregon (Benoit Daloze)
07:52 PM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
jean.boussier@gmail.com wrote:
> However from my understanding, contrary to `sendfile` and
> `splice`, `copy_file_range` has no file type restriction, it
> should be able to copy from and to sockets and pipes just
> fine.

That is...
normalperson (Eric Wong)
04:45 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
normalperson (Eric Wong) wrote:
> Thank you for taking the time to do this!
> ...
Initial pass had that, but I decided to line up with recommendations from the guidelines. Not great for human parsing, especially when nested with `NORET...
methodmissing (Lourens Naudé)
07:32 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
Thank you for taking the time to do this!

> The GCC specific [cold](https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gcc/Function-Attributes.html) function attribute works in the following way (from GCC docs):

Since it's gcc (and clang); ...
normalperson (Eric Wong)
01:19 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
Interesting.
Re: label attributes. JFYI I once tried them https://github.com/ruby/ruby/pull/1805/files
(answer, bitblt, and all the trace_* instructions are marked cold.)
It did change generated binary to arrange branches, but I saw...
shyouhei (Shyouhei Urabe)
03:48 PM Revision 12f624b6 (git): Try 4 times for WIN32OLE specs
* They seem to fail a lot on:
http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
03:41 PM Revision a8d6ba1f (git): Revert r64471
* This reverts commit 9ab04897bd06767f773b35c6958a0551981093aa:
"don't run specs add at r64409 on Windows"
* It doesn't seem to help:
http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html
git-svn-id: svn+ssh://...
Eregon (Benoit Daloze)
03:34 PM Revision e8222695 (git): * 2018-08-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:33 PM Revision 023537f8 (git): Remove extra semicolon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
03:21 PM Misc #15012: Testing on latest version gcc on Travis CI
If you want to imagine how gcc-N and clang test cases work on both linux and osx of Travis CI, I can share this project's case.
https://travis-ci.org/trinityrnaseq/trinityrnaseq
https://github.com/trinityrnaseq/trinityrnaseq/blob/mas...
jaruga (Jun Aruga)
02:30 PM Misc #15012: Testing on latest version gcc on Travis CI
The demerit is
* The Travis test running time could be longer than current one. But maybe not so long time because those test cases are run in parallel.
* I am not sure whether the "ppa:ubuntu-toolchain-r/test" repository [1] shown ...
jaruga (Jun Aruga)
02:23 PM Misc #15012 (Closed): Testing on latest version gcc on Travis CI
Ruby's Travis CI [1] is running on gcc 4.8.4 as the default behavior of Travis gcc setting.
Right now gcc's latest version is 8.
Though it is important to test on the old version gcc-4.8, also it is meaningful to test on the latest ver...
jaruga (Jun Aruga)
08:24 AM Revision d6bfef79 (git): Update link to Email address specification
The current link leads to 404, I updated to the actual one.
[Fix GH-1929] [ci skip]
Author: Nikolay Belov <travelerspb@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
06:17 AM Misc #15011 (Closed): [PATCH] thread_pthread.c: use eventfd instead of pipe on Linux
thread_pthread.c: use eventfd instead of pipe on Linux
Based on r64478, any regular user creating more than 1024 pipes
on Linux will end up with tiny pipes with only a single page
capacity. So avoid wasting user resources and use l...
normalperson (Eric Wong)
06:12 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
ko1@atdot.net wrote:
> Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
> https://bugs.ruby-lang.org/issues/14898#change-73373

Still not solved. This might be a similar issue to r64478 with
to...
normalperson (Eric Wong)
01:43 AM Revision 332b302f (git): spec/ruby/core/io/select_spec.rb: workaround stuck IO.select
Under pipe page memory pressure on Linux, a pipe may only be
created with a single buffer[1]. And as of Linux v4.18, the
fs/pipe.c::pipe_poll callback does not account for merging
done in fs/pipe::pipe_write; only the number of usable b...
Eric Wong

08/19/2018

11:36 PM Revision 25d274b3 (git): thread_sync.c (rb_condvar_initialize): remove extra semicolon
Oops :x
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
11:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > "git bisect" points to r63498 ("thread_pthread.c: enable
> > thread cache by default"), which is HIGHLY unexpected.
>
> So it seems it doesn't happen in Ruby <= 2.5...
normalperson (Eric Wong)
09:42 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
normalperson (Eric Wong) wrote:
> r64467 seems to make CI happy, at least
Great!
> ...
I could also verify it fails before your commit, and passes after with:
taskset -c 1 mspec-run -R1000 library/conditionvariable/wait_spe...
Eregon (Benoit Daloze)
07:52 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Eric Wong wrote:
> Fwiw, I can still reproduce the failures with low timeouts:
>
> ```
> diff --git a/thread_pthread.c b/thread_pthread.c
> index 2fd60ddd4a..e8da3ee9c2 100644
> --- a/thread_pthread.c
> +++ b/thread_pthread.c
>...
normalperson (Eric Wong)
10:04 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> I think we need to give some thinking on this,
> and I don't want to stress you to fix it to fix the build.
> (although this should be solved soon IMHO, latest before the next preview/RC)

It needs to be...
normalperson (Eric Wong)
12:13 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
normalperson (Eric Wong) wrote:
> Maybe wishful thinking, but r64464 might be the right fix.
Seems it's not yet fully fixed unfortunately:
http://ci.rvm.jp/results/trunk_clang_39@silicon-docker/1236189
http://ci.rvm.jp/results/tru...
Eregon (Benoit Daloze)
10:20 PM Revision d9cb9017 (git): thread_sync.c (rb_mutex_sleep): disable interrupt checking in ensure
This is needed to reliably fix ConditionVariable#wait on Thread#kill
[Bug #14999] because there is still a chance an interrupt could fire
and prevent lock acquisition after an ensure statement.
Arguably, rb_mutex_lock itself should be u...
Eric Wong
08:40 PM Revision 6056dae7 (git): thread.c (rb_thread_fd_select): fix off-by-one with sigwait_fd
select(2) needs the nfds argument to be one higher than the
largest FD in the sets :x
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:16 PM Revision 883422b1 (git): thread_sync.rb (rb_condvar_wait): golf out unnecessary variables
GCC is smart enough to optimize these away, but my attention
span is too short :{
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:16 PM Revision 6343dd4a (git): * 2018-08-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:16 PM Revision d167aae2 (git): test/ruby/test_io.rb (test_select_leak): quiet unused variable warning
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eric Wong
04:25 PM Feature #15010 (Closed): Reduce allocation for rest parameters
Currently multiple arrays are allocated while making a call to method with rest parameter.
E.g.
~~~
def rest_method(*args) #-> This will create 2 arrays
end
def post_method(*args,last) #-> This will create 3 arrays
end
~~~
...
chopraanmol1 (Anmol Chopra)
01:59 PM Feature #15009 (Closed): Add negotiated SSL protocol and cipher to Net::HTTP debug output
This makes is easier to verify what Ruby has negotiated with the server. An example of why you'd want to double check; for credit card payment data the PCI DSS [mandates](https://blog.pcisecuritystandards.org/are-you-ready-for-30-june-20... bdewater (Bart de Water)
01:25 PM Revision 9ab04897 (git): don't run specs add at r64409 on Windows
Maybe it breaks http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20180817T095734Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
01:23 PM Revision d5c112ff (git): select() on all platforms for Socket#recvmsg_nonblock spec
* The specs above already do that, and Solaris needs it too:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20180819T111806Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64470 b2dd03c8-39d...
Eregon (Benoit Daloze)
01:55 AM Revision ed32e526 (git): NEWS: categorized new entries all
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:33 AM Revision b97e215b (git): Fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:38 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
Eregon (Benoit Daloze) wrote:
> What is "original chunky PR" VS "then trunk"?
> ...
First one is from the changeset in https://github.com/ruby/ruby/pull/1922, but it's gotten too large to review, hence the split into smaller incrementa...
methodmissing (Lourens Naudé)
12:23 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
What is "original chunky PR" VS "then trunk"?
Which one is original and which one with your patch?
The first one seems better.
Eregon (Benoit Daloze)
12:01 AM Revision d2afeb94 (git): thread_pthread.c: reset timeslice delay when uncontended
This matches the behavior of old timer thread more closely
and seems to fix [Bug #14999] when limited to a single CPU.
I cannot reproduce the error on a multi-core system unless
I use schedtool to force affinity to a single CPU:
schedto...
Eric Wong
12:01 AM Revision 77038f9f (git): Revert "thread_sync.c (rb_mutex_sleep): skip interrupt check before sleep"
This reverts commit 2e420b8b99db4a5b81e2deda1ca386d59ad6bcba (r64464)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong

08/18/2018

11:49 PM Revision f6f54d77 (git): Guard spec which only works on Linux
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
11:17 PM Misc #15007 (Assigned): Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
References Github PR https://github.com/ruby/ruby/pull/1934
### Why?
An incremental extraction from PR https://github.com/ruby/ruby/pull/1922, specifically addressing the feedback from Yui Naruse in https://github.com/ruby/ruby/pul...
methodmissing (Lourens Naudé)
09:22 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> It failed for http://ci.rvm.jp/results/trunk_gcc6@silicon-docker/1235550

Maybe wishful thinking, but r64464 might be the right fix.

Time for Me#sleep
normalperson (Eric Wong)
07:35 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Applied in changeset commit:ruby-git|c742050ea5fd30108f913383c0fafc4614adb04c.
----------
Revert r64441
* This reverts commit 647fc1227a4146ecbfeb0d59358abc8d99cd8ae6:
"thread_sync.c (rb_mutex_synchronize): only unlock if we own the ...
Eregon (Benoit Daloze)
03:56 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
It failed for http://ci.rvm.jp/results/trunk_gcc6@silicon-docker/1235550 Eregon (Benoit Daloze)
01:54 PM Bug #14999 (Open): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Eregon (Benoit Daloze)
01:54 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Applied in changeset trunk|r64448.
----------
Revert r64441
* This reverts commit 647fc1227a4146ecbfeb0d59358abc8d99cd8ae6:
"thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutex"
* Let's try to preserve the semantics...
Eregon (Benoit Daloze)
01:50 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
OK, I'll revert r64441 since I think we should preserve the semantics of always being locked inside Mutex#synchronize, even if an exception interrupts ConditionVariable#wait.
Let's keep thinking about how to implement that correctly.
...
Eregon (Benoit Daloze)
11:42 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> What was wrong with the first patch?

I still saw CI failures with it:

http://ci.rvm.jp/results/trunk_gcc7@silicon-docker/1234097

In retrospect, it could've also been fixed with [Feature #15002]

>...
normalperson (Eric Wong)
11:13 AM Bug #14999 (Open): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Eregon (Benoit Daloze)
11:05 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
What was wrong with the first patch?
It looks good from a quick glance, although indeed it doesn't deal with Mutex_m.
Maybe Thread.handle_interrupt(Object => :on_blocking) (or the equivalent in C) would help?
> No good. Now testing:...
Eregon (Benoit Daloze)
06:32 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Eric Wong wrote:
> Committed a version which only avoids switching on r64436
> We'll see if CI alerts are quieter, now.

No good. Now testing:
https://80x24.org/spew/20180818062657.3424-1-e@80x24.org/raw
(should commit when done ...
normalperson (Eric Wong)
04:42 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Eric Wong wrote:
> eregontp@gmail.com wrote:
> > @normalperson I added the specs in r64409.
> > However I just saw that the spec failed once on Ubuntu:
> > https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/201808...
normalperson (Eric Wong)
12:32 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> @normalperson I added the specs in r64409.
> However I just saw that the spec failed once on Ubuntu:
> https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20180817T213003Z.fail.html.gz

...
normalperson (Eric Wong)
08:04 PM Revision 2e420b8b (git): thread_sync.c (rb_mutex_sleep): skip interrupt check before sleep
We do not want to risk switching threads before going to sleep
because it can cause unexpected wakeups and put us in an
unexpected state when used with ConditionVariable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64464 b2dd03c8-...
Eric Wong
07:37 PM Revision 17d20383 (git): Special case for Solaris 11x on RubyCI
* Where localhost is an alias but not the primary name of 127.0.0.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:37 PM Revision 4dc1c725 (git): Be more flexible in the protocol value returned by getaddrinfo()
* Only Solaris 2.10 i386 and Windows seem to return 0 it and other
Solaris seem to fill the value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:37 PM Revision 08bca6b6 (git): Adapt pack_sockaddr_in specs for Solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
07:36 PM Revision 10f642ba (git): Use ftp for the service in getaddrinfo/getnameinfo/getservbyname specs
* Solaris cannot resolve 'http' but can resolve 'ftp'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:36 PM Revision 61a33fa8 (git): Simplify to a more standardized Socket SCM constant in specs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
07:36 PM Revision 686a4e24 (git): Add guards for Solaris for socket specs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
07:36 PM Revision 946c0808 (git): Adapt spec to consider Solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
07:35 PM Revision 08563f2e (git): Use 127.0.0.1 instead of localhost in Addrinfo specs
* Solaries doesn't support Addrinfo.getaddrinfo('localhost', 80),
but supports Addrinfo.getaddrinfo('127.0.0.1', 80).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:35 PM Revision 3405ea62 (git): Accept TypeError for Socket#getnameinfo
* Happens when VALIDATE_SOCKLEN() actually checks the length such as on
FreeBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:35 PM Revision 7b37c8cd (git): Always set autoclose=false for IO.for_fd fds
* I believe this should be default behavior, see [Feature #2250].
* Now make test-spec MSPECOPT='-R100 spec/ruby/library/socket' works fine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:35 PM Revision bf4276b4 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
07:35 PM Revision 0cd63557 (git): Re-add socket specs
* This reverts commit df9521fd043df1fb862e46f9b1af83223f16eb2d:
"Remove failing spec files"
* Platform guards follow in the next commits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
07:03 PM Revision bfdf6cde (git): Revert "thread.c (sleep_*): check interrupt before changing th->status"
This reverts commit 9e59487a38d914275bedcde723923f22b3779e59 (r64449)
More (but different) CI failures I can't reproduce locally...
http://ci.rvm.jp/results/trunk-test@ruby-sky3/1235951
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk...
Eric Wong
06:29 PM Revision 49a5f2c5 (git): * 2018-08-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:29 PM Revision 9e59487a (git): thread.c (sleep_*): check interrupt before changing th->status
Having threads switch before we sleep can cause applications
to misread the state of the thread. Now, we are consistent
with blocking_region_begin behavior and change th->status
AFTER checking interrupts.
Maybe this can fix [Bug #15002...
Eric Wong
05:59 PM Feature #14609: Let `Kernel#p` without an argument print the receiver
I don't mind, personally. To me, the biggest improvement was
that we could omit doing:
require 'pp'
;)
Since I did that a lot in my code. (I love pp; I think I use it
more than just p)
I personally have not been using (...
shevegen (Robert A. Heiler)
05:45 PM Feature #8661: Add option to print backtrace in reverse order (stack frames first and error last)
I think I agree with mame - perhaps it should be reverted for now.
There was another ruby hacker from japan who wrote, some time ago
(a year or two?), that he was confused about it too; I don't remember
where it was but I think it w...
shevegen (Robert A. Heiler)
04:17 PM Feature #2250: IO::for_fd() objects' finalization dangerously closes underlying fds
Here is my opinion, from the experience of chasing many IO.for_fd bugs due to this behavior.
I agree with the reporter, it doesn't make sense to autoclose a fd which is not owned (for_fd didn't create it, something else did, and it's ex...
Eregon (Benoit Daloze)
01:52 PM Revision c742050e (git): Revert r64441
* This reverts commit 647fc1227a4146ecbfeb0d59358abc8d99cd8ae6:
"thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutex"
* Let's try to preserve the semantics of always being locked inside
Mutex#synchronize, even if an...
Eregon (Benoit Daloze)
12:35 PM Revision b5b5b28c (git): Temporary revert "process.c: dead code when no SIGCHLD"
This reverts commit r64407.
Maybe it breaks http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20180817T095734Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
09:56 AM Revision 3e1a6fee (git): NEWS: quote false [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
09:53 AM Revision b6eb3fcb (git): NEWS: converted to Markdown [ci skip]
* NEWS: Converted to Markdown format, from (wrongly) Markdown-mixed
RDoc format.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:22 AM Feature #15002: [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
takashikkbn@gmail.com wrote:
> Thanks to deal with it. Actually test-all with --jit-wait is
> running successfully on my Wercker CI and ko1's
> trunk-mjit-wait for now
> http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker, but
...
normalperson (Eric Wong)
09:07 AM Feature #15002 (Closed): [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
Applied in changeset trunk|r64444.
----------
thread.c (sleep_*): reduce the effect of spurious interrupts
Spurious interrupts from SIGCHLD cause Mutex#sleep (via
ConditionVariable#wait) to return early and breaks some use
cases. Sinc...
normalperson (Eric Wong)
07:51 AM Feature #15002: [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
Thanks to deal with it. Actually test-all with --jit-wait is running successfully on my Wercker CI and ko1's trunk-mjit-wait for now http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker, but as long as it passes the tests on your envi... k0kubun (Takashi Kokubun)
09:07 AM Revision fe2f89af (git): thread.c (sleep_*): reduce the effect of spurious interrupts
Spurious interrupts from SIGCHLD cause Mutex#sleep (via
ConditionVariable#wait) to return early and breaks some use
cases. Since these are outside the programs's control with
MJIT, we will only consider pending interrupts (e.g. those
fr...
Eric Wong
08:35 AM Bug #14416: Net::POPMail methods modify frozen literal when using default arg
ruby_2_5 r64443 merged revision(s) 62099. nagachika (Tomoyuki Chikanaga)
08:35 AM Revision 3993fbb5 (git): merge revision(s) 62099: [Backport #14416]
net/pop: make modified strings mutable
Thanks to Michael Zimmerman for the bug report
* lib/net/pop.rb: make modified strings mutable
[ruby-core:85210] [Bug #14416]
* test/net/pop/test_pop.rb: new test...
nagachika (Tomoyuki Chikanaga)
07:26 AM Revision 3bee3527 (git): [DOC] Fix indent [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
06:33 AM Revision 647fc122 (git): thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutex
If an exception is raised inside Mutex#sleep (via ConditionVariable#wait),
we cannot guarantee we can own the mutex in the ensure callback.
However, who owns the mutex at that point does not matter. What
matters is the Mutex is usable ...
Eric Wong
06:05 AM Revision 6e0d69e4 (git): Revert "thread_sync.c (do_sleep): avoid thread-switch/interrupt check"
This reverts commit d7ddbff2954ba22b71bdfeba4b94e1c4fb91efb0 (r64436)
Seems worthless at preventing CI failures
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
05:20 AM Bug #14868: [PATCH] process.c (ruby_fork_ruby): fix race in signal handling
ruby_2_5 r64439 merged revision(s) 63741. nagachika (Tomoyuki Chikanaga)
05:20 AM Revision c66c5f3c (git): merge revision(s) 63741: [Backport #14868]
process.c (ruby_fork_ruby): fix race in signal handling
We must block signals before stopping timer-thread, otherwise
signal handing may be delayed until (and if) another signal
is received after timer-thread is ...
nagachika (Tomoyuki Chikanaga)
05:04 AM Bug #14865: Raising exception in c_return event hook causes infinite loop
ruby_2_5 r64438 merged revision(s) 63727. nagachika (Tomoyuki Chikanaga)
05:04 AM Revision cc371cc0 (git): merge revision(s) 63727: [Backport #14865]
vm.c: fix infinite loop
* vm.c: use EXEC_EVENT_HOOK_AND_POP_FRAME. While exception handling, if an exception
is raised in hooks, need to pop current frame and raise this raised exception by hook.
[ruby-dev:505...
nagachika (Tomoyuki Chikanaga)
04:40 AM Bug #14856: [PATCH] lib/drb/extservm.rb (service): do not return `false'
ruby_2_5 r64437 merged revision(s) 63698. nagachika (Tomoyuki Chikanaga)
04:40 AM Revision 05d74883 (git): merge revision(s) 63698: [Backport #14856]
lib/drb/extservm.rb (service): do not return `false'
invoke_service_command may set entries in @servers to `false',
making it incompatible with the intended use of the
safe navigation operator.
This caus...
nagachika (Tomoyuki Chikanaga)
04:30 AM Misc #14981: DevelopersMeeting20180913Japan
* [Feature #14609] `Kernel#p` without args shows the receiver aycabta (aycabta .)
04:24 AM Revision d7ddbff2 (git): thread_sync.c (do_sleep): avoid thread-switch/interrupt check
Calling rb_mutex_sleep directly should avoid
thread-switching/interrupt checking which can lead to occasional
failures.
Unfortunately, this means overriding Mutex#sleep is no longer
supported. Will let this commit run for a bit see if ...
Eric Wong
04:19 AM Bug #14818: [Docs] Backport r63112 to ruby 2.5
ruby_2_5 r64435 merged revision(s) 63112. nagachika (Tomoyuki Chikanaga)
04:19 AM Revision a814ab9e (git): merge revision(s) 63112: [Backport #14818]
Remove outdated example from Numeric documentation
Since 2.5, Numeric instances can be cloned and duplicated.
[Fix GH-1850]
From: Miguel Landaeta <miguel@miguel.cc>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/...
nagachika (Tomoyuki Chikanaga)
04:18 AM Bug #14816: Extension build failure on a system with musl libc
ruby_2_5 r64434 merged revision(s) 63571,63572. nagachika (Tomoyuki Chikanaga)
04:18 AM Revision 99d1f2c5 (git): merge revision(s) 63571,63572: [Backport #14816]
`int isnan(double)` is a POSIXism
- `isnan` is something relatively new. We need to provide one for
those systems without it. However:
- X/Open defines `int isnan(double)`. Note the `int`.
- C99 defin...
nagachika (Tomoyuki Chikanaga)
04:09 AM Revision 38f13727 (git): Suppress read of ~/.irbrc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
03:38 AM Bug #14805: Enumerator#count is silently limited to int32
ruby_2_5 r64432 merged revision(s) 63549,63551,63554. nagachika (Tomoyuki Chikanaga)
03:37 AM Revision f5a90a2d (git): merge revision(s) 63549,63551,63554: [Backport #14805]
memo->u3.cnt is long not int [Bug #14805]
enum.c: mitigate overflows
* enum.c (enum_count): convert counters to Integer as unsigned
long, instead of long, to mitigate overflows.
[ruby-core:87348] [Bu...
nagachika (Tomoyuki Chikanaga)
03:33 AM Feature #15006 (Open): [PATCH] io.c: use copy_file_range with every types of files
Ref: https://bugs.ruby-lang.org/issues/13867
`IO.copy_stream` only attempt to use `copy_file_range` if the source is a regular file.
However from my understanding, contrary to `sendfile` and `splice`, `copy_file_range` has no file ...
byroot (Jean Boussier)
03:07 AM Bug #14790: DateTime.iso8601 parses incorrect ISO8601
ruby_2_5 r64431 merged revision(s) 63512,63514. nagachika (Tomoyuki Chikanaga)
03:07 AM Revision 36045438 (git): merge revision(s) 63512,63514: [Backport #14790]
time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): a colon in time zone designator
can be omitted. [ruby-core:87277] [Bug #14790]
time.rb: fix parsing time zone in iso8601
* li...
nagachika (Tomoyuki Chikanaga)
02:56 AM Bug #14756: `Exception` may cause SEGV when `#backtrace` returns a string
ruby_2_5 r64430 merged revision(s) 63417. nagachika (Tomoyuki Chikanaga)
02:56 AM Revision 6baeed5b (git): merge revision(s) 63417: [Backport #14756]
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/bran...
nagachika (Tomoyuki Chikanaga)
02:44 AM Revision 26336dda (git): test/ruby/test_system.rb: suppress prompt and echo on Windows
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:39 AM Bug #14754: Backport openssl v2.1.1 / v2.0.8
ruby_2_5 r64428 merged revision(s) 63406. nagachika (Tomoyuki Chikanaga)
02:39 AM Revision 7e0cafcd (git): merge revision(s) 63406: [Backport #14754]
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
----------------------------------------------------...
nagachika (Tomoyuki Chikanaga)
02:20 AM Revision b2826ef7 (git): test/lib/zombie_hunter.rb: enable zombie hunter for MJIT
I think this issue is solved by Eric Wong.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:15 AM Revision 29aa73fc (git): test_function.rb: try running test_nogvl_poll again
According to some runs in mjit-test (make test-all RUN_OPTS="--jit-wait"),
this test might not be the cause of its failure.
So, let me try running this again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64426 b2dd03c8-39d4-4d8f-9...
k0kubun (Takashi Kokubun)
02:04 AM Revision 288e2789 (git): tool/downloader.rb: retry 500 from GitHub
Unfortunately, GitHub may return 500 for temporary failure:
https://travis-ci.org/ruby/ruby/builds/417246523
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:10 AM Revision b173fc92 (git): mjit_worker.c: revert r64322 and r64323
I gave up to introduce the optimization that skips pc motion by checking
C code's line number. The same code can often be shared by multiple
program counters and it's so hard to achieve the optimization in MJIT's
architecture.
Reverting...
k0kubun (Takashi Kokubun)

08/17/2018

11:54 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
@normalperson I added the specs in r64409.
However I just saw that the spec failed once on Ubuntu:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20180817T213003Z.fail.html.gz
Any idea?
Eregon (Benoit Daloze)
11:51 PM Revision 91bea9db (git): * 2018-08-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:51 PM Revision a2d2a55d (git): Guard spec failing on Solaris
* https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20180817T182406Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
04:27 PM Bug #14638: [win32] File.expand_path("~") treats a relative path with a drive letter as an absolute path
ruby_2_5 r64421 merged revision(s) 62952. nagachika (Tomoyuki Chikanaga)
04:27 PM Revision d60a7d2e (git): merge revision(s) 62952: [Backport #14638]
win32/file.c: relative path with drive letter
* win32/file.c (IS_ABSOLUTE_PATH_P): home directory should not be
a relative path regardless a drive letter. PathIsRelativeW
returns FALSE on such path. [ruby-...
nagachika (Tomoyuki Chikanaga)
04:20 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
ruby_2_5 r64420 merged revision(s) 63396. nagachika (Tomoyuki Chikanaga)
04:20 PM Revision 34783456 (git): merge revision(s) 63396: [Backport #14750]
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/branches/ruby_2_5@64420 b2dd03c8-3...
nagachika (Tomoyuki Chikanaga)
03:48 PM Bug #14708: argument stack underflow (-1) (SyntaxError)
ruby_2_5 r64419 merged revision(s) 63255. nagachika (Tomoyuki Chikanaga)
03:48 PM Revision 428db824 (git): merge revision(s) 63255: [Backport #14708]
compile.c: fix unconditional branch optimization
* compile.c (iseq_peephole_optimize): add dummy `putnil` after a
`jump` replacing an unconditional branch, to adjust removed
`dup`. [ruby-core:86666] [Bug #14...
nagachika (Tomoyuki Chikanaga)
03:34 PM Bug #14693: Segfault calling super+[] from redefined #backtrace
ruby_2_5 r64418 merged revision(s) 61567. nagachika (Tomoyuki Chikanaga)
03:33 PM Revision a42b5184 (git): merge revision(s) 61567: [Backport #14693]
fix uninitialized variable
Likewise this can easily be noticed if you read the warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@64418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nagachika (Tomoyuki Chikanaga)
03:20 PM Bug #14654: Resurvey performance of RDoc by frozen_string_literal: true
Already backported at r63048. nagachika (Tomoyuki Chikanaga)
02:52 PM Revision fb01ef38 (git): Add guard for Solaris in Socket#connect_nonblock spec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
02:45 PM Misc #14981: DevelopersMeeting20180913Japan
* [Feature #8661] Add option to print backstrace in reverse order(stack frames first & error last)
* The current backtrace order is really annoying, and I'm not still used; is there any chance to revert?
mame (Yusuke Endoh)
02:41 PM Feature #8661: Add option to print backtrace in reverse order (stack frames first and error last)
Over one year has passed since the backtrace order was reversed. But I'm not still used to the new order.
I agree with Samuel's points. In addition, the old order was more useful because it shows the last debug output and the except...
mame (Yusuke Endoh)
01:07 PM Revision abd8880d (git): Guard connect_nonblock spec on FreeBSD
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
01:07 PM Revision 28ed3c0f (git): Guard with a :pktinfo feature specs relying on PKTINFO
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
01:07 PM Revision a48339c2 (git): Re-add specs
* This reverts commit 325fd389018897bd156837639675517ef3b7dea5.
* Platform guards in the next commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
11:22 AM Revision a88e5ccc (git): Add a note how to run specs under older Ruby versions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
11:22 AM Revision 1630728e (git): Fix typo in version guard
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
11:22 AM Revision f3b347e1 (git): Add version guards for Enumerator::ArithmeticSequence
* And keep specs for older versions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
10:16 AM Feature #15004 (Closed): Run ruby/spec in TravisCI on older versions of MRI to make sure the specs keep working with older supported versions
ruby/spec is a single codebase supporting the latest minor versions of all supported MRI versions.
So currently, that's 2.3.7, 2.4.4, 2.5.1 and trunk.
I want to make MRI developers aware that ruby/spec must keep working with older (s...
Eregon (Benoit Daloze)
10:14 AM Revision 5032f637 (git): spec/README.md: add a note about version guards
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
09:51 AM Revision 3993cd80 (git): Integrate new specs for ConditionVariable#wait to prevent regressions
* See [Bug #14999].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
09:00 AM Bug #14972: Net::HTTP inconsistently raises EOFError when peer closes the connection
What is the ideal behavior you think? Just below?
```
diff --git a/lib/net/http/response.rb b/lib/net/http/response.rb
index 66132985d9..7c744d02f4 100644
--- a/lib/net/http/response.rb
+++ b/lib/net/http/response.rb
@@ -290,7 +2...
naruse (Yui NARUSE)
08:07 AM Feature #15002 (Closed): [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
```
Spurious interrupts from SIGCHLD cause Mutex#sleep (via
ConditionVariable#wait) to return early and breaks some use
cases. Since these are outside the programs's control with
MJIT, we will only consider pending interrupts (e.g. ...
normalperson (Eric Wong)
07:47 AM Revision 30ad3429 (git): NEWS: clarify that we still use FD_CLOEXEC [ci skip]
[Misc #14907]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
05:59 AM Revision 3bd2d01f (git): process.c: dead code when no SIGCHLD
* process.c (ruby_waitpid_all): nothing to do unless SIGCHLD is
available.
* signal.c (ruby_nocldwait): used only if SIGCHLD is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
04:01 AM Revision 59bbe8a9 (git): [DOC] Add ticket number [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
04:00 AM Revision 6cd8896b (git): [DOC] Update NEWS about close_others [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
03:36 AM Revision 6f63671f (git): vm.c: add a simple rdoc for RubyVM
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e mame (Yusuke Endoh)
02:06 AM Revision 8b6297e5 (git): thread_pthread.c (rb_sigwait_fd_get): skip getpid check
This is not called in signal handlers, so there's no reason for
it. glibc 2.25+ no longer caches getpid(), so it will cost a
syscall for those users.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64403 b2dd03c8-39d4-4d8f-98ff-823fe...
Eric Wong
01:39 AM Revision 028cda35 (git): signal.c: no SIGCHLD, no sigchld_hit
* signal.c (sigchld_hit): if SIGCHLD is not available, this variable
never sets.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:37 AM Revision e01afc3c (git): ast.c (rb_ast_node_type): return frozen strings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:14 AM Revision 05be3e89 (git): passing non-stdio fds is not supported on Windows
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:33 AM Feature #14844: Future of RubyVM::AST?
bozhidar (Bozhidar Batsov) wrote:
> I'm really curious what's the purpose of this module and why wasn't in developed in collaboration with the maintainers of libraries like https://github.com/whitequark/parser and https://github.com/whi...
mame (Yusuke Endoh)

08/16/2018

11:57 PM Misc #14907 (Closed): [PATCH] io.c: do not close inherited FDs by default
Applied in changeset trunk|r64399.
----------
process.c: defaults to close_others false
Arbitrarily closing file descriptors on exec breaks use cases
where a Ruby process sets up a descriptor for non-Ruby children
to use. For example,...
normalperson (Eric Wong)
11:32 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
eregontp@gmail.com wrote:
> @normalperson FWIW, I'm not fond of the jobserver-related logic in spec/ruby/optional/capi/spec_helper.rb, it's too complex and seems to gain nothing (but does prevent a make warning IIRC).

It's fine, I g...
normalperson (Eric Wong)
12:20 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
@normalperson FWIW, I'm not fond of the jobserver-related logic in spec/ruby/optional/capi/spec_helper.rb, it's too complex and seems to gain nothing (but does prevent a make warning IIRC).
If there is an easy way to ignore the warning ...
Eregon (Benoit Daloze)
11:57 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
Applied in changeset commit:ruby-git|2cf3bd5bb2a7c4724e528577d37a883fe80a1122.
----------
thread_sync.c (rb_mutex_lock): acquire lock before being killed
We (the thread acquiring the mutex) need to acquire the mutex
before being killed...
Anonymous
08:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
eregontp@gmail.com wrote:
> Bug #14999: ConditionVariable doesn't require the Mutex if Thread#kill-ed
> https://bugs.ruby-lang.org/issues/14999

r64398

Thank you; it was actually a regression introduced while fixing
[Bug #14841]...
normalperson (Eric Wong)
12:59 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
These specs reproduce the issue:
https://raw.githubusercontent.com/oracle/truffleruby/master/spec/ruby/library/conditionvariable/wait_spec.rb
I can commit them, but of course they will fail.
Feel free to just copy it to MRI's spec/r...
Eregon (Benoit Daloze)
11:56 PM Revision b53fadfd (git): process.c: defaults to close_others false
Arbitrarily closing file descriptors on exec breaks use cases
where a Ruby process sets up a descriptor for non-Ruby children
to use. For example, the "rake foo" target may spawn any number
of subprocesses (Ruby or not) which depends on...
Eric Wong
11:14 PM Bug #15001 (Closed): Peek causes cursor to advance when enumerating the lines of a file
When a call to peek is made on the enumerator for the lines of a file the cursor advances.
File:
~~~ text
1
2
3
~~~
Sample script:
~~~ ruby
e = File.open("f").each_line
e.peek
p e.each.to_a
~~~
The output is => ["2...
fletchto99 (Matthew Langlois)
09:02 PM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
Propose new syntax for https://bugs.ruby-lang.org/issues/14982#note-5 (The core idea is not changing)
``` ruby
# add 'isolate' keyword to describe an isolated binding scope
isolate
# .....
# can't access unimported names from ...
jjyr (Jinyang Jiang)
07:59 PM Revision 2cf3bd5b (git): thread_sync.c (rb_mutex_lock): acquire lock before being killed
We (the thread acquiring the mutex) need to acquire the mutex
before being killed to work with ConditionVariable#wait.
Thus we reinstate the acquire-immediately-after-sleeping logic
from pre-r63711 while still retaining the
acquire-afte...
Eric Wong
04:11 PM Revision 4bf11e21 (git): Makefile.sub: remove -DRUBY_EXPORT overridden by -U option
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:11 PM Revision 75321976 (git): * 2018-08-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:11 PM Revision 9c827bd0 (git): appveyor.yml: run on all branches
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:21 PM Feature #15000 (Closed): Prevent to initialize MonitorMixin twice
Some libraries or tests unfortunately do something like:
~~~ ruby
require 'monitor'
class Foo
include MonitorMixin
def initialize(*args)
super()
mon_initialize
end
end
~~~
This unfortunately ends up initializ...
Eregon (Benoit Daloze)
12:51 PM Bug #14998 (Closed): Race conditions in MonitorMixin when interrupted
From https://bugs.ruby-lang.org/issues/14859#note-9
The code of MonitorMixin#wait is:
~~~ ruby
def wait(timeout = nil)
@monitor.__send__(:mon_check_owner)
count = @monitor.__send__(:mon_exit_for_cond)
begi...
Eregon (Benoit Daloze)
12:14 PM Revision 1f0f2ae2 (git): Remove outdated comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
10:50 AM Revision 250bf32f (git): skip examples failing on solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
09:46 AM Bug #14992 (Closed): mkmf sets DYLD_LIBRARY_PATH on macOS which breaks pkg-config
Applied in changeset trunk|r64392.
----------
configure.ac: LIBPATHENV on macOS
* configure.ac (LIBPATHENV): use DYLD_FALLBACK_LIBRARY_PATH instead of
DYLD_LIBRARY_PATH on macOS, to honor runtime paths embedded in the
binaries. [r...
nobu (Nobuyoshi Nakada)
09:46 AM Revision 1961c786 (git): configure.ac: LIBPATHENV on macOS
* configure.ac (LIBPATHENV): use DYLD_FALLBACK_LIBRARY_PATH instead of
DYLD_LIBRARY_PATH on macOS, to honor runtime paths embedded in the
binaries. [ruby-core:88487] [Bug #14992]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64...
nobu (Nobuyoshi Nakada)
09:27 AM Revision ae59620b (git): Makefile.in: dependencies to config.status
* Makefile.in (ruby.pc, ruby-runner.h): fix missing dependencies.
config.status is needed to be up to date, to run it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:16 AM Revision e3f6429e (git): thread.c (consume_communication_pipe): disarm UBF_TIMER before consume
Same reasoning as the disarm in rb_sigwait_fd_get, the current
thread is already processing signals, so we do not need
UBF_TIMER to continually kick the process, anymore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64390 b2dd03c8-...
Eric Wong
08:56 AM Bug #14997 (Closed): Socket connect timeout exceeds the timeout value for
Given a case, where a domain is being resolved to multiple IPs (4 in the following example):
```
dig debug-xyz.elb.us-east-1.amazonaws.com a
; <<>> DiG 9.10.3-P4-Ubuntu <<>> debug-xyz.elb.us-east-1.amazonaws.com a
;; global optio...
maciej.mensfeld (Maciej Mensfeld)
08:26 AM Revision 3872ea81 (git): thread_pthread.c: reduce ubf_timer arming for non-signal wakeups
We do not need to rely on SIGVTALRM for non-sighandler wakeups.
This will reduce spurious wakeups in cases where sigwait_fd
is not grabbed again, soon.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64389 b2dd03c8-39d4-4d8f-98ff-823f...
Eric Wong
08:26 AM Revision 960ef493 (git): thread_pthread.c: check signals from gvl.timer
For (rare) blocking functions which are not affected by signals,
we need to call the appropriate unblocking function via
`threadptr_trap_interrupt'
While we're at it, handling waitpid/SIGCHLD from gvl.timer isn't
harmful, here.
git-svn...
Eric Wong
03:37 AM Revision 0783fd93 (git): test/net/imap/test_imap.rb (test_exception_during_idle): kill infinite looper
It is possible for Mutex#sleep (via ConditionVariable#wait)
to prematurely wake up under MJIT (because Mutex#sleep can't
handle spurious wakeups). This affects @idle_done_cond in
Net::IMAP#idle and means the response handler may never
s...
Eric Wong
12:58 AM Feature #14994 (Closed): Enumerator::Lazy#uniq & Enumerator::Lazy#grep_v should use proc chaining
Applied in changeset trunk|r64385.
----------
Adding Enumerator::Lazy#uniq and Enumerator::Lazy#grep_v to proc chaining
[Feature #14994]
[Fix GH-1930]
From: Anmol Chopra <chopraanmol1@gmail.com>
nobu (Nobuyoshi Nakada)
12:58 AM Revision 6fc7f103 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:58 AM Revision 7d6a26f2 (git): Adding Enumerator::Lazy#uniq and Enumerator::Lazy#grep_v to proc chaining
[Feature #14994]
[Fix GH-1930]
From: Anmol Chopra <chopraanmol1@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:13 AM Revision 2c195f64 (git): enumerator.c: id_lazy is no longer used since r38923
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:05 AM Revision bb8b44b0 (git): apply r64239 to macOS too
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
 

Also available in: Atom