Project

General

Profile

Activity

From 06/24/2018 to 06/30/2018

06/30/2018

11:43 PM Feature #14844: Future of RubyVM::AST?
Rather than create a new issue, I want to comment here, as I've also been using the new `RubyVM::AST` to compute code coverage of templates (think ERB templates). In the past, the existing `coverage.so` was not capable to parse a string,... ioquatix (Samuel Williams)
08:45 PM Bug #14884: msys2 mingw32 'rake' has unexpected text at top of file
@GardenTools
> has unexpected text at top of file
One could say that other things are actually unexpected. I believe you have a `rake.cmd` file in your bin folder. Rename it, and name `rake` to `rake.cmd`. Run `rake --help` and ...
MSP-Greg (Greg L)
08:19 AM Bug #14884 (Feedback): msys2 mingw32 'rake' has unexpected text at top of file
'rake' from mingw-w64-i686-ruby 2.5.1-1 has what looks like fragments of a batch file and a shell script as the first few lines of what should be just shell that calls ruby. The shebang on line 9 clearly should be the first line.
The fi...
GardenTools (Garden Tools)
04:27 PM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson
Running TestJIT locally, using the last good build `ruby 2.6.0dev (2018-06-27 trunk 63757) [x64-mingw32]`, no files are left in TMP.
Running with a recent release (with failures), over 60 files remain, all approx. 56 ...
MSP-Greg (Greg L)
07:22 AM Bug #14867: Process.wait can wait for MJIT compiler process
> OK, I realized mjit.c and process.c have totally different ideas
> of what a PID is on win32. For process.c, win32/win32.c
> abstracts things while mjit.c uses the raw OS return value (I think).
>
> So trying r63797...

Wait, ...
normalperson (Eric Wong)
06:32 AM Bug #14867: Process.wait can wait for MJIT compiler process
OK, I realized mjit.c and process.c have totally different ideas
of what a PID is on win32. For process.c, win32/win32.c
abstracts things while mjit.c uses the raw OS return value (I think).

So trying r63797...

If that doesn't ...
normalperson (Eric Wong)
04:53 AM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson
Attached is the log for r63796. Still have the fails...
Thanks again, Greg
MSP-Greg (Greg L)
03:19 AM Bug #14867: Process.wait can wait for MJIT compiler process
normalperson (Eric Wong) wrote:
> Is that with the SIGCHLD_LOSSY (polling) patch applied on top of r63794?
> ...
Yes. I added the patch file to the build. Since removed for r64795.
> I committed the the SIGCHLD_LOSSY (polling)...
MSP-Greg (Greg L)
02:12 AM Bug #14867: Process.wait can wait for MJIT compiler process
Greg.mpls@gmail.com wrote:
> File JIT-test-all.log added

> I was mistaken, almost all of the TestJITs test failed, both when run parallel and when retried.
>
> Sorry for the mixup. I've attached a parsed log from test-all.

