Project

General

Profile

Activity

From 07/24/2018 to 07/30/2018

07/30/2018

10:59 PM Bug #14948: MinGW Failure - r64072 - test_jit.rb: test_compile_insn_putspecialobject_putiseq
I'm investigating this. It looks like a symbol (of rb_mRubyVMFrozenCore) referred from /tmp/_ruby_mjit_pXXXuYYY.so is resolved to an address which is different from the address in ruby.exe. `rb_class_of((VALUE)rb_mRubyVMFrozenCore)` beco... k0kubun (Takashi Kokubun)
10:52 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> yet, sky3 had a failure at
> http://ci.rvm.jp/results/trunk-test@ruby-sky3/1173398 and it
> might be related. Investigating...

I thought r64133 fixed it, but I still saw this failure:

http://ci.rvm.jp/results/trunk@P895/11739...
normalperson (Eric Wong)
06:22 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
takashikkbn@gmail.com wrote:
> Congrats to achieve this. I think this should be a notable
> change written in NEWS :)

Thanks, I plan to :> I don't think we're out of the woods,
yet, sky3 had a failure at
http://ci.rvm.jp/result...
normalperson (Eric Wong)
01:34 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Congrats to achieve this. I think this should be a notable change written in NEWS :) k0kubun (Takashi Kokubun)
10:46 PM Feature #14718: Use jemalloc by default?
davidtgoldblatt (David Goldblatt) wrote:
> I don't think this benchmark is a useful way to compare performance between versions 3 and 5 of jemalloc. In between them was the advent of time-based purging, where the allocator waits for a w...
andresakata (André Guimarães Sakata)
08:27 PM Feature #14718: Use jemalloc by default?
I don't think this benchmark is a useful way to compare performance between versions 3 and 5 of jemalloc. In between them was the advent of time-based purging, where the allocator waits for a while (by default, around 10 seconds) before ... davidtgoldblatt (David Goldblatt)
04:16 PM Feature #14718: Use jemalloc by default?
Got it, thanks @fweimer.
I did run a test with **jemalloc 5.1** and I've got the same results as you did.
```
Min. :242.9
1st Qu.:1593.5
Median :1737.7
Mean :1691.5
3rd Qu.:1860.0
Max. :2127.9
```
Remembering my pre...
andresakata (André Guimarães Sakata)
01:20 PM Feature #14718: Use jemalloc by default?
andresakata (André Guimarães Sakata) wrote:
> Hello @fewimer, very interesting.
> ...
In the first test, yes, but I did not quote those numbers. The first quoted numbers are for untuned glibc 2.26.
fweimer (Florian Weimer)
01:16 PM Feature #14718: Use jemalloc by default?
Hello @fewimer, very interesting.
Just to understand one thing, were you using MALLOC_ARENA_MAX=2 in your first test?
andresakata (André Guimarães Sakata)
12:16 PM Feature #14718: Use jemalloc by default?
I can reproduce your MALLOC_ARENA_MAX=2 number.
But my untuned glibc 2.26 numbers are slightly worse (presumably due to the thread cache, which delays coalescing even further):
~~~
count 5000.000000
mean 2299.963311
std ...
fweimer (Florian Weimer)
10:22 AM Feature #14718: Use jemalloc by default?
fweimer@redhat.com wrote:
> https://sourceware.org/bugzilla/show_bug.cgi?id=14581

