Project

General

Profile

Activity

From 10/30/2018 to 11/05/2018

11/05/2018

11:33 PM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
> https://bugs.ruby-lang.org/issues/14968

Updated patch against r65553 with non-blocking socket support:

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

Greg: It should be hiding errors for Win32 users, but I can'...
normalperson (Eric Wong)
11:07 PM Bug #15282 (Closed): Segfault (null pointer dereference) in variable.c iv_index_tbl_make
Applied in changeset trunk|r65554.
----------
Don't set throw data as cause [Bug #15282]
naruse (Yui NARUSE)
04:36 PM Bug #15282 (Closed): Segfault (null pointer dereference) in variable.c iv_index_tbl_make
Reproducer and crash:
~~~
jtruba@dev118:~/rubies/ruby-trunk$ ./ruby -e 'END{n}; END{return}'
-e: unexpected return
-e:1: [BUG] Segmentation fault at 0x0000000000000018
ruby 2.6.0dev (2018-10-31 trunk 65474) [x86_64-linux]
-- Cont...
bannable (Joe Truba)
11:06 PM Revision cc508b54 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:06 PM Revision fdcc9c9e (git): Don't set throw data as cause [Bug #15282]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
10:56 PM Revision c076d600 (git): thread.c (rb_wait_for_single_fd): no point initializing pollfd.revents
poll(2) and ppoll(2) implementations need to check and write to
.revents on the initial scan, anyways. So any poll/ppoll call
which returns a positive result can be expected to have an
initialized .revents value.
git-svn-id: svn+ssh://...
Eric Wong
05:27 PM Revision de753720 (git): * 2018-11-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:27 PM Revision d05e04b8 (git): Relax MJIT_BUILD_DIR restriction
* mjit.c (init_header_filename): sticky-mode directory probably
would be less unsafe even if it is not owned.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:43 PM Feature #11689: Add methods allow us to get visibility from Method and UnboundMethod object.
(I think it may be easier to file a separate issue for the predicate methods,
such as Method#public?, Method#protected? or Method#private?).
Kaneko Yuichiro added the issue to the next upcoming developer meeting. Let's
see to the up...
shevegen (Robert A. Heiler)
12:40 AM Feature #11689: Add methods allow us to get visibility from Method and UnboundMethod object.
Oh, sorry. I missed where you were looking for an example before. Here's a good one from the popular activesupport gem: [here](https://github.com/rails/rails/blob/c823f9252be2552c65bb1370ccf42a14de461439/activesupport/lib/active_support/... MikeVastola (Mike Vastola)
08:02 AM Revision 62ebf355 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:02 AM Revision 05711c45 (git): use `RSTRUCT_CONST_PTR` carefully.
* struct.c: should not use `RSTRUCT_CONST_PTR` with method dispatch
because pointers can be obsolete after method dispatch. `rb_equal()`
and so on can dispatch Ruby's methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65549...
ko1 (Koichi Sasada)
07:01 AM Revision 972cf8c9 (git): Fix up r65505 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
07:01 AM Revision ed44d40b (git): Sort in alphabetical order [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
06:02 AM Revision c8cbae68 (git): Fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
02:57 AM Revision fc8bda6f (git): Respect explicitly given MJIT_CC
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:25 AM Revision 002e0ca4 (git): Create MJIT header with strict permission
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:14 AM Feature #14836 (Closed): Method to return first/last lineno/column of Proc
Applied in changeset trunk|r65542.
----------
Implement `RubyVM::AST.of` [Feature #14836]
yui-knk (Kaneko Yuichiro)
02:14 AM Revision 5164e2e4 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
02:13 AM Revision ce798d08 (git): Implement `RubyVM::AST.of` [Feature #14836]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e yui-knk (Kaneko Yuichiro)
02:05 AM Revision 6d497629 (git): More verbose message at unsafe header
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:52 AM Misc #15229: DevelopersMeeting20181122Japan
* [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object. (yui-knk)
* I want to introduce this feature to help meta programming. I'd like to hear opinions from other committers.
yui-knk (Kaneko Yuichiro)

11/04/2018

11:56 PM Feature #11689: Add methods allow us to get visibility from Method and UnboundMethod object.
Thanks for your comment.
Can you show me the use cases where predicate methods are useful?
I think these predicate methods can be implemented by using `#visibility` method, so these predicate methods should not be needed as core features.
yui-knk (Kaneko Yuichiro)
10:36 PM Revision fc1f476b (git): addr2line.c uses c99ism
https://travis-ci.org/ruby/ruby/jobs/450505006
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
03:39 PM Revision 8b8c374c (git): Fix RubyGems extension build failure after r65470
Port of upstream patch https://github.com/rubygems/rubygems/pull/2457
Since r65470 (Upstream: https://github.com/rubygems/rubygems/pull/2441),
builds of extension gem had always failed under really_verbose mode.
git-svn-id: svn+ssh://c...
sorah (Sorah Fukumori)
03:25 PM Feature #15277: at_exec
> I imagine that the need of calling at_exec is rare though
I think something similar could be said about at_exit. While I
think it is fine that it exists, I found that in larger projects
it can be quite annoying if some other proje...
shevegen (Robert A. Heiler)
03:14 PM Revision 052e45f1 (git): * 2018-11-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:14 PM Revision e6d63ac6 (git): Use symtab if there's no .dSYM file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
12:46 PM Revision ef94a94d (git): Check MJIT_BUILD_DIR strictly
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:24 PM Revision c111c42b (git): MJIT_CC should not use CC_WRAPPER
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:46 AM Revision 2c62b3fb (git): hash.c: [DOC] add docs for ENV.{filter,filter!}
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:45 AM Revision 7633552b (git): hash.c: [DOC] fix wrong cross-references
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:45 AM Revision 45868d20 (git): hash.c: [DOC] add missing `block' in call-seq's
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:44 AM Revision 6928faa6 (git): struct.c: [DOC] add docs for Struct#filter
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:43 AM Revision 83e459b2 (git): hash.c: [DOC] add docs for Hash#{filter,filter!}
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:41 AM Revision b3adc0c5 (git): hash.c: [DOC] improve Hash#{select!,keep_if} docs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:40 AM Revision 139d9d81 (git): array.c: [DOC] add docs for Array#{filter,filter!}
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:39 AM Revision bd20f031 (git): array.c: [DOC] improve Array#{select,select!,keep_if} docs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e stomar (Marcus Stollsteimer)
11:01 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
ko1 (Koichi Sasada) wrote:
> I agree to introduce cold attribute (I have no idea about the naming).
> ...
Yes, I agree - in retrospect `rb_define` functions would affect startup time, especially for very large Rails applications. I was...
methodmissing (Lourens Naudé)
02:09 AM Revision f167ff47 (git): Hide Time::TM as Time::tm
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:02 AM Revision 125e9ef7 (git): Refine Timezone class in test-spec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:30 AM Feature #15066: Documentation and providing better API for accessing Complex numbers functions in C extensions
Sorry for laziness.
What about https://github.com/nobu/ruby/pull/new/feature/15066-Complex-API ?
nobu (Nobuyoshi Nakada)
01:14 AM Revision 356a73e7 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:14 AM Revision 2fbbbba5 (git): Merge upstream changes from 2-0-stable branch of bundler/bundler.
* It update bundler 2 mode to bundler 3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:22 AM Revision 3e063ca7 (git): complex.c: rb_dbl_complex_polar_pi
* complex.c (rb_dbl_complex_polar_pi): suffixed with _pi to
clarify that `ang` is not radian, but multiplied by PI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:08 AM Feature #15281: Speed up Set#intersect with size check.
marcandre (Marc-Andre Lafortune) wrote:
> I'd be enclined to say that Set should be officially ordered, even if "mathematically" speaking that doesn't make sense. I'm assigning this to Matz.
I'd be inclined to say that Set should b...
duerst (Martin Dürst)

11/03/2018

11:52 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
I agree to introduce cold attribute (I have no idea about the naming).
`rb_bug` or `rb_warn` (etc) should be cold functions because they should not be called.
However, I'm not sure `rb_define_...` and so on because it can affect st...
ko1 (Koichi Sasada)
11:43 PM Revision 7d9623eb (git): Makefile.in: use CC_WRAPPER
* Makefile.in (CC_WRAPPER): use the wrapper to suppress warnings
by Apple's broken packages when linking in the toplevel
directory.
* configure.ac (CC_WRAPPER): separate from CC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65...
nobu (Nobuyoshi Nakada)
11:10 PM Revision 0f28fe2b (git): configure.ac: set CC_WRAPPER by checking message
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:08 PM Revision 7b845212 (git): * 2018-11-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:08 PM Revision 0660d7cb (git): Just skip on armv7l-linux
it seems ssl.close doesn't cause EOFError on client side, but just skip
because it breaks test-all.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
10:52 PM Feature #15277: at_exec
ruby-core@marc-andre.ca wrote:
> normalperson (Eric Wong) wrote:
> > Would this work for subprocesses? (system, spawn, ``,
> > popen, ...)
>
> I'm not sure I understand the question. `exec` effectively
> terminates the Ruby pro...
normalperson (Eric Wong)
12:05 AM Feature #15277: at_exec
normalperson (Eric Wong) wrote:
> Would this work for subprocesses? (system, spawn, ``, popen, ...)
I'm not sure I understand the question. `exec` effectively terminates the Ruby process although the `at_exit` callbacks are not call...
marcandre (Marc-Andre Lafortune)
08:37 PM Bug #15206: require_relative in std_lib
For `lib/racc/parser.rb` I reverted this in r65514 for the require of `racc/cparse.so` (similar to r65511 for `cgi/escape`).
Possibly there might be other C extensions that are required from within `/lib`, where require_relative would...
stomar (Marcus Stollsteimer)
05:29 AM Bug #15206 (Closed): require_relative in std_lib
Applied in changeset trunk|r65511.
----------
lib/cgi/util.rb: use require
* lib/cgi/util.rb: reverted r65505. require_relative does not
work for cgi/escape.so, as extension libraries are placed in
other directories than ruby libr...
nobu (Nobuyoshi Nakada)
06:42 PM Feature #15281: Speed up Set#intersect with size check.
RGBD (Oleg Zubchenko) wrote:
> > Set implements a collection of unordered values with no duplicates. This is a hybrid of Array's intuitive inter-operation facilities and Hash's fast lookup.
Good point.
Note that this documentation...
marcandre (Marc-Andre Lafortune)
05:10 PM Feature #15281: Speed up Set#intersect with size check.
marcandre (Marc-Andre Lafortune) wrote:
> Thanks for the patch.
> ...
Where in the documentation can I read that?
[this](https://ruby-doc.org/stdlib-2.5.3/libdoc/set/rdoc/Set.html#method-i-to_a) says order is uncertain. I thought it...
RGBD (Oleg Zubchenko)
03:51 PM Feature #15281: Speed up Set#intersect with size check.
Thanks for the patch.
Sadly, I don't think we can do that as `Set`s are ordered. That optimization would change the order of the resulting `Set` in some cases.
marcandre (Marc-Andre Lafortune)
01:08 PM Feature #15281 (Assigned): Speed up Set#intersect with size check.
Current implementation computes set intersection s1 & s2 in O(s2.size) time.
It can be reduced to O([s1.size, s2.size].min) time.
Additional speedup comes from using #each instead of #do_with_enum.
See files attached for benchmark...
RGBD (Oleg Zubchenko)
05:02 PM Bug #15280: r65509 - bundler & make install, no CLI
This seems to only affect `bundler`, while `bundle` is working fine. May be similar to `-rubygems` and `-rrubygems`...
MSP-Greg (Greg L)
06:19 AM Bug #15280 (Assigned): r65509 - bundler & make install, no CLI
hsbt (Hiroshi SHIBATA)
04:50 AM Bug #15280 (Closed): r65509 - bundler & make install, no CLI
Something may be amiss with the addition of bundler and `make install`, as `bundle(r) version` is not working. Previously, I installed the bundler gem, and all was fine...
If it's any help, the ruby-loco 7z file (ruby_trunk.7z) is av...
MSP-Greg (Greg L)
03:15 PM Feature #14151 (Closed): Make Matrix#[]= public method
marcandre (Marc-Andre Lafortune)
05:48 AM Feature #14151: Make Matrix#[]= public method
It's been merged and issue can be closed now :) greggzst (Grzegorz Jakubiak)
12:42 PM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> I close this ticket. Please file another ticket if you work on
> moving to event-based MJIT worker.

Thanks, but I don't know if it can happen in time for 2.6 :<

Judging by how often processes are s...
normalperson (Eric Wong)
07:39 AM Bug #14867 (Closed): Process.wait can wait for MJIT compiler process
The CIs have been stable since r65495. I think this issue seems to be fixed now. Thank you so much!
I close this ticket. Please file another ticket if you work on moving to event-based MJIT worker.
k0kubun (Takashi Kokubun)
12:31 PM Revision 67da45a1 (git): Merge rubygems-3.0.0.beta2.
* It enabled `USE_BUNDLER_FOR_GEMDEPS` for using gemdeps of rubygems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:24 PM Revision 38caab29 (git): Always inline rb_to_integer to prevent a method call penalty
for integer types
Close https://github.com/ruby/ruby/pull/2001
Co-Authored-By: methodmissing <lourens@methodmissing.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:20 AM Revision 728afecc (git): expose `rb_ary_detransient`.
* internal.h: expose `rb_ary_detransient`. I'm not sure why there are
no many troubles without this patch...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
08:43 AM Revision e9adca49 (git): lib/racc/parser.rb: use require for racc/cparse
* lib/racc/parser.rb: reverted r65505. require_relative does
not work for racc/cparse.so, as extension libraries are placed
in other directories than Ruby libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65514 b2dd03c8-...
stomar (Marcus Stollsteimer)
07:58 AM Revision 84a27619 (git): hash.c: fix types
* hash.c (RHASH_ARRAY_BOUND_RAW): should be unsigned as well as
RHASH_ARRAY_SIZE_RAW.
* hash.c (find_entry): return unsigned for the consistency with
RHASH_ARRAY_SIZE and RHASH_ARRAY_BOUND.
git-svn-id: svn+ssh://ci.ruby-lang.org/ru...
nobu (Nobuyoshi Nakada)
06:56 AM Bug #15279 (Closed): Lots of warnings about signed and unsigned types for macro RHASH_SIZE
Applied in changeset trunk|r65512.
----------
internal.h: RHASH_ARRAY_SIZE_RAW value is unsigned
and get rid of warnings. [ruby-core:89688] [Bug #15279]
nobu (Nobuyoshi Nakada)
03:19 AM Bug #15279 (Closed): Lots of warnings about signed and unsigned types for macro RHASH_SIZE
When trying to compile the latest version of Ruby, I get a lot of warnings such as the following:
```
compiling array.c
In file included from transient_heap.h:12:0,
from array.c:21:
array.c: In function ‘rb_ary_un...
duerst (Martin Dürst)
06:55 AM Revision fd8d3c5c (git): internal.h: RHASH_ARRAY_SIZE_RAW value is unsigned
and get rid of warnings. [ruby-core:89688] [Bug #15279]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:35 AM Bug #15087: Segmentation fault with splat and block
Sorry, I've missed filling the Backport. nobu (Nobuyoshi Nakada)
05:29 AM Revision 6b1e4251 (git): lib/cgi/util.rb: use require
* lib/cgi/util.rb: reverted r65505. require_relative does not
work for cgi/escape.so, as extension libraries are placed in
other directories than ruby libraries. [Bug #15206]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65511...
nobu (Nobuyoshi Nakada)
04:20 AM Bug #15278 (Closed): Refinements don't work well with Forwardable
It's intentional. Refinement is **lexical** overriding of methods. That means refined methods (e.g. `origin` in this case) are not called from delegators.
Matz.
matz (Yukihiro Matsumoto)
12:06 AM Bug #15278 (Closed): Refinements don't work well with Forwardable
Refined methods become unreachable when called through def_delegator.
```ruby
require "forwardable"
module URIExtensions
refine URI::Generic do
def authority
port_string = port == default_port ? nil : ":#{port}"
...
chucke (Tiago Cardoso)
12:44 AM Revision bec184b5 (git): wercker.yml: use pipeline name for notification [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)

11/02/2018

11:08 PM Feature #12733 (Closed): Bundle bundler to ruby core
Applied in changeset trunk|r65509.
----------
Added bundler as default gems. Revisit [Feature #12733]
* bin/*, lib/bundler/*, lib/bundler.rb, spec/bundler, man/*:
Merge from latest stable branch of bundler/bundler repository and
...
hsbt (Hiroshi SHIBATA)
11:07 PM Revision 59c8d506 (git): Added bundler as default gems. Revisit [Feature #12733]
* bin/*, lib/bundler/*, lib/bundler.rb, spec/bundler, man/*:
Merge from latest stable branch of bundler/bundler repository and
added workaround patches. I will backport them into upstream.
* common.mk, defs/gmake.mk: Added `tes...
hsbt (Hiroshi SHIBATA)
10:28 PM Revision 7deb3777 (git): common.mk: --no-ri and --no-rdoc options were removed
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ktsj (Kazuki Tsujimoto)
09:22 PM Feature #15277: at_exec
ruby-core@marc-andre.ca wrote:
> https://bugs.ruby-lang.org/issues/15277

Would this work for subprocesses? (system, spawn, ``, popen, ...)
(if so, it would defeat vfork optimization we do under Linux)

> There's currently no easy...
normalperson (Eric Wong)
07:23 PM Feature #15277 (Assigned): at_exec
There's currently no easy way to have code executed before a subsequent call to `exec`. One has to monkey-patch the builtin method.
I'd like to propose a new method `at_exec` that would be very similar to `at_exit`, except that the ca...
marcandre (Marc-Andre Lafortune)
08:55 PM Feature #15236: add support for hash shorthand
I would like to use Hash shorthand in the following cases.
```ruby
describe User do
let(:id) { ... }
let(:name) { ... }
let(:age) { ... }
let(:registered_at) { ... }
# I want to hash shorthand!
let(:user) { User.new(id: id, age:...
osyo (manga osyo)
08:47 PM Feature #15236: add support for hash shorthand
hi, blakewest.
I proposaled it.
https://bugs.ruby-lang.org/issues/14973
I need to consider an implementation that does not use `#eval`.
osyo (manga osyo)
08:29 PM Feature #15236: add support for hash shorthand
Hi all,
I've really wanted a feature like this for a long time. I find myself often using named arguments, which I love for the clarity. But then the callers often have variables of the same name as the parameter name, making it more v...
blakewest (Blake West)
07:31 PM Bug #15087: Segmentation fault with splat and block
This is **still crashing** in Ruby 2.5.3. Is this going to ever be fixed in Ruby 2.5 series? RubyBugs (A Nonymous)
05:52 PM Revision eda970cf (git): lib/matrix.rb: Make Matrix & Vector mutable. Add #[]=, #map!.
Adapted from patch by Grzegorz Jakubiak. [#14151] [Fix GH-1769] [Fix GH-1905]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Marc-Andre Lafortune
05:52 PM Revision b9d42af0 (git): lib/*: Prefer require_relative over require, remove explicit extension
[#15206] [Fix GH-1976]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Marc-Andre Lafortune
05:52 PM Revision e859e668 (git): lib/*: Prefer require_relative over require.
[#15206] [Fix GH-1976]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Marc-Andre Lafortune
05:52 PM Revision c8c66bcf (git): lib/matrix: Use consistent style
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Marc-Andre Lafortune
05:52 PM Revision 5ba9a950 (git): lib/matrix: use consistent style
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Marc-Andre Lafortune
05:52 PM Revision a1f22c4f (git): lib/matrix.rb: Alias antisymmetric? with skew_symmetric?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Marc-Andre Lafortune
05:51 PM Revision 5a5bf993 (git): * 2018-11-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:51 PM Revision 55961ac9 (git): Revert "Matrix: Add #reflexive? method. [Fix GH-1730]"
This reverts commit 19fe6552c456e41c0b85816806399ca1609255c0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Marc-Andre Lafortune
01:30 PM Revision df58e74e (git): Add timeout
it breaks armv7 CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
12:21 PM Revision 119068f9 (git): README.md: add wercker status badge [ci skip]
and show trunk branch's build status for travis as well
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:40 AM Revision 2337f0f3 (git): * 2018-11-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:40 AM Revision 6e9703b0 (git): mjit_worker.c: do no access pointer after free
When we return there, `unit` is already freed.
This is detected by coverity scan.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
10:04 AM Bug #13427 (Closed): gemspec might be treat as binary - probably bug?
Closed at r65461 hsbt (Hiroshi SHIBATA)
03:25 AM Bug #15276: URI.join behaviour is unintuitive
What name would you suggest? Avdi mentioned the name #merge_path - is this the name
that you suggest? (I ask specifically because finding a good name is not always
easy. And in the proposal no specific name was mentioned as such.)
shevegen (Robert A. Heiler)

11/01/2018

03:59 PM Bug #15276 (Closed): URI.join behaviour is unintuitive

Hello,
I've been bitten by issue #10075, I actually expected a different behaviour from ::join. It doesn't IMHO resepect the "principle of least suprise".
I agree with avdi who suggests to deprecate ::join and replace it with a m...
vihai (Daniele Orlandi)
03:33 PM Misc #15275: [DOCs] Documentation for ruby's jit model - from the ruby "end user" perspective
OK. Preview3's release notes is not gonna be changed so much, but I'll revisit that from user's perspective at preview4, rc1 or the actual release.
Previous releases didn't include that just because it had been a super early stage and...
k0kubun (Takashi Kokubun)
03:21 PM Misc #15275 (Closed): [DOCs] Documentation for ruby's jit model - from the ruby "end user" perspective
This is a request about documentation, with the specific focus on the new ruby
jit.
The "end user" perspective here means how an average ruby user may look at the
jit; say, someone who may have been using ruby for some time, but may...
shevegen (Robert A. Heiler)
02:30 PM Bug #14867: Process.wait can wait for MJIT compiler process
Thanks for your continuous effort on it. We saw another failure on rb_f_system http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1440570 on r65493, but I hope timer solves the issue as well on r65495. k0kubun (Takashi Kokubun)
11:03 AM Bug #14867: Process.wait can wait for MJIT compiler process
I wrote:
>>http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1437559
> OK, I think it's the lack of locking/atomics around
> checking waitpid_state.ret and I introduced the bug
> in commit 9d4027b50334ef804f6f138fba1d342fe188826b
...
normalperson (Eric Wong)
02:20 AM Bug #14867: Process.wait can wait for MJIT compiler process
I tried to apply an easy fix similar to `rb_f_system`'s one to `rb_f_spawn` but I got `Errno::ECHILD: No child processes`. So,
> > Made r65465 which should fix rb_f_system.
> ...
I'll just wait for this one for deadlock issue by `rb...
k0kubun (Takashi Kokubun)
01:44 AM Bug #14867: Process.wait can wait for MJIT compiler process
Btw thanks to leave compact_units in it. It looks like it's already valuable for cleaning up units by free_list on mjit_unit. k0kubun (Takashi Kokubun)
01:27 AM Bug #14867: Process.wait can wait for MJIT compiler process
Cool, r65475 looks working on trunk-mjit and trunk-mjit-wait CIs so far. Thanks. k0kubun (Takashi Kokubun)
02:15 PM Bug #15274 (Closed): Reflection does not report methods defined only in refinements
It's intentional. Refinements are only seen from the lexical scope. That means reflection methods does not see any methods defined only in refinements.
Matz.
matz (Yukihiro Matsumoto)
02:10 PM Revision 5de7b3b4 (git): thread_pthread.c (native_ppoll_sleep): new eventfd (or pipe) for ubf
Relying on ubf_select + ubf_list for main thread is not
guaranteed to wake a process up as it does not acquire
sigwait_fd and all other threads may be sleeping.
native_cond_sleep and the sigwait_fd path are immune to TOCTOU
issues, but n...
Eric Wong
01:49 PM Revision f6d44b59 (git): wercker.yml: stop allowing webrick failure
Failure seems no longer reproductive recently...
Also I wrote a comment about this complicated test matrix and improved
parallelism a little more again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65494 b2dd03c8-39d4-4d8f-98ff-82...
k0kubun (Takashi Kokubun)
08:53 AM Revision cc7fcbbc (git): * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:53 AM Revision c39797e8 (git): introduce USE_TRANSIENT_HEAP to enable/disable theap.
* include/ruby/ruby.h: intrdocue `USE_TRANSIENT_HEAP` macro
to enable/disable transient heap.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
08:15 AM Revision dcd03462 (git): add dependencies to transient_heap.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ko1 (Koichi Sasada)
07:59 AM Feature #14836: Method to return first/last lineno/column of Proc
Great work!!
What I want is this!
If ruby-trunk merges this patch, I will try to use.
joker1007 (Tomohiro Hashidate)
04:31 AM Feature #14836: Method to return first/last lineno/column of Proc
If you use location information of proc to get AST nodes, I feel adding class method to AST module which receives proc and return AST nodes directly is useful.
What do you think about it?
For example:
```ruby
def a(&block)
nod...
yui-knk (Kaneko Yuichiro)
07:49 AM Revision 57097949 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
07:49 AM Revision 187b5e71 (git): TestDelegateClass.rb: skip test_frozen for --jit-wait
for now. Investigating.
https://app.wercker.com/ruby/ruby/runs/mjit-test2/5bda979a191eda000655a8d2?step=5bda9fe4591ca80007653f64
wercker.yml: improve parallelism again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65489 b2dd03c8-3...
k0kubun (Takashi Kokubun)
07:42 AM Bug #14253: CSV.generate doesn't wrap a string anymore
Could you consider backporting this patch to 2.5?
The following code that generates a CSV file with a BOM does not work correctly with Ruby 2.5.
~~~ ruby
require 'csv'
csv_str = "\uFEFF" # BOM
CSV.generate(csv_str) do |csv|
c...
doda (Kouichi Iwamoto)
07:25 AM Revision f83b0875 (git): Fix call-seq of OpenSSL.fips_mode and WIN32OLE_METHOD#name [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
06:36 AM Revision 504fc28f (git): Fix call-seq of Encoding::Converter#putback [ci skip]
[Fix GH-1999]
From: Takayuki Matsubara <takayuki.1229@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
06:03 AM Revision 992f6f94 (git): wercker.yml: improve parallelism more
mjit-test2 is taking more time now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
05:19 AM Revision c4cc4725 (git): Remove wrong spec.
[Bug#15067] [ruby-core:88828]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
05:17 AM Revision a140e17f (git): wercker.yml: improve CI step message [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
05:03 AM Revision cab1e6bf (git): wercker.yml: change pipeline names
because the name "-wait" is no longer distinguishing these pipelines
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
04:46 AM Revision 44c39702 (git): wercker.yml: delete obsoleted test definition
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
04:43 AM Revision 22fa141d (git): wercker.yml: improve parallelism of test-mjit and test-mjit-wait
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
04:20 AM Revision e31864a8 (git): test_win32ole_event.rb: retry #test_s_new_loop with sleep
It seems to fail randomly:
https://ci.appveyor.com/project/ruby/ruby/builds/19963142/job/8gaxepksa0i3b998
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:50 AM Revision 0b16758b (git): fix WB miss.
* hash.c (linear_copy): remember a hash object to mark pointing objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
02:50 AM Revision bd68968d (git): wercker.yml: harder test-mjit-wait testing
Currently TracePoint enablement may cancel all JITs. So for now,
separating test executions would reveal more failures.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:47 AM Revision f1d545a7 (git): mjit_worker.c: emphasize free_list of compact_units [ci skip]
In https://bugs.ruby-lang.org/issues/14867#note-98, it's considered
useless at once. So I emphasized the necessity of it in the comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)

10/31/2018

11:55 PM Revision 1fb934e2 (git): * 2018-11-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:55 PM Revision 143776f6 (git): mjit: get rid of rb_mjit_unit_node and use ccan/list
rb_mjit_unit can either exist in unit_queue or active_units, but
not both. This will make state transitions for event-based MJIT
process management easier.
v2: recheck unit->iseq after GC wakeup
The iseq may be GC-ed while we were wai...
Eric Wong
11:03 PM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> Looks good. Please commit that first.

Actually, I'm pretty sure that extra check is a noop because
unit_queue is a GC mark root. The difference is ccan/list
change removes from unit_queue during get...
normalperson (Eric Wong)
10:44 PM Bug #14867: Process.wait can wait for MJIT compiler process
Looks good. Please commit that first. k0kubun (Takashi Kokubun)
07:32 PM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> r65473 didn't work either. So I reverted that again on r65474.
>
> I think doing 2 separate complicated things are hard like this, so the refactoring change (migration to ccan) and behavior change ("rb...
normalperson (Eric Wong)
01:15 PM Bug #14867: Process.wait can wait for MJIT compiler process
r65473 didn't work either. So I reverted that again on r65474.
I think doing 2 separate complicated things are hard like this, so the refactoring change (migration to ccan) and behavior change ("rb_mjit_unit can either exist in unit_q...
k0kubun (Takashi Kokubun)
12:28 PM Bug #14867: Process.wait can wait for MJIT compiler process
> I'm too tired to wait for local tests to finish a few times right now...
Take your time!
> ...
Thanks, that looks good for the fix of previous SEGV. To avoid our conflict, I re-applied your work with that fix on r65473. I'm watch...
k0kubun (Takashi Kokubun)
07:04 AM Bug #14867: Process.wait can wait for MJIT compiler process
> > Sorry, I missed your message about in_jit. Trying ccan/list now
> > as r65468
>
> Reverted r65468 for now because all MJIT CIs failed (sorry, was
> tired and needed to go afk for a bit)

Possible fix on top of r65468 (if unr...
normalperson (Eric Wong)
06:52 AM Bug #14867: Process.wait can wait for MJIT compiler process
> Sorry, I missed your message about in_jit. Trying ccan/list now
> as r65468

Reverted r65468 for now because all MJIT CIs failed (sorry, was
tired and needed to go afk for a bit)
normalperson (Eric Wong)
03:12 AM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> > ubf_select inside ruby_waitpid_locked is safe, but contention on vm->gvl.lock seems wrong. Made r65465 which should fix rb_f_system.
> >
> > Also taking a look at native_ppoll_sleep for spawn;
>
> ...
normalperson (Eric Wong)
02:55 AM Bug #14867: Process.wait can wait for MJIT compiler process
> ubf_select inside ruby_waitpid_locked is safe, but contention on vm->gvl.lock seems wrong. Made r65465 which should fix rb_f_system.
> ...
Thanks for taking a look at them :)
> but I would feel more comfortable investigating issues...
k0kubun (Takashi Kokubun)
02:42 AM Bug #14867: Process.wait can wait for MJIT compiler process
> About #system, the way of deadlock seems to be changed after r65437:
> http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1437880
>
> Could you take a look at at least the last one? Is it fine to call `ubf_select` inside `rub...
normalperson (Eric Wong)
12:01 AM Bug #14867: Process.wait can wait for MJIT compiler process
By the way,
> holding vm->waitpid_lock across two Ruby method calls won't work.
first of all I may not need to do this, since just locking from fork/vfork to waiting_pids modification could work. I'll take a look at that part again.
k0kubun (Takashi Kokubun)
07:40 PM Bug #15274 (Closed): Reflection does not report methods defined only in refinements
~~~ ruby
class C
end
module M
refine C do
def foo
puts "C#foo in M"
end
end
end
using M
c = C.new
c.foo # prints "C#foo in M"
c.send :foo
p c.respond_to? :foo
p c.methods.include?(:foo)
p C.instanc...
pitr.ch (Petr Chalupa)
02:27 PM Bug #15273 (Closed): Ruby crashing after updating Mac OS to Mojave (10.14)
I recently updated my Mac OS to Mojave.
Since then Ruby crashes repeatedly - giving Segmentation fault error.
Attached is the Error Report
athirakadampatta (Athira Kadampatta)
01:12 PM Revision 883f93a1 (git): Revert "revert r65471 and include Eric's patch as well"
This reverts commit ff5dc2cbbf9e7b67c8579ef166bf6a4755507304.
Deadlock: http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1438883
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
12:21 PM Revision ff5dc2cb (git): revert r65471 and include Eric's patch as well
https://bugs.ruby-lang.org/issues/14867#note-112
I wanna touch similar places. To avoid our conflict, let me merge Eric's patch earlier.
Let's watch trunk-mjit / trunk-mjit-wait CIs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65...
k0kubun (Takashi Kokubun)
11:08 AM Revision 5bc93ec7 (git): Use C90 comments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
10:07 AM Bug #15262: WeakRef::RefError for object that is still in use
The reference error doesn't appear when `WeakRef` is replaced by `_id2ref` like so:
```ruby
def self.start_adder(oid)
ObjectSpace._id2ref(oid).add
end
```
So it appears to be a bug in `ObjectSpace::WeakMap`.
larskanis (Lars Kanis)
06:44 AM Revision dc8a744d (git): Revert "mjit: get rid of rb_mjit_unit_node and use ccan/list"
This reverts commit c5177fa8464ac304547e384583f9c287e124d34a. r65468
Many CI failures like:
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1438415
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65471 b2dd03c8-39d4-4d8f-98f...
Eric Wong
03:23 AM Revision 3e047420 (git): Merge upstream from rubygems/rubygems master branch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
03:19 AM Revision 6f5eb285 (git): explicit cast to void* required for %p
No automatic type promotion is expected for variadic arguments.
You have to do it by hand.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
03:02 AM Revision c5177fa8 (git): mjit: get rid of rb_mjit_unit_node and use ccan/list
rb_mjit_unit can either exist in unit_queue or active_units, but
not both. This will make state transitions for event-based MJIT
process management easier.
[ruby-core:89654]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65468 b2dd...
Eric Wong
02:57 AM Bug #15272 (Closed): Segfault (type confusion?) in literal_concat
Applied in changeset trunk|r65467.
----------
parse.y: last node of NODE_ARRAY
* parse.y (heredoc_dedent): manage the last node of NODE_ARRAY,
when concatenating dedented literals.
[ruby-core:89649] [Bug #15272]
nobu (Nobuyoshi Nakada)
02:57 AM Revision 0c6edda0 (git): parse.y: last node of NODE_ARRAY
* parse.y (heredoc_dedent): manage the last node of NODE_ARRAY,
when concatenating dedented literals.
[ruby-core:89649] [Bug #15272]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:39 AM Revision 2c62beb6 (git): remove '//' style comments.
* variable.c (obj_ivar_set): remove '//' style comments pointed out by the
following build log: https://travis-ci.org/ruby/ruby/jobs/448551951
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
02:31 AM Revision 89aaf7db (git): thread_pthread.c (ubf_select): avoid deadlock on contention
vm->gvl.lock can be held by another thread, we must not wait
on it when called by the MJIT worker thread when it migrates
work to another thread. ubf_select is designed to do retrying
anyways, so it has no obligation to wake up a timer ...
Eric Wong
02:06 AM Revision ce9911c4 (git): remove '//' style comments.
* hash.c: remove '//' style comments pointed out by the following
build log: https://travis-ci.org/ruby/ruby/jobs/448551951
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
01:36 AM Revision c608b270 (git): add casts.
* gc.c (rb_raw_obj_info): fix type mismatch specified by the following
build log: https://travis-ci.org/ruby/ruby/jobs/448634481
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
01:12 AM Feature #15230: RubyVM.resolve_feature_path
mame (Yusuke Endoh) wrote:
> `:r` means `.rb` and `:s` means `.so`, I guess :-)
If this information is kept, please make it easier to understand. :rb/:so or :'.rb'/:'.so' at a minimum.
duerst (Martin Dürst)
12:53 AM Revision 9bc48f1d (git): .travis.yml: mandate -ansi check
Seems it is failing to compile right now; make it mandatory
so that other devs can be aware of it.
Will revert this change once the source code gets stable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65462 b2dd03c8-39d4-4d8f-98...
shyouhei (Shyouhei Urabe)
12:13 AM Revision b891d95e (git): Removed control characters from gemspec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)

10/30/2018

11:48 PM Bug #14867: Process.wait can wait for MJIT compiler process
> holding vm->waitpid_lock across two Ruby method calls won't work.
Oh, I see.
> ...
Kind of right. But as replied previously, my assumption is:
"That had been hidden until MJIT postponed_job was introduced and MJIT stopped to s...
k0kubun (Takashi Kokubun)
04:22 PM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> @normalperson By the way, is there any plan to apply
> `rb_f_system`-like changes to `rb_f_spawn` as well? Many of
> "1. waitpid" deadlocks seem to come from a process created by
> `rb_f_spawn`, and al...
normalperson (Eric Wong)
03:31 PM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson By the way, is there any plan to apply `rb_f_system`-like changes to `rb_f_spawn` as well? Many of "1. waitpid" deadlocks seem to come from a process created by `rb_f_spawn`, and also I guess those waitpid-related race cond... k0kubun (Takashi Kokubun)
12:36 PM Bug #14867: Process.wait can wait for MJIT compiler process
> I'm testing this patch for ccan/list in rb_mjit_unit:
> ...
It's okay to merge it. Migration to ccan/list was one of things I wanted to do later. Though, as said above, I'll resurrect compact_units to clean up them on ruby_cleanup any...
k0kubun (Takashi Kokubun)
05:31 AM Bug #14867: Process.wait can wait for MJIT compiler process
> Howeever, I think I found an old bug. Accessing unit->iseq->body outside of critical section seems wrong and I hit a segfault:
Thanks to report, I'll take a look at that once I go home.
k0kubun (Takashi Kokubun)
04:00 AM Bug #14867: Process.wait can wait for MJIT compiler process
@normalperson
r65437 passed.
> very odd, it's breaking in bigdecimal which isn't affected by any changes in internal.h
I saw that, and knew I could look at it all day and never find the cause. The builds with and without the pa...
MSP-Greg (Greg L)
03:15 AM Bug #14867: Process.wait can wait for MJIT compiler process
> compact_units list is useless and you have no plans for it right?
Oh, it's intended to be "List of compacted so files which will be deleted in `mjit_finish()`" so the current behavior is a bug. I'll fix it shortly, so please leave i...
k0kubun (Takashi Kokubun)
03:12 AM Bug #14867: Process.wait can wait for MJIT compiler process
> I am going to move more data into rb_mjit_unit struct for state
> management using callbacks and events. It looks like
> rb_mjit_unit_node is useless so I will get rid of it and
> embed ccan/list node into rb_mjit_unit.
>
> com...
normalperson (Eric Wong)
03:04 AM Bug #14867: Process.wait can wait for MJIT compiler process
takashikkbn@gmail.com wrote:
> Congrats, while mswinci's vc12-x64 is not finished yet, r65437
> at least worked on AppVeyor CI (mswin, mingw). That seems to
> work on Windows now.

Thank you for update, I was refreshing rubyci.org ...
normalperson (Eric Wong)
02:29 AM Bug #14867: Process.wait can wait for MJIT compiler process
Congrats, while mswinci's vc12-x64 is not finished yet, r65437 at least worked on AppVeyor CI (mswin, mingw). That seems to work on Windows now. k0kubun (Takashi Kokubun)
01:42 AM Bug #14867: Process.wait can wait for MJIT compiler process
> *sigh* reverted r65434
> None of these errors seem related, even
> http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20181030T003541Z.fail.html.gz

Trying r65437
```
diff --git a/9ee245cba9 b/13af9d182c
index ...
normalperson (Eric Wong)
01:22 AM Bug #14867: Process.wait can wait for MJIT compiler process
> > I normally just build mingw, so I'm not testing the mswin/vc builds. I added the patch, and several build errors, starting at line 2254 of the attached log. I then removed the patch, and all built fine...
>
> Greg: very odd, it...
normalperson (Eric Wong)
11:43 PM Bug #15271 (Closed): Segfault (null pointer deref) in parse.y:1354
Applied in changeset trunk|r65460.
----------
parse.y: last location from bison
* parse.y (command): set the last location from the location
managed by bison, so that other nodes are not needed.
[ruby-core:89648] [Bug #15271]
nobu (Nobuyoshi Nakada)
09:36 PM Bug #15271 (Closed): Segfault (null pointer deref) in parse.y:1354
Reproducer and crash:
~~~
jtruba@dev118:~/rubies/ruby-trunk$ ./ruby -e 'a **{}'
./ruby: [BUG] Segmentation fault at 0x0000000000000028
ruby 2.6.0dev (2018-10-26 trunk 65379) [x86_64-linux]
-- Control frame information ------------...
bannable (Joe Truba)
11:43 PM Revision a769027f (git): parse.y: last location from bison
* parse.y (command): set the last location from the location
managed by bison, so that other nodes are not needed.
[ruby-core:89648] [Bug #15271]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65460 b2dd03c8-39d4-4d8f-98ff-823fe6...
nobu (Nobuyoshi Nakada)
11:16 PM Revision a4cfd15a (git): revert r65441
I could collect 2 test failure information:
https://app.wercker.com/ruby/ruby/runs/test-mjit-wait/5bd8a253191eda0006545d47?step=5bd8a29387436a0006842ef0
https://app.wercker.com/ruby/ruby/runs/test-mjit-wait/5bd8c6e0191eda0006547273?step=...
k0kubun (Takashi Kokubun)
10:55 PM Revision 35796756 (git): fix type.
* internal.h (RHASH_ARRAY_SIZE_RAW): should be `int` because
it returns n<=8.
* hash.c (RHASH_ARRAY_BOUND_RAW): ditto.
* hash.c (RHASH_ARRAY_SIZE_RAW): remove a duplicated definition.
* hash.c (linear_keys, linear_values): return `l...
ko1 (Koichi Sasada)
10:24 PM Revision 3bdd8e74 (git): update NEWS about theap
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ko1 (Koichi Sasada)
10:16 PM Revision 87036388 (git): fix type.
* string.c (rb_str_format_m): should pass `int`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
10:12 PM Feature #14989 (Closed): Add Hash support for transient heap
Applied in changeset trunk|r65454.
----------
support theap for T_HASH. [Feature #14989]
* hash.c, internal.h: support theap for small Hash.
Introduce RHASH_ARRAY (li_table) besides st_table and small Hash
(<=8 entries) are managed...
ko1 (Koichi Sasada)
01:15 PM Feature #14989: Add Hash support for transient heap
Do we have non-micro benchmark results for this? Maybe gcbench-rdoc on [Bug #14858] is the one?
> rails_ruby_bench project rails_ruby_bench with parameters : 8 workers, 1500 iterations
> ...
These things are mentioned for investigati...
k0kubun (Takashi Kokubun)
10:12 PM Revision d4f1187d (git): * remove trailing spaces, expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
10:11 PM Revision 8f675cdd (git): support theap for T_HASH. [Feature #14989]
* hash.c, internal.h: support theap for small Hash.
Introduce RHASH_ARRAY (li_table) besides st_table and small Hash
(<=8 entries) are managed by an array data structure.
This array data can be managed by theap.
If st_table is ne...
ko1 (Koichi Sasada)
10:03 PM Revision ca83ed8d (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
10:03 PM Revision 198ff422 (git): support theap for T_STRUCT.
* struct.c: members memory can use theap.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
10:01 PM Revision 873d5734 (git): support theap for T_OBJECT.
* variable.c: now instance variable space has theap supports.
obj_ivar_heap_alloc() tries to acquire memory from theap.
* debug_counter.h: add some counters for theap.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65451 b2dd03c8...
ko1 (Koichi Sasada)
09:54 PM Revision 43739223 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:53 PM Revision 312b105d (git): introduce TransientHeap. [Bug #14858]
* transient_heap.c, transient_heap.h: implement TransientHeap (theap).
theap is designed for Ruby's object system. theap is like Eden heap
on generational GC terminology. theap allocation is very fast because
it only needs to bump ...
ko1 (Koichi Sasada)
09:44 PM Bug #15272 (Closed): Segfault (type confusion?) in literal_concat
Reproducer:
~~~
jtruba@dev118:~/rubies/ruby-trunk$ xxd ../repro5
00000000: 3c3c 7e30 270a 200a 3023 7b7d 0a30 <<~0'. .0#{}.0
jtruba@dev118:~/rubies/ruby-trunk$
~~~
Crash:
~~~
jtruba@dev118:~/rubies/ruby-trunk$ ./ruby ../r...
bannable (Joe Truba)
09:19 PM Bug #15269: Process.setproctitle has odd behaviour on Mac OS X
I will test on another language, e.g. Python and see if it works or not. ioquatix (Samuel Williams)
09:43 AM Bug #15269 (Third Party's Issue): Process.setproctitle has odd behaviour on Mac OS X
It isn't ruby specific.
Seems like an issue of htop, it just does not update the info.
nobu (Nobuyoshi Nakada)
03:53 AM Bug #15269 (Third Party's Issue): Process.setproctitle has odd behaviour on Mac OS X
On Mac OS X, using `Process.setproctitle` does seem to update when inspecting the process using `ps` but doesn't seem to update the process title in `htop`.
I don't know why.
Here is my test script.
```ruby
#!/usr/bin/env ruby
...
ioquatix (Samuel Williams)
09:02 PM Revision 69b8ffcd (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:01 PM Revision 7d359f9b (git): revert r65444 and r65446 because of commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ko1 (Koichi Sasada)
08:49 PM Revision efe869c0 (git): support theap for T_OBJECT.
* variable.c: now instance variable space has theap supports.
obj_ivar_heap_alloc() tries to acquire memory from theap.
* debug_counter.h: add some counters for theap.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65446 b2dd03c8...
ko1 (Koichi Sasada)
08:46 PM Bug #14858 (Closed): Introduce 2nd GC heap named Transient heap
Applied in changeset trunk|r65444.
----------
introduce TransientHeap. [Bug #14858]
* transient_heap.c, transient_heap.h: implement TransientHeap (theap).
theap is designed for Ruby's object system. theap is like Eden heap
on gener...
ko1 (Koichi Sasada)
08:46 PM Revision f926f799 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:46 PM Revision 90ac549f (git): introduce TransientHeap. [Bug #14858]
* transient_heap.c, transient_heap.h: implement TransientHeap (theap).
theap is designed for Ruby's object system. theap is like Eden heap
on generational GC terminology. theap allocation is very fast because
it only needs to bump ...
ko1 (Koichi Sasada)
06:26 PM Revision b51724aa (git): mjit.c (free_list): clear .length
For robustness against future changes. There should be no impact
at the moment,here, but we may call mjit_finish more than once
in a process lifetime in the future (implementing "stop"
instead of just "pause")
git-svn-id: svn+ssh://ci.r...
Eric Wong
04:16 PM Bug #15262: WeakRef::RefError for object that is still in use
I agree, this appears to a be a bug in WeakRef. The Adder instance is not garbage collected, but you still get a `WeakRef::RefError` when referencing it through the WeakRef instance. Here's a slightly modified example that just prints ... jeremyevans0 (Jeremy Evans)
03:08 PM Bug #15262: WeakRef::RefError for object that is still in use
@nobu I updated the bug report, so that it should be more understandable now, what's going wrong. larskanis (Lars Kanis)
01:34 AM Bug #15262: WeakRef::RefError for object that is still in use
larskanis (Lars Kanis) wrote:
> > It waits just once.
> ...
Why do you think so?
nobu (Nobuyoshi Nakada)
03:39 PM Revision a5582e69 (git): * 2018-10-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:39 PM Revision 5662e709 (git): wercker.yml: try testing wercker again
I don't think we fixed that, but if so, I would like to see more test
failures. Previous failures didn't keep enough C-backtrace information
about the failure and it's hard to debug for now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/t...
k0kubun (Takashi Kokubun)
02:57 PM Revision 51a0f04e (git): _mjit_compile_send.erb: do not inline tailcall ISeq
because it's not supported by this file. Also, shared `def_iseq_ptr`
instead of copying the main definition of it.
vm_core.h: moved `def_iseq_ptr` to this place. added `inline` to avoid
compiler warnings since it's not used in some file...
k0kubun (Takashi Kokubun)
02:50 PM Bug #15270: [PATCH] Fix TracePoint for code loaded using ISeq.load_from_binary
Typos alanwu (Alan Wu)
02:42 PM Bug #15270 (Closed): [PATCH] Fix TracePoint for code loaded using ISeq.load_from_binary
Hello. This is a patch for Bug #14702, which I don't think is fully addressed.
The tests in the patch should fail on both trunk and ruby_2_5.
~~~
Fix TracePoint for nested iseq loaded from binary [Bug #14702]
When loading...
alanwu (Alan Wu)
02:18 PM Feature #15230: RubyVM.resolve_feature_path
If it's reliable enough (I think it is) to detect native extensions by the file extension (.so, .dylib)
then I think that should be preferred as it would simplify the method's result.
Eregon (Benoit Daloze)
02:00 PM Feature #15230: RubyVM.resolve_feature_path
`:r` means `.rb` and `:s` means `.so`, I guess :-)
It is not absolutely necessary. But it would be somewhat useful for a static analysis tool of Ruby programs because such a tool typically needs to skip `.so` files.
mame (Yusuke Endoh)
10:07 AM Feature #15230: RubyVM.resolve_feature_path
What's the leading one letter Symbol in the return value?
That seems fairly cryptic.
Do you need it? I would expect such a method to return a path, i.e., a String.
Eregon (Benoit Daloze)
10:17 AM Bug #15241: net/pop fix to use mutable strings was too eager
I think it's very bad style to modify the return value of #inspect, and some objects do already return frozen strings for #inspect.
So I think it would be a fair enough to change as it seems to have very low risk, i.e.,
it would only b...
Eregon (Benoit Daloze)
03:22 AM Revision fae6c6bf (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:21 AM Revision 54726bef (git): use RARRAY_AREF() instead of RARRAY_CONST_PTR().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ko1 (Koichi Sasada)
01:34 AM Revision f7c0cc36 (git): process.c: implement rb_f_system without toggling ruby_nocldwait
Following how mjit_worker.c currently works, rb_f_system
now ensures the VM-wide waitpid lists is locked before
creating a new process via fork/vfork.
This ensures other rb_waitpid callers cannot steal work and
there are no possible rac...
Eric Wong
01:12 AM Revision fbee3b8f (git): revert r65434
http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20181030T003541Z.fail.html.gz
I have no chance of getting anything to work on proprietary platforms :<
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65436 b2dd03c8-...
Eric Wong
12:47 AM Feature #15236: add support for hash shorthand
janfri (Jan Friedrich) wrote:
> I think the use of destructuring for this is much more Rubyish than the ES6 syntax.
Agreed that destructuring hash is very much ruby, since destructuring array is already supported.. but, I think suppo...
ignatiusreza (Ignatius Reza Lesmana)
 

Also available in: Atom