Is...
normalperson (Eric Wong)
01:15 AM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson,
Long story, bouncing between local building & Appveyor, etc.
I was mistaken, almost all of the TestJITs test failed, both when run parallel and when retried.
Sorry for the mixup. I've attached a parsed log from t...
MSP-Greg (Greg L)
12:53 AM Bug #14867 (Closed): Process.wait can wait for MJIT compiler process
Applied in changeset trunk|r63795.
----------
use SIGCHLD_LOSSY to enable waitpid polling mode
Some systems lack SIGCHLD or have incomplete SIGCHLD
implementations. So enable polling mode for them.
[ruby-core:87705] [Bug #14867]
normalperson (Eric Wong)
12:27 AM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson
Thank you for all the work & help.
With the patch, ruby-loco is now green on 63794.
Greg
MSP-Greg (Greg L)
04:26 PM Bug #14881 (Closed): RUBYLIB spec on Windows
Eregon (Benoit Daloze)
02:35 PM Bug #14881: RUBYLIB spec on Windows
@hsbt
Fixed via r63810. Please close.
MSP-Greg (Greg L)
01:53 PM Revision 5235d57b (git): Fix spec/ruby/command_line/rubylib_spec.rb for use with make test-spec
* Current code clears ENV['RUBYLIB'], but on Windows it's needed when
running from build 'src' (or running make test-spec).
* Patch by MSP-Greg, from https://github.com/ruby/spec/pull/607.
* Imported manually to fix CI on Windows, with...
Eregon (Benoit Daloze)
01:24 PM Revision c0e77089 (git): Fix path checks for case insensitive filesystem
see https://github.com/rubygems/rubygems/pull/2211
[ruby-core:86745] [Backport #14721]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@63809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
01:08 PM Bug #14655: new TestTimeTZ test failures
ruby_2_4 r63808 merged revision(s) 63054,63055,63056. usa (Usaku NAKAMURA)
01:08 PM Revision 9796be14 (git): merge revision(s) 63054,63055,63056: [Backport #14655]
test_time_tz.rb: Kiritimati tzdata fix
* test/ruby/test_time_tz.rb (TestTimeTZ#test_pacific_kiritimati):
fix the expected data at the skip of New Year's Eve 1994.
[Bug #14655]
test_time_tz.rb: Kiriti...
U.Nakamura
01:06 PM Bug #14060: SecurityError with $SAFE=1 when requiring an untainted path
ruby_2_4 r63807 merged revision(s) 60596,60599. usa (Usaku NAKAMURA)
01:06 PM Revision 440a6b5d (git): merge revision(s) 60596,60599: [Backport #14060]
file.c: infect from arguments
* file.c (rb_check_realpath_internal): infetct the result with
arguments, no taint if none are tainted and cwd is not used.
[ruby-core:83583] [Bug #14060]
file.c: infect...
U.Nakamura
01:00 PM Bug #14638: [win32] File.expand_path("~") treats a relative path with a drive letter as an absolute path
ruby_2_4 r63806 merged revision(s) 62952. usa (Usaku NAKAMURA)
01:00 PM Revision 2d5c52f9 (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-...
U.Nakamura
12:56 PM Bug #14357: thread_safe tests suite segfaults
ruby_2_4 r63805 merged revision(s) 62396. usa (Usaku NAKAMURA)
12:56 PM Revision 7ac2f89f (git): merge revision(s) 62396: [Backport #14357]
st.c: retry operations if rebuilt
Calling the .eql? and .hash methods during a Hash operation can
result in a thread switch or a signal handler to run: allowing
one execution context to rebuild the hash table whi...
U.Nakamura
12:34 PM Bug #12762: missing links in LEGAL
ruby_2_4 r63804 merged revision(s) 62513. usa (Usaku NAKAMURA)
12:34 PM Revision 943b3ae5 (git): merge revision(s) 62513: [Backport #12762]
Update url with 404 status on LEGAL file.
* Update redirected and upstream url.
* Added the Wayback Machine url for missing link.
[Bug #12762][ruby-dev:49802]
From: SHIBATA Hiroshi <hsbt@ruby-lang...
U.Nakamura
11:56 AM Revision 7b230cfe (git): use sigsetjmp on macOS
SIGCHLD is used internally since r63758, the signal masks need to
be restored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:47 AM Feature #14869: Proposal to add Hash#===
ご意見ありがとうございます。
> ほとんどの用途は `Hash#<=` で足りているようにみえます。
機能としては `Hash#<=` と類似していますが、『`Hash#===` を定義する事で case-when などで使用することが出来る』というのが主な提案理由となっております。
> ...
確かに『`Hash#===` は `Hash#<=` の `#===` で比較する版』みたいな説明だと理解しやすそうですね。
ただ、 `{} === use...
osyo (manga osyo)
09:50 AM Feature #14887 (Closed): Array#delete_if does not use #delete
When a class inherits from Array, and its #delete methods is modified, #delete_if and #reject! do not call this method. From sources, its an internal C method which is called instead.
Is there a way to modify #delete_if and #reject! t...
sdaubert (Sylvain Daubert)
08:41 AM Bug #14886 (Closed): ChangeLog section is obsolete
[ChangeLog section in doc/contributing.rdoc](https://github.com/ruby/ruby/blob/trunk/doc/contributing.rdoc#changelog) is not useful now.
But I think some parts are useful for commit log.
For example: issue relationship.
znz (Kazuhiro NISHIYAMA)
08:38 AM Revision e2052710 (git): fix r63799 ("test/ruby/test_rubyoptions.rb: improve diagnostics for failures")
CI machines are faster than mine :x
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:27 AM Bug #14885 (Closed): Is documenting-ruby a dead project?
In [Contributing Documentation section in doc/contributing.rdoc](https://github.com/ruby/ruby/blob/trunk/doc/contributing.rdoc#contributing-documentation) links to documenting-ruby.org , but https://github.com/documenting-ruby/ruby is ab... znz (Kazuhiro NISHIYAMA)
08:11 AM Revision 828f4bf4 (git): [DOC] Use https: instead of http:, git: [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
08:10 AM Revision 19d71d8e (git): [DOC] Update URL of rurema [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
07:53 AM Revision 671c9ef3 (git): test/ruby/test_rubyoptions.rb: improve diagnostics for failures
rubyci.org OSX CI instances seem to hang on this, but I'm not
sure why...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
07:52 AM Revision fed4ba59 (git): test/ruby/test_optimization.rb: increase timeout
For slow systems...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
06:11 AM Revision 9eb68615 (git): process.c: attempt to reap spawnvp (win32) result from mjit
Basically in win32, mjit.c seems to work directly on spawnvp
result while normal Ruby code wraps process handles to look
like *nix PIDs. I'm only guessing, here...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63797 b2dd03c8-39d4-4...
Eric Wong
06:04 AM Bug #14883 (Third Party's Issue): Ruby 2.5 Fails to Build on PowerPC 32-bit (BE)
When building Ruby 2.5.1 on a PowerPC 32-bit (Big Endian) host, the build fails as it generates rdoc - segmentation fault. The build log is as follows:
https://pastebin.aosc.io/paste/jJWjWPadcmJeLEkvpgnMqQ
Configure parameters...
...
mingcongbai (Mingcong Bai)
03:50 AM Revision e4600b87 (git): mjit: provide more diagnostics for waitpid failures
Also, enable check for defined(_WIN32) macro for SIGCHLD_LOSSY, too.
[Bug #14867]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:41 AM Bug #14882 (Third Party's Issue): OpenSSL::PKey::*.new does not resume after spurious signals
```
I noticed some OpenSSL::PKey::*.new failures while working on [Bug #14867].
MJIT will fork processes and when they die, SIGCHLD will trigger on most OSes.
I work around this problem in ext/openssl (and possibly other exts) by
a...
normalperson (Eric Wong)
12:51 AM Revision ce2a3b40 (git): use SIGCHLD_LOSSY to enable waitpid polling mode
Some systems lack SIGCHLD or have incomplete SIGCHLD
implementations. So enable polling mode for them.
[ruby-core:87705] [Bug #14867]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong

06/29/2018

11:07 PM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
By the way, perhaps it's not clear, but `utc_offset` is not a time zone, nor is `Time.zone`, because just stating `MST` is not enough to disambiguate. You need to specify `Canada/Saskatchewan` (MST only) or `Canada/Mountain` (MST/MDT). P... ioquatix (Samuel Williams)
10:58 PM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
> In your case you may want NZST and NZDT.
Expecting users to know the time zone in advance is not feasible. User should be able to say "This date, time at this location" and it computes the correct offset. Anyway, it's a separate iss...
ioquatix (Samuel Williams)
10:17 PM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
ioquatix (Samuel Williams) wrote:
> Jeremy, thanks for your interest.
> ...
Correct, `Time.parse` doesn't support that. It uses different timezones for DST rules (e.g. PST and PDT). In your case you may want NZST and NZDT.
Your ex...
jeremyevans0 (Jeremy Evans)
09:46 PM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
Here is the output of running the minimal repro:
```
2018-06-30 17:00:00 +1200
43200
0
2018-06-30 05:00:01 +0000
```
ioquatix (Samuel Williams)
09:45 PM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
Jeremy, thanks for your interest.
Here is a minimal repro:
```ruby
#!/usr/bin/env ruby
# https://bugs.ruby-lang.org/issues/14879
require 'time'
ENV['TZ'] = "Pacific/Auckland"
time = Time.parse("5pm")
ENV['TZ'] = "UTC"
...
ioquatix (Samuel Williams)
02:24 PM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
As Hans correctly showed, addition/subtraction does not change the utc_offset, the utc_offset is already set to 0 before the addition/subtraction. That is because `TZ=UTC` and the fact that NZT is not a recognized time zone by the time ... jeremyevans0 (Jeremy Evans)
10:13 AM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
Okay, I tried more complex example which was my original repro.
```
git clone https://github.com/ioquatix/time-zone
cd time-zone
^_^ > rake console
[1] pry(main)> time, zone = Time::Zone.parse("5pm", "Pacific/Auckland")
=> [201...
ioquatix (Samuel Williams)
08:51 AM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
I see, you may well be right! I will check on my end because this was supposed to be a simplified version of the behaviour I was seeing. ioquatix (Samuel Williams)
08:19 AM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
the problem might not be the add or substract
what does this show for you?
`TZ=UTC ruby -e 'require "time"; puts Time.parse("5pm NZT")'`
because on my system it shows +0000 too
Hanmac (Hans Mackowiak)
05:30 AM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
I checked the specs and JRuby doesn't have these issues, just FYI. ioquatix (Samuel Williams)
04:47 AM Bug #14879: Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
I have added some specs for this behaviour here: https://github.com/ioquatix/time-zone/blob/cdde65cd8f29d6d9fc645e2182093a7146048b44/spec/time/zone_spec.rb#L91-L99
You can see test results here: https://travis-ci.org/ioquatix/time-zon...
ioquatix (Samuel Williams)
04:19 AM Bug #14879 (Closed): Time#+ and Time#- do not preserve receiver's utc_offset if ENV['TZ'] is modified after receiver is created
I have been having some problems with `Time`. When I add or subtract seconds, sometimes the utc_offset is changed unexpectedly.
```
$ ruby -e 'require "time"; puts Time.parse("5pm NZT")'
2018-06-29 17:00:00 +1200
$ ru...
ioquatix (Samuel Williams)
10:52 PM Bug #14867: Process.wait can wait for MJIT compiler process
Greg.mpls@gmail.com wrote:
> FYI, both mswin & mingw are building. I don't believe mswin
> runs JIT tests, but when I run them locally on MinGW, I just
> get a frozen flashing cursor. No output at all.

Right, the fallback code f...
normalperson (Eric Wong)
10:20 PM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson
FYI, both mswin & mingw are building. I don't believe mswin runs JIT tests, but when I run them locally on MinGW, I just get a frozen flashing cursor. No output at all.
I'm happy to help with the problem, but I'm no...
MSP-Greg (Greg L)
06:52 PM Bug #14867: Process.wait can wait for MJIT compiler process
eregontp@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > eregontp@gmail.com wrote:
> > > Would it be simpler to track a set of pids created by MJIT, ignore those in waitpid() and synchronize around both creating GCC processes...
normalperson (Eric Wong)
11:25 AM Bug #14867: Process.wait can wait for MJIT compiler process
normalperson (Eric Wong) wrote:
> eregontp@gmail.com wrote:
> ...
Thank you for the reply.
I am not sure to understand why it is not possible, could you elaborate a bit more?
Could the thread running waitpid(-1, 0) then pass that wai...
Eregon (Benoit Daloze)
10:52 AM Bug #14867: Process.wait can wait for MJIT compiler process
nobu@ruby-lang.org wrote:
> Since r63758, `rb_waitpid()` hangs up frequently (not always) on macOS (darwin17).
> Seems `SIGCHLD` is not delivered.

Does moving timer-thread into polling mode when there are
waitpid threads help?

...
normalperson (Eric Wong)
09:42 AM Bug #14867: Process.wait can wait for MJIT compiler process
Bill Kelly <billk@cts.com> wrote:
> Could it help at all to delegate to a single "JIT Controller" daemon?

That's akr's initial idea [ruby-core:87608] but that uses more
memory. We already have resource problems with timer-thread
...
normalperson (Eric Wong)
08:12 AM Bug #14867: Process.wait can wait for MJIT compiler process
Eric Wong wrote:
> eregontp@gmail.com wrote:
>> Would it be simpler to track a set of pids created by MJIT, ignore those in
>> waitpid() and synchronize around both creating GCC processes and when checking
>> the result of waitpid()...
spatulasnout (B Kelly)
05:52 AM Bug #14867: Process.wait can wait for MJIT compiler process
I can't find output of yes-test-all in any of the
links from r63763..r63771 on
http://ci.rvm.jp/results/trunk-mjit@silicon-docker

Is it because r63763? ("give up insn attr handles_frame",
commit 6b534134a78e3e43c344682c3585e1abab0...
normalperson (Eric Wong)
02:32 AM Bug #14867: Process.wait can wait for MJIT compiler process
eregontp@gmail.com wrote:
> Would it be simpler to track a set of pids created by MJIT, ignore those in waitpid() and synchronize around both creating GCC processes and when checking the result of waitpid()?

Not possible, if there's...
normalperson (Eric Wong)
10:29 PM Bug #14881 (Closed): RUBYLIB spec on Windows
@eregon
Now that both mswin & mingw are building, some of the previous commits are showing issues.
I added a PR on GitHub at https://github.com/ruby/ruby/pull/1902.
The mswin build & ruby-loco (MinGW) passes with it. Wasn't sur...
MSP-Greg (Greg L)
10:20 PM Revision 47f3c4d1 (git): test_thread.rb (test_thread_interrupt_for_killed_thread): reprieve for MJIT
With MJIT enabled, the exit (from SIGTERM) may take a long time
to complete. Prevent EnvUtil.invoke_ruby from falling back to
other signals (SIGABRT) when Process.wait takes longer than the
default 1s reprieve.
git-svn-id: svn+ssh://ci...
Eric Wong
10:13 PM Revision 4bf8834d (git): signal.c: use ATOMIC_EXCHANGE for sigchld_hit
sig_atomic_t may not be sufficient for multi-threaded
applications if the sighandler runs on a different CPU
than timer thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
09:01 PM Revision 3a0f6ab4 (git): * 2018-06-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:01 PM Revision 2ac41230 (git): test/lib/test/unit/assertions.rb (assert_in_out_err): disable gems
RubyGems loading is still a bottleneck at startup and this speeds up
test/ruby/test_rubyoptions.rb test from 15s => 3.5s on the fastest
machine I have access to.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63791 b2dd03c8-39d4-4d8f...
Eric Wong
05:30 PM Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding
I also believe the current behavior makes sense. It won't cause the `invalid byte sequence in UTF-8` issue. The US-ASCII character set is THE subset (see BINARY which is actually called ASCII-8BIT). Sure the characters are sometimes enco... cremno (cremno phobia)
02:14 PM Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding
I think it is not consistent because normally what I have seen the most is arrays of strings or containing strings being joined into one string.
In a case like that it so happens that all of the strings are in UTF-8 (because it is my ...
xsimov (Xavier Simó)
05:09 PM Feature #13733: Dump the delegator instead of the delegated object
I like this idea, but I may be missing something. Could anyone have any objections or points that we are not aware of? yuki24 (Yuki Nishijima)
03:41 PM Bug #14876: /bin/sh: bad substitution since r63679 on Solaris
r63679 で Makefile.in の562行目に追加された `archs="$${archs:-$(ARCH_FLAG:-arch=)}";` が悪さをしているようです。
この行は、Makefileの置換とシェルの置換が混ざっていて極めてわかりにくいのですが、
ARCH_FLAG="-arch i386 -arch x86_64" などが入っているとき「だけ」しか考慮されておらず、
ARCH_FLAG="-m64" や ARCH_FLAG="-march=...
ngoto (Naohisa Goto)
02:53 PM Bug #14630: DON'T IGNORE ME!!! Uncaught exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (error number 1)
The option hash passing to `Net::HTTP::start` seems to contain misspelling key.
```ruby
@options = {
use_ssl: true,
ssl_version: :TLSv1_2,
verify_mode: OpenSSL::SSL::VERIFY_PEER,
store: store,
keep_alive_time...
dsh0416 (Delton Ding)
01:51 PM Feature #13050: Readline: expose rl_completion_quote_character variable
I'd still love to get this merged. Is there anything I can do to help get the patch accepted? georgebrock (George Brocklehurst)
12:12 PM Bug #14873: Compile failure - MinGW build as of 63768
Hi, Eric

r63790 seems almost OK.
Thx!!

--
<usa@garbagecollect.jp>
usa (Usaku NAKAMURA)
11:42 AM Bug #14873: Compile failure - MinGW build as of 63768
usa@garbagecollect.jp wrote:
> Eric, your recent changes about process.c actually broke Windows build.
> r63785 fixed a little, but test-all still reports 14904E.
> I recommend to revert all commits from r63754, and restart.

Can y...
normalperson (Eric Wong)
04:55 AM Bug #14873: Compile failure - MinGW build as of 63768
Eric, your recent changes about process.c actually broke Windows build.
r63785 fixed a little, but test-all still reports 14904E.
I recommend to revert all commits from r63754, and restart.
usa (Usaku NAKAMURA)
02:22 AM Bug #14873 (Closed): Compile failure - MinGW build as of 63768
Applied in changeset trunk|r63785.
----------
process.c: fix typo in non-SIGCHLD waitpid :x
I expect this to fix [Bug #14873]
normalperson (Eric Wong)
11:08 AM Feature #14869: Proposal to add Hash#===
ほとんどの用途は `Hash#<=` で足りているようにみえます。
`{} <= user` は `true` になるので、`{} === user` も `true` の方が `<=` の値の比較を `===` で行うだけのものということで、わかりやすいのではないかと思いました。
znz (Kazuhiro NISHIYAMA)
08:51 AM Revision be076acb (git): process.c: handle errno correctly in non-SIGCHLD path
It's a bit redundant, but we optimize for platforms with
SIGCHLD, not without.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
07:52 AM Revision 25b15f94 (git): process.c (waitpid_nogvl): check interrupts before sleeping
We may be interrupted by another thread after setting ubf,
but before we re-acquire interrupt_lock again to sleep on
w->cond.
This should fix test_wait_interrupt in test/ruby/test_process.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/...
Eric Wong
04:56 AM Revision d3ae1357 (git): improve C0 coverage of insns.def
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
04:24 AM Bug #14880 (Closed): Time#localtime doesn't always seem to respect TZ
In the first case, calling `#localtime` doesn't change the utc_offset.
```
$ TZ=UTC ruby -e 'ENV["TZ"]="Pacific/Auckland"; puts t=Time.new; ENV["TZ"]="UTC"; puts t.localtime'
2018-06-29 16...
ioquatix (Samuel Williams)
03:28 AM Revision 7b1372b0 (git): rethrow the caught exception as-is
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:53 AM Revision d93f3bad (git): test_process.rb (test_wait_exception): check assertion sooner
To diagnose f.puts => EPIPE failures in CI(*). I'm not sure
what's wrong and can't reproduce EPIPE even with my slow laptop
from 2005.
(*) http://ci.rvm.jp/results/trunk_gcc5@silicon-docker/1058203
git-svn-id: svn+ssh://ci.ruby-lang.o...
Eric Wong
02:21 AM Revision 54394b3b (git): process.c: fix typo in non-SIGCHLD waitpid :x
I expect this to fix [Bug #14873]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
01:01 AM Feature #11076: Enumerable method count_by
Has there been any thought on this as a language feature?
There was an earlier conversation demonstrating a practical use for this feature, and I had mentioned a few of the core maintainers to bring the subject back into consideration...
baweaver (Brandon Weaver)

06/28/2018

11:47 PM Revision c4236d83 (git): * 2018-06-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:46 PM Revision c69b33c4 (git): rb_enc_alias
`rb_encdb`-prefixed functions are only for internal use.
use rb_enc_alias instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:40 PM Feature #14878: Add command line argument to deactivate JIT
Agreed!
I guess it may have already been on Takashi's todo list but he is like doing
lots of changes as-is.
As for options, I think "--disable-jit" and/or "--no-jit" would be best;
--disable=jit is also ok but a bit less commonl...
shevegen (Robert A. Heiler)
05:09 PM Feature #14878 (Closed): Add command line argument to deactivate JIT
For Ruby 2.6, JIT is off by default. But if a particular application can't use JIT for some reason, it may want to explicitly turn JIT off, even for later Ruby versions that have JIT on by default.
It would be useful to have a --jit-d...
noahgibbs (Noah Gibbs)
04:36 PM Bug #14842 (Closed): [ANN] ftp service is sunset in Jun 2018.
Hi all.
I changed DNS entry of ftp.ruby-lang.org to CDN from our dedicated server.
And I also changed origin server of CDN to S3 from our dedicated server.
Please ask me if you have any issues. Thanks.
hsbt (Hiroshi SHIBATA)
04:34 PM Bug #14842: [ANN] ftp service is sunset in Jun 2018.
>I am just asking so that I can update all old URLs that I have towards non-ftp then.
Yes. Please use https:// instead of ftp://.
hsbt (Hiroshi SHIBATA)
04:22 PM Feature #14877: Calculate age in Date class
I actually opened a pull request in Rails to add this to ActiveSupport, but they told me to come here!
https://github.com/rails/rails/pull/33245
derosm2 (Mike DeRosa)
11:40 AM Feature #14877: Calculate age in Date class
I am not sure if .age() is a "proper name" or not, so I can't really decide
on that. But I specifically wanted to add two things:
a) not all names necessarily fit towards the ruby object model as-is. Ultimately
you have to ask matz ...
shevegen (Robert A. Heiler)
11:27 AM Feature #14877 (Rejected): Calculate age in Date class
Seems like there's enough complexity in determining the right values and it's something a ton of apps have to address. I've seen a bunch of StackOverflow and other blog posts attempt to address this, not all of them accurately.
Specif...
derosm2 (Mike DeRosa)
03:42 PM Bug #14867: Process.wait can wait for MJIT compiler process
nobu@ruby-lang.org wrote:
> Since r63758, `rb_waitpid()` hangs up frequently (not always) on macOS (darwin17).
> Seems `SIGCHLD` is not delivered.

Does removing some of the pthread_sigmask changes from that
alleviate the problem? ...
normalperson (Eric Wong)
11:06 AM Bug #14867: Process.wait can wait for MJIT compiler process
Would it be simpler to track a set of pids created by MJIT, ignore those in waitpid() and synchronize around both creating GCC processes and when checking the result of waitpid()?
Signals feel unreliable to me.
Eregon (Benoit Daloze)
02:33 PM Revision 63e72a58 (git): ast.c: Fix defs
* ast.c (node_children): Add mid to children
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
yui-knk (Kaneko Yuichiro)
02:25 PM Bug #14873: Compile failure - MinGW build as of 63768
@normalperson
Do you SIGCHLD on that platform?
Really, not sure. But, I don't believe so. For instance, Puma describes using signaling for server control, and I think all the tests dealing with it are bypassed for windows. I'm r...
MSP-Greg (Greg L)
02:12 PM Bug #14873: Compile failure - MinGW build as of 63768
Greg.mpls@gmail.com wrote:
> verconf.h updated
> ../ruby/tool/transform_mjit_header.rb:118:in `block in check_code!': undefined method `success?' for nil:NilClass (NoMethodError)

Sorry for the delay. Do you SIGCHLD on that platfor...
normalperson (Eric Wong)
02:18 PM Revision 4aaceb29 (git): Revert "rb_enc_alias"
This reverts commit r63779 which made test-spec fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mame (Yusuke Endoh)
01:22 PM Revision 7c9fa8f9 (git): Use nd_X shorthand for annotation
[Fix GH-1901]
From: hkdnet <satoko.itse@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:18 PM Revision 7b3878e1 (git): rb_enc_alias
`rb_encdb`-prefixed functions are only for internal use.
use rb_enc_alias instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:02 PM Bug #14876: /bin/sh: bad substitution since r63679 on Solaris
r63232 で追加された `${arch%=*}` が "bad substitution" の原因でした。
前後の部分を引用します。
~~~
$${archs:+echo} $${archs:+'#if 0'}; \
for arch in $$archs; do \
echo "#elif defined __$${arch%=*}__"; \
quote " MJIT_AR...
ngoto (Naohisa Goto)
03:05 AM Bug #14876 (Closed): /bin/sh: bad substitution since r63679 on Solaris
r63679以降、Solaris 上にて 64ビットでコンパイルすると、
mjit_config.h 作成中に以下のように "/bin/sh: bad substitution" エラーになります。
32ビットコンパイルでは発生しません。(rubyci.orgのSolarisは32ビットのみ)
r63679 で変更された部分が原因と思われますが、シェルとmakeの変数が複雑に入り乱れているため切り分けができていません。
~~~
cc -errtag...
ngoto (Naohisa Goto)
09:59 AM Revision efd36e71 (git): fix feature name and removed a duplicate condition
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
08:35 AM Revision d0fb73a0 (git): check enc_capable.
* encoding.c (rb_enc_capable): make it extern to check enc_capable.
enc_index can be set to limited types such as T_STRING, T_REGEX
and so on. This function check an object is this kind of types.
* include/ruby/encoding.h: ditto.
*...
ko1 (Koichi Sasada)
08:15 AM Bug #14872 (Closed): Compile failure - mswin build as of 63768
nobu (Nobuyoshi Nakada)
07:34 AM Revision 40efaab3 (git): symbol.c: dsymbol initial encoding
* symbol.c (dsymbol_alloc): set encoding directly. no need to
check existing encoding in rb_enc_associate.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:48 AM Revision c6d5b617 (git): Fix typo of file path [ci skip]
Patch by: yuuji.yaginuma <yuuji.yaginuma@gmail.com>
https://github.com/ruby/ruby/pull/1900
[Fix GH-1900]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
matsuda (Akira Matsuda)
02:53 AM Bug #14875 (Closed): /bin/sh: bad substitution
ngoto (Naohisa Goto)

06/27/2018

06:27 PM Revision 6c74c73f (git): tests: increase timeouts and speedup some slow tests
I'm still using the computer from 2005, so enabling MJIT makes
some tests take longer. For test_deadlock_by_signal_at_forking
I got it down to 135s to 89s by disabling RubyGems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63774 b...
Eric Wong
04:07 PM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson,
Eric,
Thanks for all the work on this and elsewhere. Some issues with Windows, both MSWin & MinGW.
https://bugs.ruby-lang.org/issues/14872 MSWin
https://bugs.ruby-lang.org/issues/14873 MinGW
Greg
MSP-Greg (Greg L)
03:32 PM Bug #14867: Process.wait can wait for MJIT compiler process
> Up to 14 patches, now, but I think most problems are solved,
> at least on Linux. FreeBSD 11.1 is close

Seems OK, hopefully it doesn't cause regressions for platforms
w/o SIGCHLD.

Squashed to 3 commits on r63758-r63760

hij...
normalperson (Eric Wong)
01:33 PM Bug #14867: Process.wait can wait for MJIT compiler process
Since r63758, `rb_waitpid()` hangs up frequently (not always) on macOS (darwin17).
Seems `SIGCHLD` is not delivered.
nobu (Nobuyoshi Nakada)
01:13 PM Bug #14867: Process.wait can wait for MJIT compiler process
Since r63758, mswin builds are failing like https://ci.appveyor.com/project/ruby/ruby/build/1.0.8700, and the build error is changed like https://ci.appveyor.com/project/ruby/ruby/build/1.0.8703 since r63761. Could you check this? Probab... k0kubun (Takashi Kokubun)
10:18 AM Bug #14867: Process.wait can wait for MJIT compiler process
r63764 probably fixes the specs better. At least my misguided attempt to
set ECHILD is removed.
Feel free to add me to CI notifications and Cc: me directly when mailing list or
Redmine are broken. I'm used to getting thousands of ...
normalperson (Eric Wong)
04:17 AM Bug #14867: Process.wait can wait for MJIT compiler process
Hi Eric. After you committed r63758 and r63760, 2 tests for Process.wait2 failed in ko1's CI server:
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1051216
https://gist.github.com/ko1/90104a101b9fa2d7adbd880dbead6beb
By the way,...
k0kubun (Takashi Kokubun)
03:56 PM Revision ddb301b6 (git): * 2018-06-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:56 PM Revision 114fec04 (git): Added guard condition for old ruby about RubyVM::MJIT.
Test libraries under the test/lib is used with default gems in
their repositories. default gems may support old ruby like
Ruby 2.5. When default gems invoke test libraries of Ruby core
with old ruby, they raised
`uninitialized co...
hsbt (Hiroshi SHIBATA)
02:33 PM Bug #14874 (Closed): Segmentation fault under Cygwin
I failed to build Ruby 2.5.1 under Cygwin environment.
Steps:
mkdir ruby-build
cd ruby-build
../ruby-2.5.1/configure --prefix=/usr --enable-shared
make
A "Segmentation fault" occurred during the "generating RDoc documentation" ...
longda (long Lee)
02:00 PM Revision 8f6b3ef1 (git): use the prefixed macro
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:42 PM Revision 797fb39f (git): use rb_pid_t instead of pid_t
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:41 PM Revision 636ae897 (git): Update to ruby/spec@98c7d74
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
01:14 PM Bug #14873 (Closed): Compile failure - MinGW build as of 63768
normalperson (Eric Wong),
The MinGW build (ruby-loco) on 63768 had the following error:
```
building .ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h
./miniruby.exe -I../ruby/lib -I. -I.ext/common ../ruby/tool/transform_mjit_...
MSP-Greg (Greg L)
01:11 PM Bug #14872 (Closed): Compile failure - mswin build as of 63768
@normalperson
The mswin build on 63768 had the following error:
```
compiling ../process.c
process.c
../process.c(919) : error C2146: syntax error : missing ')' before identifier 'ret'
../process.c(919) : error C2081: 'pid_t' ...
MSP-Greg (Greg L)
12:30 PM Revision 9dc121cc (git): Update to ruby/spec@a454137
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
11:37 AM Revision fc1f3f14 (git): Update to ruby/spec@41068a6
* Only small fixes to specs from CRuby to review the diff more easily.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eregon (Benoit Daloze)
11:37 AM Revision 80fdfbf8 (git): Update to ruby/mspec@7074b56
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
10:56 AM Feature #14105 (Feedback): Introduce xor as alias for Set#^
knu (Akinori MUSHA)
10:36 AM Revision cbbe2fab (git): remove assertion for hidden objects.
* vm_insnhelper.h (PUSH): r63763 increase "PUSH()" op and it reveals that
there are hidden objects (at least T_IMEMO/iseq objects) are located
on VM stack. Remove this check and I'll revisit it later.
git-svn-id: svn+ssh://ci.ruby-...
ko1 (Koichi Sasada)
10:09 AM Revision 92f5653f (git): process.c (waitpid_wait): do not set ECHILD prematurely
It is possible to have both MJIT and normal child processes
alive, so we cannot set ECHILD based on such a guess. We can
still elide waitpid(PID <= 0) calls if we have callers in
vm->waiting_pids, however.
For specs, ensure Process.wai...
Eric Wong
09:28 AM Bug #14834 (Closed): rb_profile_frames SEGV when PC adjusted on IFUNC
Applied in changeset trunk|r63763.
----------
give up insn attr handles_frame
I introduced this mechanism in r62051 to speed things up. Later it
was reported that the change causes problems. I searched for
workarounds but nothing seem...
shyouhei (Shyouhei Urabe)
12:16 AM Bug #14834: rb_profile_frames SEGV when PC adjusted on IFUNC
This issue and #14809 are caused by the same problem. shyouhei (Shyouhei Urabe)
09:28 AM Bug #14809 (Closed): calc_lineno() returns wrong location
Applied in changeset trunk|r63763.
----------
give up insn attr handles_frame
I introduced this mechanism in r62051 to speed things up. Later it
was reported that the change causes problems. I searched for
workarounds but nothing seem...
shyouhei (Shyouhei Urabe)
09:28 AM Revision 6b534134 (git): give up insn attr handles_frame
I introduced this mechanism in r62051 to speed things up. Later it
was reported that the change causes problems. I searched for
workarounds but nothing seemed appropriate. I hereby officially
give it up. The idea to move ADD_PC around...
shyouhei (Shyouhei Urabe)
08:24 AM Bug #14871 (Closed): MinGW Compile Error 63758
Applied in changeset trunk|r63762.
----------
signal.c: fix braino in fake_grantfd
[Bug #14871]
Is neon down? I missed ruby-core notifications on this.
normalperson (Eric Wong)
04:02 AM Bug #14871 (Closed): MinGW Compile Error 63758
Just had a compile error running ruby-loco, probably due to 63758
```
compiling ../ruby/signal.c
../ruby/signal.c: In function 'rb_grantpt':
../ruby/signal.c:1591:34: error: expected expression before 'int'
#define grantpt(fd) ...
MSP-Greg (Greg L)
08:24 AM Revision 8222d794 (git): signal.c: fix braino in fake_grantfd
[Bug #14871]
Is neon down? I missed ruby-core notifications on this.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:18 AM Feature #14709: Proper pattern matching
zverok wrote an add-on in regards to "syntax proposal" here:
https://zverok.github.io/blog/2018-06-26-pattern-matching.html
I don't have a suggestion for a better syntax myself really.
zverok suggested, among other examples, e. ...
shevegen (Robert A. Heiler)
07:32 AM Bug #14659: segfault in ConditionVariable#broadcast and ConditionVariable#signal
Backport request for 2.5.2 is here, sorry for the breakage:
https://bugs.ruby-lang.org/issues/14852
normalperson (Eric Wong)
06:01 AM Revision ea5efa11 (git): s/pid_t/rb_pid_t/
Some platforms do not have pid_t :x
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:24 AM Feature #8661: Add option to print backtrace in reverse order (stack frames first and error last)
This is possibly one of the most irritating changes to Ruby recently. Now, every time I read back trace, I have to check it carefully.
Is it top to bottom or bottom to top?
How is this confusion made worse?
- Using multiple vers...
ioquatix (Samuel Williams)
03:16 AM Revision 910418fc (git): Revert "spec: skip Process wait specs on MJIT"
This reverts r63731 (commit 359dd59db2512d801bb983f98bede4fc598f139a).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:16 AM Revision fd14dcdd (git): Revert "test_process.rb: skip tests for Bug 14867"
This reverts r63740 (commit 042395a7f7262464265ce70cdffbe1812aa145d3).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:14 AM Revision 054a412d (git): hijack SIGCHLD handler for internal use
Use a global SIGCHLD handler to guard all callers of rb_waitpid.
To work safely with multi-threaded programs, we introduce a
VM-wide waitpid_lock to be acquired BEFORE fork/vfork spawns the
process. This is to be combined with the new r...
Eric Wong
02:37 AM Revision e3e22c55 (git): Revert "bootstraptest/runner: speed up assert_finish by avoiding sleep"
This reverts commit r63754.
Many CI servers still use old ruby as base ruby which does not support
read_nonblock.
https://rubyci.org/logs/www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20180627T013100Z.fail.html.gz
git-svn-id: svn...
mame (Yusuke Endoh)
01:10 AM Revision 529af9c8 (git): refactor move logics out of insns.def
This is a pure refactoring. I see no difference in this change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
12:57 AM Revision 22444ae9 (git): move function declarations from insns.def to internal.h
Just avoid being loose.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)

06/26/2018

11:44 PM Revision a1ba5b6a (git): bootstraptest/runner: speed up assert_finish by avoiding sleep
We may use IO.select to watch for process exit. This speeds up
"make test" by 2 seconds for me.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:56 PM Revision 8ae5c935 (git): * 2018-06-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:56 PM Revision 648254d5 (git): test: skip 2 major unstable tests with MJIT
for CI with cppflags=-DMJIT_FORCE_ENABLE.
Since I have no idea to fix this immediately, let me skip this for now
and take a look later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:26 PM Bug #14870: Both TracePoint's :call and :c_call filters seem to skip a lot of builtin methods
Mmm, that's indeed a bug that should be fixed imo.
This indeed happens because of optimizations for basic operators (in insns.def):
~~~ ruby
TracePoint.new(:call, :c_call) { |tp| puts tp.method_id }.enable { 42 % 2 } # => No print...
marcandre (Marc-Andre Lafortune)
05:39 AM Bug #14870 (Closed): Both TracePoint's :call and :c_call filters seem to skip a lot of builtin methods
It looks like a lot of builtin methods (`Array#<<` and `Integer#+`, for example) aren't hooked when using the :call or :c_call filters for TracePoint.
```
➜ irb
:001 > [RUBY_VERSION, RUBY_PATCHLEVEL]
=> ["2.5.1", 57]
:002 > Tr...
yarmiganosca (Chris Hoffman)
02:14 PM Bug #14852 (Closed): please backport thread sync fixes to 2.5
I will move this ticket to Bugs and fill Backport field to manage backport requests.
thanks.
nagachika (Tomoyuki Chikanaga)
02:13 PM Feature #14869: Proposal to add Hash#===
返信ありがとうございます!!
>> レシーバのキーの要素と引数のハッシュのキーの要素を #=== で比較して、全てが真なら true を返し、そうでないなら false を返す。
> ...
はい、その認識で問題ありません。
> 空でないハッシュをハッシュ以外のオブジェクトと比較しようとするとSEGVします。
> ...
ご指摘ありがとうございます。
`{ id: 1 } === 42` のように『空でないハッシュをハッシュ以外のオブジェクトと比較...
osyo (manga osyo)
09:39 AM Feature #14869: Proposal to add Hash#===
osyo (manga osyo) wrote:
> ## 仕様
> ...
キーに対応する値同士を比較するということですね。
> * `Object#===` の場合だと `{} === 42` が例外ではなくて `false` を返していたので、`Hash#===` も `false` を返すようにした
空でないハッシュをハッシュ以外のオブジェクトと比較しようとするとSEGVします。
`to_hash()` で変換するか、 `Check_Type(...
nobu (Nobuyoshi Nakada)
01:42 PM Bug #14867: Process.wait can wait for MJIT compiler process
```
Up to 14 patches, now, but I think most problems are solved,
at least on Linux. FreeBSD 11.1 is close

Links within:

https://80x24.org/spew/20180626093817.1533-1-e@80x24.org/

One potential problem is stuff like:

pids =...
normalperson (Eric Wong)
01:42 AM Bug #14867: Process.wait can wait for MJIT compiler process
Eric Wong <normalperson@yhbt.net> wrote:
> takashikkbn@gmail.com wrote:
> > Thanks to work on this. The skipped tests you reverted was for running with "./configure cppflags=-DMJIT_FORCE_ENABLE", and some of them failed and some SEGV-...
normalperson (Eric Wong)
01:28 PM Bug #14659: segfault in ConditionVariable#broadcast and ConditionVariable#signal
I had the exact the same situation as Nathan.
Segfaults happen in https://github.com/codegram/futuroscope gem which initalizes a pool of threads at startup. When passenger smart spawning forks the process, it segfaults.
I tested t...
jmgarnier (Jean-Michel Garnier)
01:26 PM Bug #14634 (Open): Queue#push seems to crash after fork
I also encountered segfaults when upgrading from ruby 2.4 to 2.5.1
they happen in https://github.com/codegram/futuroscope gem which initalizes a pool of threads at startup. When passenger smart spawning forks the process, it segfaults....
jmgarnier (Jean-Michel Garnier)

06/25/2018

11:22 PM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> Thanks to work on this. The skipped tests you reverted was for running with "./configure cppflags=-DMJIT_FORCE_ENABLE", and some of them failed and some SEGV-ed on my machine.
> Here is the log: https:/...
normalperson (Eric Wong)
01:14 PM Bug #14867: Process.wait can wait for MJIT compiler process
Thanks to work on this. The skipped tests you reverted was for running with "./configure cppflags=-DMJIT_FORCE_ENABLE", and some of them failed and some SEGV-ed on my machine.
Here is the log: https://gist.githubusercontent.com/k0kubun...
k0kubun (Takashi Kokubun)
02:03 AM Bug #14867: Process.wait can wait for MJIT compiler process
> Shall I commit?

Well, it works well only for good C extensions and programs
which avoids NFS or slow HDD in the main thread.

However, handling SIGCHLD in timer-thread will have the
advantage of working well even when main thre...
normalperson (Eric Wong)
12:33 AM Bug #14867: Process.wait can wait for MJIT compiler process
I'm pretty sure this series is sorted (at least on Linux +
FreeBSD) And with [PATCH 3/5] probably won't break on Win32
(does it have SIGCHLD?). At least I tried to make it
easy-to-fix for win32 maintainers.

I plan to squash patch...
normalperson (Eric Wong)
09:15 PM Misc #14861: DevelopersMeeting20180718Japan
* [Feature #14111] ArgumentErrorが発生した時メソッドのプロトタイプをメッセージに含む (esjee)
* Suggestion: include method parameters when generating an ArgumentsError message. Nobu's patch in the issue provides functionality to make writing a ruby gem to provi...
esjee (SJ Stoker)
09:10 PM Feature #14111: ArgumentErrorが発生した時メソッドのプロトタイプをメッセージに含む
返事ありがとうございます。<https://github.com/nobu/ruby/tree/feature/14111-ArgumentError-attributes>のパッチで大体の問題は解決されるようです。
今まだ苦戦してるところはこういうメソッド:
```
def foo(a, b = 3); end
```
を理想の
```
Method prototype:
def foo1(a, b = 3)
```
にすることです...
esjee (SJ Stoker)
08:43 PM Feature #10098: [PATCH] Timing-safe string comparison for OpenSSL::HMAC
I agree Rails' `secure_compare` name is not great. 'Secure' is a result of the fact it's a constant-time comparison. How about `String#const_time_eql?` or something along those lines? bdewater (Bart de Water)
02:48 PM Feature #14869 (Open): Proposal to add Hash#===
## 概要
`Hash#===` を追加する提案になります。
## 仕様
レシーバのキーの要素と引数のハッシュのキーの要素を `#===` で比較して、全てが真なら `true` を返し、そうでないなら `false` を返す。
また、レシーバが空のハッシュの場合、引数が空のハッシュなら `true` を返し、そうでないなら `false` を返す。
```ruby
user = { id: 1, name: "homu", age: 1...
osyo (manga osyo)
02:15 PM Revision 4444025d (git): mjit_compile.inc.erb: drop unnecessary variable
It never becomes `dispatched: true` with the current code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:18 PM Revision 7e7d804e (git): test_range.rb: add tests to improve coverage
This patch will improve the result of line coverage from 91.3% to 95.0%.
[Fix GH-1899]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
watson1978 (Shizuo Fujita)
01:13 PM Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding
`[1].join.encoding` is `#<Encoding:US-ASCII>`.
So I think current behavior is consistent too.
znz (Kazuhiro NISHIYAMA)
12:11 PM Revision 86072291 (git): increase body size
To try to block writing on travis.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
09:29 AM Bug #14862: Time.parse does not handle the time zone
Like i said, TimeZone is heavly OS depend and even DateTime.strptime might not return useful result!
you probably should not depend on that timezone value
like when turning a DateTime into a Time Object, the Zone does return nil fo...
Hanmac (Hans Mackowiak)
07:57 AM Revision e85693fc (git): mjit.c: hide path search error behind verbose()
Before r63744, we let execvp(3) fail instead and it was quiet.
The verbosity was causing test_search to fail in
test/ruby/test_rubyoptions.rb when PATH is set to /tmp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63748 b2dd03c8-39d...
Eric Wong
05:47 AM Bug #14834: rb_profile_frames SEGV when PC adjusted on IFUNC
Here's an easy way to reproduce the segfault on current trunk:
`Gemfile`
~~~ ruby
source "https://rubygems.org"
gem "stackprof"
~~~
`test.rb`
~~~ ruby
require 'stackprof'
StackProf.run(mode: :object) do
[123].grou...
kivikakk (Asherah Connor)
03:14 AM Revision 33d0be15 (git): comma at the end of enum is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
02:52 AM Revision faba0ee1 (git): mjit.c: avoid signed pointer comparisons (fix for 32-bit)
ptrdiff_t is a signed type, use uintptr_t instead for unsigned
comparisons. This is needed to allow MJIT tests to pass on
32-bit x86 GNU/Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
02:52 AM Revision 65ab2ab1 (git): mjit.c: set PIC flags on clang for FreeBSD and glibc
This seems required on FreeBSD 11.1 (clang 4.0.0) and
Debian stretch (clang 3.8.1) for shared libraries.
Note: Not checking __linux__ because there are statically-linked
Linux distros (I don't know if they can support MJIT). But
glibc ...
Eric Wong
01:06 AM Revision d3e8d4f3 (git): mjit.c: avoid execvp PATH lookup in vfork-ed child
execvp(3) is not async-signal-safe and may alter libc internal
states (e.g. those used by malloc). However execv(3) is
async-signal-safe as of POSIX.1-2008.
So perform the PATH lookup in the parent and use execv(3)
in the child.
git-s...
Eric Wong
12:36 AM Feature #14718: Use jemalloc by default?
vo.x (Vit Ondruch) wrote:
> We are always against bundling. You make great disservice to almost every Linux distribution if you ever suggest/consider bundling.
I think there is no chance to bundle it.
vo.x (Vit Ondruch) wrote:
> ...
nobu (Nobuyoshi Nakada)

06/24/2018

10:08 PM Revision 8c8247c6 (git): * 2018-06-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
10:08 PM Revision 8b590c46 (git): UNIXSocket#recv_io: trigger GC when out of FDs
Make this behavior is consistent with our other FD-allocating
methods.
EMFILE and ENFILE are not documented nor can I trigger them when
using UNIXSocket#recv_io. However, ENOMEM is documented, and
I've triggered EMSGSIZE on FreeBSD and...
Eric Wong
09:51 PM Bug #14846: Backport fixes for Kernel#warn(uplevel:)
I think those changes related to uplevel: should also be backported, unless they are already part of 2.5 of course:
r63062: error.c: prepend "warning: " always (fixes the first problem shown above)
r61527: error.c (rb_warn_m): limit ...
Eregon (Benoit Daloze)
12:42 PM Bug #14867: Process.wait can wait for MJIT compiler process
> ```diff
> +++ b/process.c
> @@ -1348,6 +1348,9 @@ after_exec_non_async_signal_safe(void)
> {
> rb_thread_reset_timer_thread();
> rb_thread_start_timer_thread();
> + if (rb_signal_buff_size()) {
> + r...
normalperson (Eric Wong)
12:22 PM Bug #14867: Process.wait can wait for MJIT compiler process
> > File 0001-hijack-SIGCHLD-handler-for-internal-use.patch added
> ...
Testing with this amendment:
https://80x24.org/spew/20180624115501.19651-1-e@80x24.org/raw
It's a bit tricky, and I introduced yet another sleep function
(rb_t...
normalperson (Eric Wong)
04:04 AM Bug #14867: Process.wait can wait for MJIT compiler process
> File 0001-hijack-SIGCHLD-handler-for-internal-use.patch added

Scratch that, slightly buggy. Will fix in a bit.
normalperson (Eric Wong)
12:36 PM Bug #14868 (Closed): [PATCH] process.c (ruby_fork_ruby): fix race in signal handling
Applied in changeset trunk|r63741.
----------
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...
normalperson (Eric Wong)
12:34 PM Bug #14868 (Closed): [PATCH] process.c (ruby_fork_ruby): fix race in signal handling
process.c (ruby_fork_ruby): fix race in signal handling
We must block signals before stopping timer-thread, otherwise
signal handing can be delayed until another signal is
received after timer-thread is restarted.
Refixes [Bug #1...
normalperson (Eric Wong)
12:36 PM Revision 4bbdb9ea (git): 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 restarted.
[ruby-core:87622] [Bug #14868] [Bug #13916]
git-svn-id: svn+ssh://ci...
Eric Wong
11:07 AM Revision 042395a7 (git): test_process.rb: skip tests for Bug 14867
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
10:30 AM Revision 57671621 (git): process.c (after_fork_ruby): make it a proper function
Improves readability to me, and there's no point in using
macros for this with decent compilers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
09:31 AM Revision be850d7b (git): test/net/http/test_httpresponse.rb: add testcases for net/httpresponse
This change adds testcases for Response#inspect and #code_type, and
improves line coverage of lib/net/http/response.rb (91.8 % to 92.94 %).
A patch from @owlworks. https://github.com/ruby/ruby/pull/1898
git-svn-id: svn+ssh://ci.ruby-l...
mame (Yusuke Endoh)
09:31 AM Revision 103b5063 (git): lib/prime.rb: remove unused methods
This change removes TrialDivision#cache, TrialDivision#primes, and
TrialDivision#primes_so_far.
TrialDivision class is undocumented officially, so this class is used
only internally. Yugui san moved prime library from mathn to prime in...
mame (Yusuke Endoh)
09:31 AM Revision dc4ab636 (git): * 2018-06-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:31 AM Revision fdf2322d (git): test/test_prime.rb: add testcases of prime library
This change improves line coverage of prime.rb from 86% to 99%.
A patch from @shio-phys. https://github.com/ruby/prime/pull/3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mame (Yusuke Endoh)
05:18 AM Bug #14841: Very rarely IO#readpartial does not raise EOFError
Hi,
Sorry to reply late.
Thank you for your quick help and fix.
I have tried the same code more than 1,000,000 times on "ruby 2.6.0dev (2018-06-22 trunk 63723) [x86_64-linux]" version that includes the fix, and I confirmed the iss...
hirura (Hiroyuki URANISHI)
01:04 AM Bug #14858: Introduce 2nd GC heap named Transient heap
ko1@atdot.net wrote:
> * Support String (most important)

I expect this will be difficult, too.

Too many places release GVL or otherwise trigger GC while
RSTRING_PTR is being used.

rb_str_locktmp is not widely-used (and not do...
normalperson (Eric Wong)
 

Also available in: Atom