> The Ruby allocator calls posix_memalign (16384, 16344), and
> unfortunately, such allocations, when freed, can not always be
> reused for subseque...
normalperson (Eric Wong)
09:48 PM Revision 86d35a6b (git): thread_pthread.c (unregister_ubf_list): assert unblock.func is unset
We must not allow reentry into ubf_list_head once we delete
ourselves, otherwise we could hang in there forever.
[ruby-core:88218] [Bug #14945]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
09:42 PM Bug #14945: [PATCH] thread.c (blocking_region_end): clear ubf before unregister_ubf_list
> https://bugs.ruby-lang.org/issues/14945

Actually, r64083 may not be completely safe, either, as
the list_empty checks are dangerous, at least w/o GVL.

However, this order must be enforced:

unblock_function_clear
unregiste...
normalperson (Eric Wong)
09:16 PM Bug #14952 (Closed): [Docs] Backport r64057 to ruby 2.5
Please backport r64057 (https://github.com/ruby/ruby/commit/ac1193d38f12e6ce5106f5413bcc57b6f585a2a1) since the bug also applies to ruby-2.5 documentation. nomadium (Miguel Landaeta)
08:20 PM Bug #14949: test_jit.rb test_unload_units fails on 32-bit
I'm also seeing a lot of error text, 395 items in the errs array. Asserts pass up to the assert_equal at line 562. The matches on errs[10] & errs[11] exist, but they're at 201 & 202 respectively.
I've got `rb_mjit_min_header-2.6.0.h...
MSP-Greg (Greg L)
06:02 PM Bug #14949: test_jit.rb test_unload_units fails on 32-bit
Header from native 32-bit machine (can't attach multiple files
w/o JS, it seems)
normalperson (Eric Wong)
06:00 PM Bug #14949: test_jit.rb test_unload_units fails on 32-bit
Attached is rb_mjit_header.h from a 32-bit userspace on 64-bit kernel/HW
and mjit_header_i686_native.h from a 32-bit machine
normalperson (Eric Wong)
01:28 PM Bug #14949: test_jit.rb test_unload_units fails on 32-bit
Eric, thanks to notify this. To fix it, I want to know the content of MJIT header files. I could see debian i686-linux on rubyci was failing in the same reason, but it looks a little hard to know the path of MJIT header from test_jit.rb ... k0kubun (Takashi Kokubun)
07:57 PM Feature #14951: New operator to evaluate truthy/falsy/logical equivalence
Sure. In my day job, I write testing code. So I've written an expression like:
~~~ ruby
raise MyError unless in_scenario_x? == actions_performed_for_scenario_x?
~~~
To express: "raise an error unless the actions are performed for...
danga (Dan Garubba)
02:31 PM Feature #14951: New operator to evaluate truthy/falsy/logical equivalence
Can you show me examples of concrete usage of the proposed operator?
Your explanation is a bit vague.
Matz.
matz (Yukihiro Matsumoto)
02:16 PM Feature #14951: New operator to evaluate truthy/falsy/logical equivalence
I am not sure if the trade off of adding a new operator is worth it in
this case, even well aside from backwards compatibility here.
But that's just my personal opinion.
shevegen (Robert A. Heiler)
05:54 AM Feature #14951: New operator to evaluate truthy/falsy/logical equivalence
It conflicts with the existing syntax, `a=?b`. nobu (Nobuyoshi Nakada)
05:31 AM Feature #14951 (Open): New operator to evaluate truthy/falsy/logical equivalence
I propose adding a new operator for truthy/falsy equivalence, similar to what was proposed on https://bugs.ruby-lang.org/issues/13067, but with new syntax. The main purpose would be for writing expressions for logical equivalence (i.e., ... danga (Dan Garubba)
06:53 PM Revision 508f0031 (git): thread_pthread.c (gvl_yield): do ubf wakeups when uncontended
Not having contention for GVL could mean everybody else is stuck
in blocking region without GVL, so we kick the ubf list in that
case.
I expect this to fix test_thread_fd_close timeout:
http://ci.rvm.jp/results/trunk-test@ruby-sky3/1173...
Eric Wong
04:35 PM Bug #14009: macOS High Sierra and “fork” compatibility
nagachika (Tomoyuki Chikanaga) wrote:
> ruby_2_4 r61358 merged revision(s) 60182.
With 2.4.4 (ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-darwin17]), I am still seeing
09:27:49 processor.1 | objc[44872]: +[__NSCFConstantS...
quaeler (loki der quaeler)
04:21 PM Feature #13050: Readline: expose rl_completion_quote_character variable
It is now registered for the next upcoming developer meeting at:
https://bugs.ruby-lang.org/issues/14921
(I think nobu added it to the developer meeting recently; it was most likely
forgotten for some time).
Hopefully future pa...
shevegen (Robert A. Heiler)
03:24 PM Bug #14950 (Closed): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
Sorry, it was my mistake. nobu (Nobuyoshi Nakada)
11:07 AM Bug #14950 (Assigned): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
It still happens at `TestOpen3#test_pipeline_start`.
And it seems less frequently with -O0 than with -O3.
nobu (Nobuyoshi Nakada)
10:33 AM Bug #14950 (Closed): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
normalperson (Eric Wong) wrote:
> I wrote:
> ...
It seems fixed, thanks.
> (Maybe reverting r64123 helps, too)
The crash had happened since r64110, I don't think it would help.
nobu (Nobuyoshi Nakada)
10:03 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
I wrote:
> I wonder if condvars on OSX has a "memory" of which mutexes
> are associated with it. If so, that would be a problem with
> the rewritten GVL. So maybe a second condvar is necessary
> in native_thread_data.

Maybe usi...
normalperson (Eric Wong)
09:42 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
nobu@ruby-lang.org wrote:
> normalperson (Eric Wong) wrote:
> > nobu@ruby-lang.org wrote:
> > > Since r64107, `make test-all` crashes by EINVAL at `pthread_cond_timedwait`.
> > > Attached logs at r64113.
> >
> > I think r6411...
normalperson (Eric Wong)
09:10 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
normalperson (Eric Wong) wrote:
> nobu@ruby-lang.org wrote:
> ...
It still happens at r64123.

> If not, we can try using:
> ...
It didn't help unfortunately.
Other than `[BUG]`, drb/ut_large.rb can hang forever.
nobu (Nobuyoshi Nakada)
06:42 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
nobu@ruby-lang.org wrote:
> Since r64107, `make test-all` crashes by EINVAL at `pthread_cond_timedwait`.
> Attached logs at r64113.

I think r64117 will solve this (can't reproduce the problem, but
I understand it).

("process.c ...
normalperson (Eric Wong)
05:06 AM Bug #14950 (Assigned): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
nobu (Nobuyoshi Nakada)
05:06 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
Since r64107, `make test-all` crashes by EINVAL at `pthread_cond_timedwait`.
Attached logs at r64113.
nobu (Nobuyoshi Nakada)
03:40 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
@normalperson
Eric, r64111 passed Appveyor mswin & MingW (ruby-loco). Travis also.
Thanks, Greg
MSP-Greg (Greg L)
01:12 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
Greg.mpls@gmail.com wrote:
> 1) Failure:
> TestQueue#test_thr_kill [/home/travis/build/ruby/ruby/test/thread/test_queue.rb:153]:
> only 0/250 done in 60 seconds.

Yep r64109 wasn't sufficient; but I'm working on it.
normalperson (Eric Wong)
01:09 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
@normalperson Eric,
Thanks. mswin passed, I haven't checked MinGW yet. Bad news is the Travis build had the following error in test-all:
```
1) Failure:
TestQueue#test_thr_kill [/home/travis/build/ruby/ruby/test/thread/test_q...
MSP-Greg (Greg L)
12:33 AM Bug #14950: r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
OK, r64110 should work. I mangled #ifdef nesting in r64109 :x normalperson (Eric Wong)
12:31 AM Bug #14950 (Closed): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
Applied in changeset trunk|r64110.
----------
thread.c: move ppoll wrapper into thread_pthread.c
thread_pthread.c relies on ppoll for rb_sigwait_sleep, so ensure
the compatibility wrapper is available for it.
[Bug #14950]
Reported-by...
normalperson (Eric Wong)
12:14 AM Bug #14950 (Assigned): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
I got another error with macOS. hsbt (Hiroshi SHIBATA)
03:21 PM Revision 2a4e8c17 (git): * 2018-07-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:21 PM Revision 09df9972 (git): thread_pthread.c: revert r64123
* thread_pthread.c (USE_NATIVE_SLEEP_COND): revised wrongly removed
line with the ifndef guard.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:15 PM Bug #14868: [PATCH] process.c (ruby_fork_ruby): fix race in signal handling
ruby_2_4 r64130 merged revision(s) 63741. usa (Usaku NAKAMURA)
02:15 PM Revision 8f2e9879 (git): merge revision(s) 63741: [Backport #14868]
process.c (ruby_fork_ruby): fix race in signal handling
We must block signals before stopping timer-thread, otherwise
signal handing may be delayed until (and if) another signal
is received after timer-thread is ...
U.Nakamura
02:11 PM Bug #14865: Raising exception in c_return event hook causes infinite loop
ruby_2_4 r64129 merged revision(s) 63727. usa (Usaku NAKAMURA)
02:11 PM Revision cd5c3d12 (git): merge revision(s) 63727: [Backport #14865]
vm.c: fix infinite loop
* vm.c: use EXEC_EVENT_HOOK_AND_POP_FRAME. While exception handling, if an exception
is raised in hooks, need to pop current frame and raise this raised exception by hook.
[ruby-dev:505...
U.Nakamura
02:06 PM Bug #14856: [PATCH] lib/drb/extservm.rb (service): do not return `false'
ruby_2_4 r64128 merged revision(s) 63698. usa (Usaku NAKAMURA)
02:06 PM Revision 5b5739df (git): merge revision(s) 63698: [Backport #14856]
lib/drb/extservm.rb (service): do not return `false'
invoke_service_command may set entries in @servers to `false',
making it incompatible with the intended use of the
safe navigation operator.
This caus...
U.Nakamura
02:00 PM Bug #14818: [Docs] Backport r63112 to ruby 2.5
ruby_2_4 r64127 merged revision(s) 63112. usa (Usaku NAKAMURA)
02:00 PM Revision 08c74b75 (git): merge revision(s) 63112: [Backport #14818]
Remove outdated example from Numeric documentation
Since 2.5, Numeric instances can be cloned and duplicated.
[Fix GH-1850]
From: Miguel Landaeta <miguel@miguel.cc>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/...
U.Nakamura
01:57 PM Bug #14816: Extension build failure on a system with musl libc
ruby_2_4 r64126 merged revision(s) 63571,63572. usa (Usaku NAKAMURA)
01:57 PM Revision b6ab48d8 (git): merge revision(s) 63571,63572: [Backport #14816]
`int isnan(double)` is a POSIXism
- `isnan` is something relatively new. We need to provide one for
those systems without it. However:
- X/Open defines `int isnan(double)`. Note the `int`.
- C99 defin...
U.Nakamura
01:54 PM Bug #14805: Enumerator#count is silently limited to int32
ruby_2_4 r64125 merged revision(s) 63549,63551,63554. usa (Usaku NAKAMURA)
01:54 PM Revision 7367d5db (git): merge revision(s) 63549,63551,63554: [Backport #14805]
memo->u3.cnt is long not int [Bug #14805]
enum.c: mitigate overflows
* enum.c (enum_count): convert counters to Integer as unsigned
long, instead of long, to mitigate overflows.
[ruby-core:87348] [Bu...
U.Nakamura
09:54 AM Revision a038bf23 (git): thread_pthread.h (native_thread_data): split condvars on some platforms
Maybe some platforms have strange condition variable implementations
which have a "memory" of which mutexes they're associated with.
In any case, it makes documentation easier even on GNU/Linux and
FreeBSD.
git-svn-id: svn+ssh://ci.rub...
Eric Wong
08:45 AM Revision c307ffe6 (git): thread_pthread.c: remove duplicate define
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
08:22 AM Revision 2dd0fb21 (git): fix typo(#2), sorry!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
08:21 AM Revision dc4e6a8a (git): fix typo; sorry!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
08:13 AM Feature #6284: Add composition for procs
matz (Yukihiro Matsumoto) wrote:
> Considering the combination of OOP and FP, it seems a good idea to adding both forward and reverse combination of procs. So we pick Groovy way (adding `<<` and `>>` methods to `Proc`).
What do you t...
printercu (Max Melentiev)
08:05 AM Revision ebfc4485 (git): bootstraptest/runner.rb: speed up assert_finish with IO.select (take #2)
Resurrect r63754 in a 1.8-compatible way. While we're at it,
add a note to maintain 1.8 compatibility (cf. r63757).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
07:53 AM Revision ab740cbb (git): move #pragma out of functions
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) reportedly fails to compile
cf: https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-trunk/log/20180726T093003Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64119 b2...
shyouhei (Shyouhei Urabe)
07:31 AM Feature #14473: Add Range#subrange?

Thank you for your patch owst.
I reviewed it and feel the behavior below is strange.
~~~
$ ruby -e 'p (1..3.1).cover?(1...3)'
true
$ ruby -e 'p (1..3.1).cover?(1...4)'
Traceback (most recent call last):
1: from -e:1:i...
tarui (Masaya Tarui)
07:07 AM Revision d83536c9 (git): reduce copy & paste
We see several occurrence of "diagnostic push/pop" so why not
make them macros. Tested on GCC8 / Clang 6.
Note that ruby.h is intentionally left untouched because we don't
want to introduce new public macros.
git-svn-id: svn+ssh://ci...
shyouhei (Shyouhei Urabe)
06:35 AM Revision 7018acc9 (git): process.c (waitpid_nogvl): prevent conflicting use of sleep_cond
We reuse sleep_cond for waitpid notifications as well as GVL
waiting. So we must take care to not hold onto sleep_cond
when we try to reacquire GVL.
[ruby-core:88183]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64117 b2dd03c8-39...
Eric Wong
06:02 AM Revision 56491afc (git): thread_pthread.c (rb_sigwait_sleep): th may be 0 from MJIT
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eric Wong
05:51 AM Revision ab47a57a (git): thread*.c: waiting on sigwait_fd performs periodic ubf wakeups
We need to be able to perform periodic ubf_list wakeups when a
thread is sleeping and waiting on signals.
[ruby-core:88088] [Misc #14937] [Bug #5343]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64115 b2dd03c8-39d4-4d8f-98ff-823fe...
Eric Wong
05:51 AM Revision 95cae748 (git): thread_pthread.c (gvl_destroy): make no-op on GVL bits
It's possible for another thread to take vm->gvl.lock
during gvl_release at the end of thread_start_func_2
during VM shutdown, at least.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
04:28 AM Revision 45143629 (git): thread_pthread.c (rb_sigwait_sleep): fix uninitialized poll set in UBF case
[ruby-core:88088] [Misc #14937] [Bug #5343]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:23 AM Revision 18e22154 (git): non-constant aggregate initializer is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
02:28 AM Revision 26b8a70b (git): thread_pthread.c (rb_sigwait_sleep): re-fix [Bug #5343] harder
We can't always designate a timer thread, so any sleepers must
also perform ubf wakeups. Note: a similar change needs to be
made for rb_thread_fd_select and rb_wait_for_single_fd.
[ruby-core:88088] [Misc #14937] [Bug #5343]
git-svn-id...
Eric Wong
01:23 AM Feature #14938: Provide API to get same result as ruby -wc
mtsmfm (Fumiaki Matsushima) wrote:
> ~~~ruby
> ...
This warning dispatches `on_arg_ambiguous` method.
> - How can I get the range of code instead of lineno and column only?
No way right now.
I think you can propose new methods f...
nobu (Nobuyoshi Nakada)
12:31 AM Revision 3dc7727d (git): thread.c: move ppoll wrapper into thread_pthread.c
thread_pthread.c relies on ppoll for rb_sigwait_sleep, so ensure
the compatibility wrapper is available for it.
[Bug #14950]
Reported-by: SHIBATA Hiroshi <hsbt@ruby-lang.org>
Reported-by: Greg L <Greg.mpls@gmail.com>
git-svn-id: svn+s...
Eric Wong

07/29/2018

11:48 PM Bug #14950 (Closed): r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c
@normalperson
Eric,
Both windows builds (mswin & mingw) failed compiling thread.c.
Attached logs of both.
Thanks, Greg
MSP-Greg (Greg L)
11:18 PM Bug #14949 (Closed): test_jit.rb test_unload_units fails on 32-bit
I get multiple definition warnings from this test. It only
happens on my 32-bit systems (both VM and real HW) on Debian 9.
Attached log was made with below patch:
```
--- a/test/ruby/test_jit.rb
+++ b/test/ruby/test_jit.rb
@@ -5...
normalperson (Eric Wong)
10:54 PM Revision 2fa1e2e3 (git): thread.c: move ppoll wrapper before thread_pthread.c
thread_pthread.c relies on ppoll for rb_sigwait_sleep, so ensure
the compatibility wrapper is available for it.
Reported-by: SHIBATA Hiroshi <hsbt@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64109 b2dd03c8-39d4-4d8...
Eric Wong
10:19 PM Revision 4c1ab82f (git): thread_pthread.c (ubf_select): refix [Bug #5343]
We still need to to designate a timer thread after registering target
thread for the ubf list.
Oops :x
Note: I was never able to reproduce
test/thread/test_queue.rb::test_thr_kill failures on my on
Debian machines.
[ruby-core:88088] [...
Eric Wong
08:47 PM Revision 708bfd21 (git): thread_pthread: remove timer-thread by restructuring GVL
To reduce resource use and reduce CI failure; remove
timer-thread. Single-threaded Ruby processes (including forked
children) will never see extra thread overhead. This prevents
glibc and jemalloc from going into multi-threaded mode an...
Eric Wong
08:28 PM Revision 822e54a5 (git): * 2018-07-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:28 PM Revision 5db03b7b (git): test/ruby/test_process.rb (test_wait_and_sigchld): improve reliability
This should fix CI failure under MJIT, 100ms wait may not be
enough for signal handler to fire:
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1169472
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64105 b2dd03c8-39d4-4d8f-98ff-8...
Eric Wong
05:39 PM Feature #14718: Use jemalloc by default?
bluz71 (Dennis B) wrote:
> @andresakata,
> ...
I had forgotten to answer it. Yes, in that test I was using jemalloc 3.6.0.
andresakata (André Guimarães Sakata)
04:34 PM Feature #14718: Use jemalloc by default?
I removed the NewRelic dependency and it's using the `get_process_mem` gem instead. It should work on different platforms as well.
Now there is a README file in the repository that may help you to reproduce the tests. Let me know you ...
andresakata (André Guimarães Sakata)
03:16 PM Feature #14718: Use jemalloc by default?
fweimer (Florian Weimer) wrote:
> Thanks. Would it be possible to eliminate the dependency on `newrelic_rpm`, and possibly Rails as well? We don't have a commercial `newrelic_rpm` license, and we are not Ruby developers, so this is no...
andresakata (André Guimarães Sakata)
08:38 AM Feature #14718: Use jemalloc by default?
andresakata (André Guimarães Sakata) wrote:
> Hi!
> ...
Thanks. Would it be possible to eliminate the dependency on `newrelic_rpm`, and possibly Rails as well? We don't have a commercial `newrelic_rpm` license, and we are not Ruby de...
fweimer (Florian Weimer)
07:45 AM Feature #14718: Use jemalloc by default?
I believe this has been reported multiple times against glibc, without ever mentioning Ruby. The most relevant upstream bug seems to be:
https://sourceware.org/bugzilla/show_bug.cgi?id=14581
The Ruby allocator calls posix_memalign...
fweimer (Florian Weimer)
04:31 AM Feature #14718: Use jemalloc by default?
carlos@redhat.com (Carlos O'Donell) wrote:
> I will try to keep the ruby community updated with regard to our analysis of fluentd and the ruby vm with glibc's malloc.
Please do keep us informed Carlos.
Thank you, I genuinely hop...
bluz71 (Dennis B)
04:27 AM Feature #14718: Use jemalloc by default?
@andresakata,
Which version of jemalloc?
Ubuntu 16.04 provides jemalloc 3.6.0 in the repos, is that the version you are testing?
Simple testing some of us have done indicates that newer jemalloc versions will behave **very diff...
bluz71 (Dennis B)
01:18 AM Feature #14718: Use jemalloc by default?
Hi!
I'm another Ruby user that used to have memory bloat problems and switched to `jemalloc` as well.
I just wrote a simple script (36 lines) that seems to reproduce the issue.
https://github.com/andresakata/ruby-memory-bloat
...
andresakata (André Guimarães Sakata)
04:37 PM Feature #14938: Provide API to get same result as ruby -wc
Hmm, I tried `warn` but it doesn't work in some case:
~~~ruby
#!/usr/bin/ruby
require 'ripper'
require 'tempfile'
class Lint < Ripper
def warn(*s)
@results << [:warning, lineno, column, *s]
end
alias warning warn
...
mtsmfm (Fumiaki Matsushima)
11:00 AM Revision 93d74cff (git): common.mk: install for test-all iff load-relative is disabled
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
10:31 AM Revision b4705a52 (git): common.mk: test-all requires install for now
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
10:15 AM Revision c95467e5 (git): thread_pthread.c: clear altstacks in thread cache at GVL destruction
Otherwise, an altstack may live past ObjectSpace destruction
and xfree-ing the altstack will segfault.
[ruby-core:85621] [Feature #14487]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:13 AM Revision 01d81d19 (git): reduce LibreSSL warnings
* ext/openssl/extconf.rb: LibreSSL headers emit "overriding WinCrypt
defines" warnings if wincrypt.h has been included (except for
x509.h) on Windows. get rid of including the header by defining
NOCRYPT macro.
git-svn-id: svn+ssh...
nobu (Nobuyoshi Nakada)
08:04 AM Revision e3c1c406 (git): mjit.c: keep unit->o_file on --jit-save-temps
to use compaction with --jit-save-temps.
Prior to this commit, JIT compaction didn't work with --jit-save-temps
but it wasn't intentional.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
04:03 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Thanks again! I'll probably commit soon since this looks very
straightforward (it took a long time to get there, though;
probably the most challenging thing I've done for Ruby).
normalperson (Eric Wong)
02:07 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
@normalperson
Eric,
Ran both patches on top of r64095, result was similar to above (passed as above).
Thanks, Greg
MSP-Greg (Greg L)
12:33 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> > https://bugs.ruby-lang.org/issues/14937
>
> https://80x24.org/spew/20180728201723.20279-1-e@80x24.org/raw

Hi Greg, thanks for testing. I'll let k0kubun deal with JIT
failures. For threading, I found more code to delete
(go...
normalperson (Eric Wong)
03:22 AM Revision c93c8e09 (git): test_jit.rb: skip known test failure on MinGW
for the ease of MSP-Greg's CI. I'll track this failure as Bug#14948 and
fix it later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:58 AM Bug #14948: MinGW Failure - r64072 - test_jit.rb: test_compile_insn_putspecialobject_putiseq
@k0kubun
I apologize, I should have been clearer. ruby-loco is built three times a day. The list of builds is shown at https://ci.appveyor.com/project/MSP-Greg/ruby-loco/history or https://msp-greg.github.io/file.mingw_test-all.html...
MSP-Greg (Greg L)
02:28 AM Bug #14948: MinGW Failure - r64072 - test_jit.rb: test_compile_insn_putspecialobject_putiseq
> Starting with r64076, every subsequent build has failed
Does this mean, r64075 passes and r64076 fails? r64076 changes almost no behavior, so I feel it's very unlikely that r64076 is related to the failure.
2 points to notice:
...
k0kubun (Takashi Kokubun)
02:36 AM Revision 4d7114c9 (git): test_jit.rb: use the appropiate name
for better C-level backtrace
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:05 AM Revision 82bd2a9c (git): mjit.c: disable compaction on empty queue w/ --jit-wait
When --jit-wait is specified, `unit_queue.length` is always 0 and it's
not a good metric.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:32 AM Revision c5a5563d (git): repack structs
Repack rb_thread_struct, rb_execution_context_struct, args_info and
iseq_compile_data to save 1 word per struct.
re_pattern_buffer remains unpacked due to the possible binary
compatibility.
[Fix GH-1907]
Based on the patch
From: Lour...
nobu (Nobuyoshi Nakada)
12:09 AM Bug #14946 (Closed): ./win32/mkexports.rb:112: warning: flip-flop is deprecated
Applied in changeset trunk|r64095.
----------
mkexports.rb: flip-flop
* win32/mkexports.rb (Exports::Mswin#each_export): get rid of
flip-flop warning. [ruby-core:88147] [Bug #14946]
nobu (Nobuyoshi Nakada)
12:09 AM Revision 63ae1e3c (git): mkexports.rb: flip-flop
* win32/mkexports.rb (Exports::Mswin#each_export): get rid of
flip-flop warning. [ruby-core:88147] [Bug #14946]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

07/28/2018

11:43 PM Bug #14948 (Closed): MinGW Failure - r64072 - test_jit.rb: test_compile_insn_putspecialobject_putiseq
Starting with r64076, every subsequent build has failed, both in parallel & retry, on `TestJIT#test_unload_units`.
Finally ran it locally, below is the log of running the whole test file/suite.
Thanks again, Greg
```
1) Ski...
MSP-Greg (Greg L)
10:38 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
@normalperson
Eric,
Passed all tests using r64094. TestJIT#test_unload_units has been failing (both in parallel & retry) since it was added. Been meaning to post an issue/bug report about it...
Thanks, Greg
```
———————————...
MSP-Greg (Greg L)
08:32 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> https://bugs.ruby-lang.org/issues/14937

OK, new patch to eliminate timer-thread completely. It seems to pass
repeated "make exam" and introduce no regressions. So far I have found
and fixed two bugs while working on this.

[B...
normalperson (Eric Wong)
06:35 PM Feature #14717: [PATCH] thread: allow disabling preempt
normalperson (Eric Wong) wrote:
> Giving control to other threads still happens with Thread.pass
> ...
At that point I wouldn't call them threads anymore,
I think threads usually imply preemption (not just on blocking actions but als...
Eregon (Benoit Daloze)
01:42 AM Feature #14717: [PATCH] thread: allow disabling preempt
eregontp@gmail.com wrote:
> Is this the same as `Thread.new { Thread.handle_interrupt(Exception => :never) { ... } }`?
> What's the difference?

No, current thread switching does not use interrupts in the same
sense (no Exception o...
normalperson (Eric Wong)
04:23 PM Bug #14634: Queue#push seems to crash after fork
Hi, we've also been running into this at work. Thanks for the fix and backport! We look forward to a 2.5.2 release. shan (Shannon Skipper)
04:15 PM Bug #14490 (Closed): MJIT slows down Rails applications
Applied in changeset trunk|r64094.
----------
mjit.c: introduce JIT compaction [experimental]
When all compilation finishes or the number of JIT-ed code reaches
--jit-max-cache, this compacts all generated code to a single .so file
and...
k0kubun (Takashi Kokubun)
04:14 PM Revision 443f4d58 (git): mjit.c: introduce JIT compaction [experimental]
When all compilation finishes or the number of JIT-ed code reaches
--jit-max-cache, this compacts all generated code to a single .so file
and re-loads all methods from it.
In the future, it may trigger compaction more frequently and/or ...
k0kubun (Takashi Kokubun)
03:29 PM Bug #14942 (Closed): Windows7でコンソールに長い文字列を出力できない
Applied in changeset trunk|r64092.
----------
win32.c: limit write size on console
* win32/win32.c (constat_parse): split long buffer and limit write
size on a console, as well as rb_w32_write.
[ruby-dev:50597] [Bug #14942]
nobu (Nobuyoshi Nakada)
03:29 PM Revision 2a9cae33 (git): * 2018-07-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:29 PM Revision 73ae3e9b (git): win32.c: limit write size on console
* win32/win32.c (constat_parse): split long buffer and limit write
size on a console, as well as rb_w32_write.
[ruby-dev:50597] [Bug #14942]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:06 PM Revision 440f4421 (git): test_function.rb: fix messages
* test/fiddle/test_function.rb (test_nogvl_poll): fix messages as
failed conditions, with errno description.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:47 PM Revision d383426a (git): make-snapshot: fetch from the official git site
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
10:00 AM Revision a832dc0f (git): Fix filename in comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
10:00 AM Revision 14892a26 (git): use https:// instead of http://
[ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
09:58 AM Bug #14946 (Closed): ./win32/mkexports.rb:112: warning: flip-flop is deprecated
I get the warning in the subject. I think it's better to get rid of this
in our own build code.
duerst (Martin Dürst)
09:56 AM Bug #14934 (Closed): Unicode: Hangul normalize bug
Closed. Because there is no actual bug, there is no need to backport this. duerst (Martin Dürst)
09:54 AM Bug #14934: Unicode: Hangul normalize bug
I committed the tests adapted from Python and the fix of the comparison operator, because it's technically correct and we never know when this would lead to an actual bug if something somewhere else in the code gets changed.
@MaLin, t...
duerst (Martin Dürst)
03:16 AM Bug #14934: Unicode: Hangul normalize bug
Get it. :) MaLin (Lin Ma)
09:44 AM Revision a7acec67 (git): fix range check for Hangul jamo trailers in Unicode normalization
* lib/unicode_normalize/normalize.rb: Fix the range check for trailing
Hangul jamo characters in Unicode normalization. Different from
leading or vowel jamos, where LBASE and VBASE are actual characters,
a value equal to TBASE expr...
duerst (Martin Dürst)
09:11 AM Revision 9eb6304a (git): always run unicode normalization that do not depend on data file
* test/test_unicode_normalize.rb: extract tests that do not depend
on NormalizationTest.txt data file from conditionally constructed
part of TestUnicodeNormalize class, to always run them even if
the data file isn't found.
git-svn...
duerst (Martin Dürst)
08:56 AM Revision fb105931 (git): update unicode data files directory for normalization tests
* test/test_unicode_normalize.rb: search ucd directory
first if it exists. This change follows r61415.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
duerst (Martin Dürst)
03:34 AM Revision 3943dcd1 (git): use https:// instead of git:// when possible
Avoid MitM when downloading from insecure networks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
03:10 AM Bug #14945 (Closed): [PATCH] thread.c (blocking_region_end): clear ubf before unregister_ubf_list
Applied in changeset trunk|r64083.
----------
thread.c (blocking_region_end): clear ubf before unregister_ubf_list
If we keep ubf set after unregistering, there is a window for
other threads (including timer thread) to put this thread ...
normalperson (Eric Wong)
12:45 AM Bug #14945 (Closed): [PATCH] thread.c (blocking_region_end): clear ubf before unregister_ubf_list
thread.c (blocking_region_end): clear ubf before unregister_ubf_list
If we keep ubf set after unregistering, there is a window for
other threads (including timer thread) to put this thread back
on the ubf_list right away. Entering ...
normalperson (Eric Wong)
03:10 AM Revision 856bd77a (git): thread.c (blocking_region_end): clear ubf before unregister_ubf_list
If we keep ubf set after unregistering, there is a window for
other threads (including timer thread) to put this thread back
on the ubf_list right away. Entering ubf_list unexpectedly
after GVL acquisition may cause spurious wakeup and ...
Eric Wong
01:14 AM Feature #14912: Introduce pattern matching syntax
shyouhei-san:
I changed my mind. We should be able to avoid such "fragile" case.
Though duck typing is important, it should be designed by another approach.
akr-san:
> I think Ruby's pattern matching should support this style.
...
ktsj (Kazuki Tsujimoto)

07/27/2018

10:27 PM Revision 297ae343 (git): mjit.c: clean up unit link from iseq
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
05:28 PM Revision efee3033 (git): Include Hash#size in the examples
Both methods Hash#length and Hash#size share the same source code in
Ruby, but they also share the same documentation. Now when you look at
the documentation of Hash#size you only see examples for Hash#length,
which is confusing. This co...
tenderlovemaking (Aaron Patterson)
05:19 PM Revision ecf4641b (git): * 2018-07-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:19 PM Revision 684cdb4f (git): Escape debug output in InvalidURIError exceptions.
Co-authored-by: Brad Landers <brad@bradlanders.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
tenderlovemaking (Aaron Patterson)
04:59 PM Feature #14944 (Closed): Support optional inherit argument for Module#method_defined?
Module has many introspection methods for methods and constants that
either return an array or return true or false for whether the method
or constant is defined. Most of these methods support an optional
argument that controls whethe...
jeremyevans0 (Jeremy Evans)
04:15 PM Bug #13218 (Rejected): testing
nobu (Nobuyoshi Nakada)
01:57 PM Revision ffb09d8e (git): eval.c: rename "rb_frozen_class_p" to "rb_class_modify_check"
Just refactoring. Despite its name, the function does NOT return a
boolean but raises an exception when the class given is frozen.
I don't think the new name "rb_class_modify_check" is the best, but
it follows the precedeint "rb_ary_mod...
mame (Yusuke Endoh)
10:22 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Btw, I can probably improve on this by making GVL waiter perform
timeslice; so it would eliminate timer-thread completely. Will
work on it tomorrow (too tired, now)
normalperson (Eric Wong)
10:22 AM Bug #14943: ruby 2.4 doesn't work with jemalloc 5.1.0 properly.
repeatedly@gmail.com wrote:
> With jemalloc 5.1.0, ruby 2.4.4 failed to initalize timer thread and it causes broken runtime, e.g. signals are ignored.

> This problem has been reported in jemalloc issue. See
> https://github.com/jem...
normalperson (Eric Wong)
10:00 AM Bug #14943 (Closed): ruby 2.4 doesn't work with jemalloc 5.1.0 properly.
With jemalloc 5.1.0, ruby 2.4.4 failed to initalize timer thread and it causes broken runtime, e.g. signals are ignored.
- ruby 2.4.4
~~~
$ LD_PRELOAD=~/jemalloc_lib/5.1.0/lib/libjemalloc.so.2 ruby print_version.rb
<main>: warni...
repeatedly (Masahiro Nakagawa)
10:14 AM Feature #14717: [PATCH] thread: allow disabling preempt
Is this the same as `Thread.new { Thread.handle_interrupt(Exception => :never) { ... } }`?
What's the difference?
Is preemption as in threads giving control (and the GIL) to another still possible with `Thread#preemptible = true` or ...
Eregon (Benoit Daloze)
08:12 AM Feature #14717: [PATCH] thread: allow disabling preempt
nobu@ruby-lang.org wrote:
> `Thread.exclusive` ?

No, this is different from that old method because thread
switching still happens from blocking regions.
normalperson (Eric Wong)
04:29 AM Feature #14717: [PATCH] thread: allow disabling preempt
`Thread.exclusive` ? nobu (Nobuyoshi Nakada)
09:27 AM Revision ceab460f (git): mjit.c: keep all .o files
and lazily delete them on termination.
This will be needed to create a large so file later.
The large number of .o files will be probably compacted before the large so
file is created.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@...
k0kubun (Takashi Kokubun)
08:51 AM Revision e09bf11f (git): mjit.c: use NOT_COMPILED_JIT_ISEQ_FUNC for unloaded
units, renaming it from NOT_COMPILABLE_JIT_ISEQ_FUNC.
NOT_READY_JIT_ISEQ_FUNC is for ones being compiled, so
mjit_get_iseq_func treats it specially and it shouldn't be used for the
purpose.
I renamed it instead of adding a new one beca...
k0kubun (Takashi Kokubun)
08:26 AM Bug #14942 (Closed): Windows7でコンソールに長い文字列を出力できない
WindowsのRubyは、WriteConsoleWでコンソールに文字を出力していますが、
Windows7では、WriteConsoleで書き出せるバッファのサイズは61KB程度が限界のようです。
(WriteConsoleWで"あ"が31366文字まで、WriteConsoleAで"a"が62733文字まででした。)
長い文字列を出力する時は、小分けにして書き出してくれるとありがたいです。
※ Windows10では問題ありません。
yagisu (Sumi Yagi)
08:24 AM Revision 0d753d4f (git): mjit.c: release memory for unloaded unit
`xfree(unit)` was missing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
06:28 AM Revision ca494df3 (git): insns.def: remove old wrong explanation for get/setconstant
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e mame (Yusuke Endoh)
06:01 AM Revision 4aa952f6 (git): mjit.c: clarify the intention of setting 0
which was originally NULL before r62221
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
05:52 AM Revision 51f94872 (git): test_jit.rb: test unload_units
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
05:43 AM Bug #14941 (Closed): WindowsでARGVの文字列に汚染マークが付いてない
Applied in changeset trunk|r64071.
----------
ruby.c: taint ARGV on Windows
* ruby.c (external_str_new_cstr): strings come from the external
should be tainted. [ruby-dev:50596] [Bug #14941]
nobu (Nobuyoshi Nakada)
03:57 AM Bug #14941 (Closed): WindowsでARGVの文字列に汚染マークが付いてない
WindowsのRuby2.2以降で、コマンドライン引数の文字列に汚染マークを付け忘れてます。
~~~
$ ruby -e "p ARGV[0].tainted?" arg
false
~~~
yagisu (Sumi Yagi)
05:42 AM Revision 9fbb6661 (git): ruby.c: taint ARGV on Windows
* ruby.c (external_str_new_cstr): strings come from the external
should be tainted. [ruby-dev:50596] [Bug #14941]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:10 AM Bug #14934: Unicode: Hangul normalize bug
I think I have figured things out:
The patch is technically correct. While LBASE and VBASE are the values of the first actual leading and vowel jamos, the value of TBASE is one smaller than the first actual trailing jamo at 0x11A8. Th...
duerst (Martin Dürst)
04:24 AM Misc #14921: DevelopersMeeting20180809Japan
[Feature #11076] Enumerable method count_by
As mentioned in the discussion, Nobu was kind enough to update this to work with current master for Ruby: https://github.com/ruby/ruby/compare/trunk...nobu:feature/11076-Enumerable%23count_b...
baweaver (Brandon Weaver)
03:04 AM Feature #14938: Provide API to get same result as ruby -wc
Why don't you use ripper?
```ruby
#!/usr/bin/ruby
require 'ripper'
class Lint < Ripper
def warn(*s)
@results << [:warning, lineno, column, *s]
end
alias warning warn
def results
unless defined?(@results) and...
nobu (Nobuyoshi Nakada)

07/26/2018

08:40 PM Feature #13683: Add strict Enumerable#single
nobu (Nobuyoshi Nakada) wrote:
> How about `Enumerable#just(num=1)` or `Enumerable#only(num=1)`?
Or maybe a slightly more verbose `Enumerable#first_and_only(num = 1)`?
shan (Shannon Skipper)
07:52 PM Feature #14915: Deprecate String#crypt
I've released a string-crypt gem based on the previous patch: https://github.com/jeremyevans/ruby-string-crypt
The gem has some minor differences in `extconf.rb`, because it needs to avoid overlap with macros defined in `ruby/config.h...
jeremyevans0 (Jeremy Evans)
06:51 PM Feature #14718: Use jemalloc by default?
> vo.x (Vit Ondruch) wrote:
> ...
I am a glibc developer, and project steward.
We have no plans to merge jemalloc.
We have plans to look into glibc's RSS usage under certain workloads including a ruby application which has issues ...
carlos@redhat.com (Carlos O'Donell)
06:46 PM Revision c0e478ed (git): * 2018-07-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:46 PM Revision 5219adf4 (git): lib/ostruct: Remove unnecessary `__send__`
Patch by yuuji.yaginuma [Fix GH-1890]
Since `remove_method` is public.
Ref: https://bugs.ruby-lang.org/issues/14133
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Marc-Andre Lafortune
03:32 PM Feature #14183: "Real" keyword argument
@shevegen Of course, we will take plenty of time to migrate before making it a keyword.
If we made the decision, we will make it warn you first for a year or two before the actual change.
Matz.
matz (Yukihiro Matsumoto)
10:38 AM Feature #14183: "Real" keyword argument
I don't want to write too much, so just one comment - I would also prefer foo(kw: 1)
to retain being a Hash rather than to be assumed to be a keyword argument. I think
that it may surprise people when it would become a keyword suddenly.
shevegen (Robert A. Heiler)
03:21 PM Feature #14938: Provide API to get same result as ruby -wc
I want to get 3 things.
1. Type (warning or error)
2. Message
3. Location
I think location interface should be the same as RubyVM::AST::Node
https://ruby-doc.org/core-2.6.0.preview2/RubyVM/AST/Node.html
My proposal is the f...
mtsmfm (Fumiaki Matsushima)
06:25 AM Feature #14938: Provide API to get same result as ruby -wc
Good idea. Do you have an idea about API and implementation?
Maybe parse.y should be modified (== difficult).
ko1 (Koichi Sasada)
01:05 PM Revision 781c3ca5 (git): mjit.c: o -> so is not compilation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
12:48 PM Revision 2bfc1334 (git): dir.c: fix glob with base when no DT_UNKNOWN
* dir.c (do_stat, do_lstat, do_opendir): need the length of the base
path for fstatat() when fd is valid.
* dir.c (glob_helper): fix for platforms where DT_UNKNOWN is not
available, e.g. Solaris.
git-svn-id: svn+ssh://ci.ruby-lang....
nobu (Nobuyoshi Nakada)
12:47 PM Revision f6ae1ed6 (git): Add missing escape
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:04 PM Revision d6df54cc (git): process.c: conditionally used functions
* process.c (before_fork_ruby, after_fork_ruby): used only if fork()
or daemon() is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:07 AM Bug #14096 (Assigned): Psych allows invalid single quote escape character
hsbt (Hiroshi SHIBATA)
09:34 AM Revision dff596be (git): dladdr() is declared with non-const pointer on Solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
09:32 AM Revision 05316c40 (git): fork() is deprecated on Solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
08:42 AM Bug #14939: [PATCH] cont.c (ec_switch): prevent delayed/missed trap interrupt race
ko1@atdot.net wrote:
> Good point. Seems good. Thank you!

OK, commited as r64062

> BTW, I forget that why the trap handler is limited to main thread.

I can think of at least three reasons:

1) Similar to this bug: other thre...
normalperson (Eric Wong)
08:30 AM Bug #14939 (Closed): [PATCH] cont.c (ec_switch): prevent delayed/missed trap interrupt race
Applied in changeset trunk|r64062.
----------
cont.c (ec_switch): prevent delayed/missed trap interrupt race
timer-thread may set trap interrupt with rb_threadptr_check_signal
at any time independent of GVL. This means timer-thread ma...
normalperson (Eric Wong)
06:40 AM Bug #14939: [PATCH] cont.c (ec_switch): prevent delayed/missed trap interrupt race
Oops, sorry forget about `sleep` lines.
ko1 (Koichi Sasada)
06:39 AM Bug #14939: [PATCH] cont.c (ec_switch): prevent delayed/missed trap interrupt race
Good point. Seems good. Thank you!
BTW, I forget that why the trap handler is limited to main thread.
```
trap(:INT) do
p Thread.current
end
Thread.new{
sleep 1
Process.kill :INT, $$
p [:child, Thread.current]
}...
ko1 (Koichi Sasada)
08:30 AM Misc #14937 (Closed): [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Applied in changeset trunk|r64062.
----------
cont.c (ec_switch): prevent delayed/missed trap interrupt race
timer-thread may set trap interrupt with rb_threadptr_check_signal
at any time independent of GVL. This means timer-thread ma...
normalperson (Eric Wong)
08:30 AM Revision 97538e81 (git): cont.c (ec_switch): prevent delayed/missed trap interrupt race
timer-thread may set trap interrupt with rb_threadptr_check_signal
at any time independent of GVL. This means timer-thread may set
the trap interrupt flag on the previous execution context; causing
the flag to be unnoticed until a futur...
Eric Wong
07:23 AM Revision d3df0de6 (git): ignore built files
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
03:32 AM Feature #14940: Support bcrypt password hashing in webrick
Thanks, applied as r64060.

I needed to add RUBYLIB=/path/to/bcrypt/lib to my make command
line to test bcrypt; but I suppose that's fine
normalperson (Eric Wong)
03:21 AM Feature #14940 (Closed): Support bcrypt password hashing in webrick
Applied in changeset trunk|r64060.
----------
webrick: Support bcrypt password hashing
This adds a password_hash keyword argument to
WEBrick::HTTPAuth::Htpasswd#initialize. If set to :bcrypt, it
will create bcrypt hashes instead of cr...
normalperson (Eric Wong)
03:21 AM Revision 9749bfbf (git): webrick: Support bcrypt password hashing
This adds a password_hash keyword argument to
WEBrick::HTTPAuth::Htpasswd#initialize. If set to :bcrypt, it
will create bcrypt hashes instead of crypt hashes, and will
raise an exception if the .htpasswd file uses crypt hashes.
If :bcr...
Eric Wong
02:16 AM Feature #13534 (Assigned): Checking installation results of default gems
hsbt (Hiroshi SHIBATA)
02:13 AM Bug #9366 (Assigned): "make -j32 check TESTS=-j32" occasionally fails on rubygems/specification
hsbt (Hiroshi SHIBATA)
02:12 AM Feature #12639 (Assigned): Speed up require in RubyGems by 5x
hsbt (Hiroshi SHIBATA)
02:12 AM Bug #12764 (Assigned): rubygems with multi default gem problem
hsbt (Hiroshi SHIBATA)
02:12 AM Bug #13834 (Assigned): RubyGems test suite occasionally changes working directory and breaks the rest of test suite
hsbt (Hiroshi SHIBATA)

07/25/2018

11:36 PM Feature #14940 (Closed): Support bcrypt password hashing in webrick
Related to #14915, this adds bcrypt password hash support when using htpasswd files with Webrick basic auth, allowing a migration path away from the current String#crypt usage. jeremyevans0 (Jeremy Evans)
10:32 PM Revision 1516b85d (git): test/ruby/test_io.rb (test_select_leak): skip with MJIT
We need better ways to test for leaks :<
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
09:37 PM Bug #14939 (Closed): [PATCH] cont.c (ec_switch): prevent delayed/missed trap interrupt race
ko1: I noticed this while working on timer-thread elimination/lazy-spawning.
However, it looks like a bug we introduced in 2.5 with `ec'.
Can you check this patch? Thanks.
cont.c (ec_switch): prevent delayed/missed trap interrupt ...
normalperson (Eric Wong)
06:31 PM Feature #14938: Provide API to get same result as ruby -wc
This may also be useful for irb/pry add-ons, I think.
Perhaps Koichi-san can comment on the issue if he has time.
shevegen (Robert A. Heiler)
03:58 PM Feature #14938 (Open): Provide API to get same result as ruby -wc
I'm the author of an implementation of Ruby Language Server.
Currently, it uses `RubyVM::InstructionSequence.compile` to get the result of `ruby -wc` and parses message and location by regexp.
https://github.com/mtsmfm/language_serve...
mtsmfm (Fumiaki Matsushima)
06:09 PM Revision 3b60f4a5 (git): [Doc] Recover example about Queue
`trunk@42862` dropped example's last line.
https://github.com/ruby/ruby/commit/e334bb2ce5d8876b020ab681f21595e2e1c9d601#diff-8783a9b452e430bcf0d7b0c6e34f1db0L144
https://github.com/ruby/ruby/commit/e334bb2ce5d8876b020ab681f21595e2e1c9d6...
tenderlovemaking (Aaron Patterson)
06:06 PM Revision ac1193d3 (git): Remove obsolete comment from Module#define_method documentation
Since 2.5, Module#define_method is public. (feature #14133)
Co-Authored-By: Miguel Landaeta <miguel@miguel.cc>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
tenderlovemaking (Aaron Patterson)
06:04 PM Revision 655b3da0 (git): Fixes the File::CREAT logger documentation
Co-Authored-By: Matias Korhonen <matias@kiskolabs.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
tenderlovemaking (Aaron Patterson)
06:00 PM Revision a818fca3 (git): * 2018-07-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:00 PM Revision e6282ef0 (git): Add docs to RubyVM::AST
Co-Authored-By: Robert Mosolgo <rdmosolgo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
tenderlovemaking (Aaron Patterson)
05:54 PM Bug #14634: Queue#push seems to crash after fork
Hi, we've been hitting this bug at work too. I tested these commits (backported them on to Ruby 2.5) and they seem to clear up the issue. Naruse, could we have these backported to the ruby_2_5 branch? I made backport commits here: htt... tenderlovemaking (Aaron Patterson)
03:31 PM Misc #14921: DevelopersMeeting20180809Japan
(Sorry for this short comment but I think the issue here is filed under
"Bug" presently, but should perhaps be moved towards "Misc" instead,
like the two prior dev-meetings.)
shevegen (Robert A. Heiler)
02:55 PM Revision a763bc3c (git): insns.def: s/handles_frame/handles_sp/
because it's more suitable to describe the current behavior now.
tool/ruby_vm/models/bare_instructions.rb: ditto.
tool/ruby_vm/views/_insn_entry.erb: ditto.
tool/ruby_vm/views/_mjit_compile_insn_body.erb: ditto.
tool/ruby_vm/views/_mjit...
k0kubun (Takashi Kokubun)
02:36 PM Revision 218aa03c (git): mjit.c: split build stages for unix
I'm going to build a large .so file that combines multiple .o files.
For that change, I want to confirm the impact to performance by this
change. So far, I haven't seen the significant change on the max
performance.
* before
$ for i in ...
k0kubun (Takashi Kokubun)
01:54 PM Revision 40bb70c7 (git): mjit.c: completely separate compile_c_to_so
by whether on mswin or not.
This is needed because I'm going to renew the compilation process for
unix, keeping mswin builds as it is, at first.
This commit is not changing the behavior at all.
git-svn-id: svn+ssh://ci.ruby-lang.org/r...
k0kubun (Takashi Kokubun)
12:33 PM Revision f10582d8 (git): mjit.c: prevent memory leak on realloc failure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
12:31 PM Revision 3a1e3d35 (git): Update latest default gems on maintainers.rdoc and standard_library.rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
12:28 PM Revision 8d884d94 (git): Promote Mutex_m to Default gems.
* lib/mutex_m.gemspec: Added initial gemspec.
* lib/mutex_m.rb: Added Mutex_m::VERSION for gemspec.
* tool/sync_default_gems.rb: Support Mutex_m.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64048 b2dd03c8-39d4-4d8f-98ff-823fe6...
hsbt (Hiroshi SHIBATA)
12:26 PM Revision 27785eec (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:26 PM Revision 82f55bae (git): Promote Exception2MessageMapper to Default gems.
* lib/e2mmap.gemspec: Added initial gemspec.
* lib/e2mmap/version.rb: Added Exception2MessageMapper::VERSION for gemspec.
* tool/sync_default_gems.rb: Support Exception2MessageMapper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trun...
hsbt (Hiroshi SHIBATA)
12:21 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
@normalperson
Eric,
In addition to the build mentioned above, there have been two more ruby-loco builds, both with all three patches, and both passed all tests
> Thanks for testing; I guess 47 minutes is not unusual for a busy ...
MSP-Greg (Greg L)
08:32 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
On 2018/07/25 17:20, Eric Wong wrote:
> I don't know, current behavior seems intentional and documented
> in RDoc:
>
> * Note that this method can wakeup without explicit Thread#wakeup call.
> * For example, receiving ...
ko1 (Koichi Sasada)
08:22 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Koichi Sasada <ko1@atdot.net> wrote:
> I need to read your proposal with more concentrations, but one thing:

Thanks. I noticed a bug where it sometimes still get
stuck when I run "make exam" in a loop. Will have to dig deeper
to...
normalperson (Eric Wong)
08:12 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Greg.mpls@gmail.com wrote:
> Tested with the attached patch. When Appveyor is busy, and
> with test-all using retry, and something in MJIT failing or
> erroring, the test took 47 minutes.
>
> Anyway, all good, ran with r64038, an...
normalperson (Eric Wong)
01:03 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
@normalperson

Eric,
Tested with the attached patch. When Appveyor is busy, and with test-all using retry, and something in MJIT failing or erroring, the test took 47 minutes.
Anyway, all good, ran with r64038, and all tests p...
MSP-Greg (Greg L)
12:42 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> > git repository also available at:
> > https://80x24.org/ruby.git tt-lazy
> > (commit a2990cefccba55300ad44275ee4adf18e6f95ece)
>
> Now up to commit 6fb72ad7334a61e3c4341aa5fa17749671cbb867

Sorry, didn't finish testing th...
normalperson (Eric Wong)
12:22 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> git repository also available at:
> https://80x24.org/ruby.git tt-lazy
> (commit a2990cefccba55300ad44275ee4adf18e6f95ece)

Now up to commit 6fb72ad7334a61e3c4341aa5fa17749671cbb867

[PATCH 2/1] thread.c (rb_threadptr_execut...
normalperson (Eric Wong)
12:04 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> https://bugs.ruby-lang.org/issues/14937

Hi Greg, Can you try the patch in this ticket? It shouldn't
affect win32, but maybe I made typos. I couldn't add you
as a watcher to this ticket from Redmine (since that requires
JavaSc...
normalperson (Eric Wong)
12:15 PM Revision ddb6e1f7 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:15 PM Revision bbb5dbe8 (git): Promote ThWait to Default gems.
* lib/thwait.gemspec: Added initial gemspec.
* lib/thwait/version.rb: Added ThWait::VERSION for gemspec.
* tool/sync_default_gems.rb: Support ThWait.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64044 b2dd03c8-39d4-4d8f-98ff-82...
hsbt (Hiroshi SHIBATA)
11:59 AM Revision 2b80b8bc (git): Removed duplicate task in default gems that used single test file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
11:53 AM Revision 26e6462b (git): Promote Forwardable to default gems.
* lib/forwardable.rb: Added Forwardable::VERSION and re-use it.
* lib/forwardable/forwardable.gemspec: Added initial gemspec.
* tool/sync_default_gems.rb: Support forwaradable repository.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/...
hsbt (Hiroshi SHIBATA)
11:51 AM Revision fd87d680 (git): Removed duplicate task in default gems
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
11:47 AM Revision 3772c47d (git): Support logger.gemspec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
11:34 AM Revision c8edd788 (git): Update latest versions of bundled gems.
* net-telnet-0.2.0
* power_assert-1.1.3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
10:07 AM Bug #14898 (Open): test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
ko1 (Koichi Sasada)
10:07 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
http://ci.rvm.jp/results/trunk-test@frontier/1153126
doesn't fixed yet :(
ko1 (Koichi Sasada)
07:44 AM Feature #14922 (Assigned): Resolv getaddresses ignores AAAA records for IPv6
Mmm, I think this is a real bug.
RUBYOPT does not work well in this case because resolve.rb is a library while RUBYOPT is for the process. Adding parameter to the constructor is an option though.
shyouhei (Shyouhei Urabe)
06:22 AM Bug #14934: Unicode: Hangul normalize bug
I have quickly looked at the tests. I understand what issue they are checking (NFC in case of a mix of current Hangul and old-style-only Hangul jamos). I think Ruby should pass these tests.
Ruby has tests for this case, see
https://s...
duerst (Martin Dürst)
06:18 AM Feature #14915: Deprecate String#crypt
jeremyevans0 (Jeremy Evans) wrote:
> So there are no security issues in the `sub(/\A\$2y\$/, '$2a$')`.
Great. Thank you for confirmation.
shyouhei (Shyouhei Urabe)
05:09 AM Feature #14915: Deprecate String#crypt
normalperson (Eric Wong) wrote:
> Allowing options which other servers do not support is not
> ...
Fair enough, I'll work on adding support for `:password_hash=>:bcrypt|:crypt` (currently defaulting to :crypt if not given for backword...
jeremyevans0 (Jeremy Evans)
04:58 AM Feature #14915: Deprecate String#crypt
shyouhei (Shyouhei Urabe) wrote:
> Off topic but,
> ...
There is only a difference between `$2a$` and `$2b$` on OpenBSD if the password length is 256 characters or longer. Such passwords are very rare. The `bcrypt` gem currently only...
jeremyevans0 (Jeremy Evans)
03:12 AM Feature #14915: Deprecate String#crypt
merch-redmine@jeremyevans.net wrote:
> normalperson (Eric Wong) wrote:
> > Can you do it as a single option which doesn't involve having
> > users copy+paste code? Something like:
> >
> > :password_hash => (:bcrypt|:crypt|:b...
normalperson (Eric Wong)
02:33 AM Feature #14915: Deprecate String#crypt
Off topic but,
jeremyevans0 (Jeremy Evans) wrote:
> Apache htpasswd generates passwords using `$2y$`, but the hashes are the same as `$2a$` format, and Apache handles `$2a$` format just fine. The bcrypt gem does not consider `$2y$` ...
shyouhei (Shyouhei Urabe)
12:34 AM Bug #14936 (Rejected): Ruby 2.5.1 crahes when running on Mac OS X High Sierra 10.13.6
It is 2.2, which has reached the EOL.
https://www.ruby-lang.org/en/news/2018/06/20/support-of-ruby-2-2-has-ended/
nobu (Nobuyoshi Nakada)
12:33 AM Bug #14935 (Rejected): Inconsitent behaviour with puts and enumerator with different block format.
nobu (Nobuyoshi Nakada)

07/24/2018

11:48 PM Misc #14937 (Closed): [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
[ruby-core:87773]
```
thread_pthread: lazy-spawn timer-thread only on contention
To reduce resource use and reduce CI failure; lazy spawn
timer-thread only in processes which use Ruby Threads AND those
Ruby Threads hit contention....
normalperson (Eric Wong)
11:19 PM Feature #14915: Deprecate String#crypt
normalperson (Eric Wong) wrote:
> Can you do it as a single option which doesn't involve having
> ...
One issue with that is it doesn't offer a way to specify the password hash cost. For example, the bcrypt gem defaults to cost 10, a...
jeremyevans0 (Jeremy Evans)
10:42 PM Feature #14915: Deprecate String#crypt
<snip> Thanks for the research on this matter

merch-redmine@jeremyevans.net wrote:
> Should I prepare a patch to Webrick to accept
> :create_password_hash and :check_password_hash options, and
> add documentation with an example u...
normalperson (Eric Wong)
10:00 PM Feature #14915: Deprecate String#crypt
jeremyevans0 (Jeremy Evans) wrote:
> .htpasswd is an Apache-specific format, and Apache currently supports only 5 password formats: bcrypt, MD5, SHA1, crypt, plain text (https://httpd.apache.org/docs/2.4/misc/password_encryptions.html)....
jeremyevans0 (Jeremy Evans)
11:04 PM Feature #14183: "Real" keyword argument
Here's an alternative proposal, with the basic idea that behavior for historical ruby 1.6+ code that doesn't use keyword arguments remains the same.
## OK: Historical ruby 1.6+ (maybe before) usage (hash argument with omitted braces)
...
jeremyevans0 (Jeremy Evans)
08:24 PM Revision f1186a3d (git): Revert "dir.c: fix glob with base when no DT_UNKNOWN"
This reverts commit r63982.
It breaks build on Solaris 11.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
07:22 PM Feature #14922: Resolv getaddresses ignores AAAA records for IPv6
Greetings. I work behind Donovan (this bug's reporter) and am also dealing with this same issue. I tracked down the source of this behavior by looking through the Ruby resolv.rb source code. Apparently the DefaultResolver only resolves I... eviljoel (evil joel)
05:13 PM Bug #14935: Inconsitent behaviour with puts and enumerator with different block format.
I think this is because `do ... end` blocks has lower precedence than `{...}` blocks. As documented in [1]. So, probably, not a bug.
~~~
method1 method2 { ... } # method2's block
method1 method2 do ... end # method1's block
~~...
lucasbuchala (Lucas Buchala)
03:54 PM Bug #14935: Inconsitent behaviour with puts and enumerator with different block format.
#puts returns `nil`, so when you're mapping you end up with `[nil, nil, nil]`, which prints with #puts as three blank lines. If you use `p` instead of `puts` inside the block, the block will return `i` instead of `nil` and you'll see the... shan (Shannon Skipper)
12:29 PM Bug #14935 (Rejected): Inconsitent behaviour with puts and enumerator with different block format.
### Case: 1
```
➜ ~ ruby
puts [1,2,3].map do |i|
puts i
end
#<Enumerator:0x007ffe930b76d0>
➜ ~
# block does get evaluated.
```
Case 2:
```
➜ ~ ruby
puts [1, 2, 3].map { |i| puts i }
1
2
3
➜ ~
# Block gets ...
puneet.sutar@gmail.com (Puneet Sutar)
05:01 PM Bug #14936 (Rejected): Ruby 2.5.1 crahes when running on Mac OS X High Sierra 10.13.6
When attempting to run Arachni 1.5.1 on my Mac OS X High Sierra, I get a Ruby crash every time. I am attaching the Ruby crash report. nelsonmp19 (Michael Nelson)
03:40 PM Revision cd2eaf2a (git): mjit.c: handle memory allocation failure
which was missing in r64033.
Prior to r64033, memory allocation failure had been checked by
TRY_WITH_GC and handled by rb_memerror. But calling rb_memerror on MJIT
worker is problematic since it does EC_JUMP_TAG in the end. Threads
exce...
k0kubun (Takashi Kokubun)
03:17 PM Revision 461c79f1 (git): * 2018-07-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:17 PM Revision ba8413c2 (git): vm.c: simplify the implementation of r64031
because such inconsistency may result in the regression fixed in r64034.
vm_exec is not touched since renaming it may be controversial...
vm_args.c: ditto.
vm_eval.c: ditto.
vm_insnhelper.c: ditto.
vm_method.c: ditto.
git-svn-id: svn+...
k0kubun (Takashi Kokubun)
02:43 PM Revision 63f51f52 (git): transform_mjit_header.rb: fix performance regression
on r64031. Compiling vm_search_method_slowpath is very slow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:36 PM Revision 83c9263b (git): mjit.c: prevent GC on MJIT worker
mjit_compile.c: ditto.
REALLOC_N, ALLOC_N and xmalloc trigger GC but it's not expected.
Other allocation calls in mjit.c are executed on Ruby's main thread and
thus fine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64033 b2dd03c8...
k0kubun (Takashi Kokubun)
12:19 PM Revision e8df28d9 (git): test_jit.rb: give up debugging cc1 issue
in a short term, and add retries to prevent random CI failures by it.
I remember this and will address it later for sure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
12:15 PM Bug #14934: Unicode: Hangul normalize bug
> Can you provide some test case(s)?
That is what frustrated me. I simply translated Python's test-cases for this issue[1] to Ruby.
[1] https://github.com/python/cpython/commit/d134809cd3764c6a634eab7bb8995e3e2eff14d5
But them pas...
MaLin (Lin Ma)
06:07 AM Bug #14934: Unicode: Hangul normalize bug
@MaLin: Can you provide some test case(s)?
All the test data provided by Unicode (e.g. https://www.unicode.org/Public/10.0.0/ucd/NormalizationTest.txt) is used for testing. But I know that there are some corner cases in Hangul that ar...
duerst (Martin Dürst)
05:15 AM Bug #14934: Unicode: Hangul normalize bug
I'm not a expert of Ruby, I would suggest to examine the code of Hangul normalize, it looks too simple than the Unicode Standard's demonstration code. MaLin (Lin Ma)
04:56 AM Bug #14934 (Closed): Unicode: Hangul normalize bug
I was involved to fix a similar bug in Python, I found Ruby also has bug code.
We should fix this line[1] like this:
[1] https://github.com/ruby/ruby/blob/96db72ce38b27799dd8e80ca00696e41234db6ba/lib/unicode_normalize/normalize.rb#L7...
MaLin (Lin Ma)
12:12 PM Revision afba9cd7 (git): prefix symbols exported for mjit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:54 AM Revision a67f47c4 (git): test_jit.rb: suppress unused variable warning
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
09:15 AM Revision 004f5521 (git): Try to suppress warning on some CI
http://ci.rvm.jp/results/trunk-asserts-nopara@silicon-docker/1149270
```
/home/ko1/ruby/src/trunk-asserts-nopara/process.c: In function 'assert_close_on_exec':
/home/ko1/ruby/src/trunk-asserts-nopara/process.c:298:9: warning: ignoring re...
znz (Kazuhiro NISHIYAMA)
07:47 AM Bug #14860 (Closed): Time.strptime does not work with Julian dates using %j
Applied in changeset trunk|r64028.
----------
time.rb: yday support
* lib/time.rb (Time.make_time): added yday support.
[ruby-core:87545] [Bug #14860]
nobu (Nobuyoshi Nakada)
07:47 AM Bug #14933 (Closed): Time.strptime with ordinal dates
Applied in changeset trunk|r64028.
----------
time.rb: yday support
* lib/time.rb (Time.make_time): added yday support.
[ruby-core:87545] [Bug #14860]
nobu (Nobuyoshi Nakada)
07:47 AM Revision 728b75bc (git): time.rb: yday support
* lib/time.rb (Time.make_time): added yday support.
[ruby-core:87545] [Bug #14860]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:03 AM Revision 727f6ee8 (git): dsymutil needs the object files
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
05:38 AM Revision 8099b927 (git): * 2018-07-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:38 AM Revision 97e05dad (git): UNREACHABLE_RETURN
* include/ruby/ruby.h (UNREACHABLE_RETURN): UNREACHABLE at the end
of non-void functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
04:59 AM Feature #14912: Introduce pattern matching syntax
egi (Satoshi Egi) wrote:
> Let me propose you to import the functions for non-linear pattern matching with backtracking that I have implemented as a Ruby gem in the following repository.
Open a new issue for that, please. Don't hija...
shyouhei (Shyouhei Urabe)
04:49 AM Feature #14912: Introduce pattern matching syntax
Let me propose you to import the functions for non-linear pattern matching with backtracking that I have implemented as a Ruby gem in the following repository.
https://github.com/egison/egison-ruby/
This pattern-matching system all...
egi (Satoshi Egi)
04:57 AM Feature #5446: at_fork callback API
normalperson (Eric Wong) wrote:
> Maybe Sequel and AR can have add optional PID checks
> ...
My problem with doing this by default is that it penalizes knowledgeable users just to avoid problems for users that don't read the documenta...
jeremyevans0 (Jeremy Evans)
04:42 AM Feature #5446: at_fork callback API
tenderlove@ruby-lang.org wrote:
> normalperson (Eric Wong) wrote:
> > eregontp@gmail.com wrote:
> > > I want to help protect future programmers from such bugs, if at all possible.
> > > And I believe it's possible.
> > >
...
normalperson (Eric Wong)
04:41 AM Feature #5446: at_fork callback API
tenderlovemaking (Aaron Patterson) wrote:
> I think library authors can make things easier though. Web frameworks, like Rails for example, are expected to handle this situation for the user. In addition, say a library author provided ...
jeremyevans0 (Jeremy Evans)
02:02 AM Feature #10982: Clarify location of NoMethod error
I just ran into a `SyntaxError` on heapy today (in Ruby 2.1.6) and it did exactly what I wish would occur for `NoMethodError`:
```
$ heapy read ruby-heap-2018-07-24\ 01\:29\:05.dump
/Users/olivierlacan/.rbenv/versions/2.1.6/lib/rub...
olivierlacan (Olivier Lacan)
 

Also available in: Atom