Project

General

Profile

Activity

From 07/08/2014 to 07/14/2014

07/14/2014

08:10 PM Bug #10009: IO operation is 10x slower in multi-thread environment
Good to know it works for you. Keep in mind TIME_QUANTUM_USEC=1000 is
very low and may cause problems on some systems, too.

My gut feeling is 100ms (default) is too high, but 10ms is too low
(based on kosaki's comment). Maybe 20m...
normalperson (Eric Wong)
01:31 PM Bug #9759: [TracePoint API] return event missing when raising exception
Yes, maybe he is aware of this because he only asked for backport to the 2.1 branch. Can you help us, ko1? deivid (David Rodríguez)
12:21 PM Bug #10035 (Closed): Find.find no longer accepts Pathname type as argument
In 2.1, a check for encoding of the paths parameter has been added to File.find. This works perfectly well for String parameters, but this results in a NoMethodError when a Pathname parameter is given. In my opinion a Pathname is a bette... herwinw (Herwin Quarantainenet)
11:51 AM Bug #10027: make at windows , err : _rb_file_expand_path_internal already defined in file. obj
Those functions are in msvcrt.lib.
Have you applied service packs?
nobu (Nobuyoshi Nakada)
01:34 AM Bug #10027: make at windows , err : _rb_file_expand_path_internal already defined in file. obj

I have delete all source , and run configure.bat . have an other problem :
```
G:\dev-tools\ruby-2.1.2>win32\configure.bat --disable-install-doc
Creating Makefile.new
"type `nmake' to make ruby."
G:\dev-tools\ruby-2.1.2>nmak...
sevk (kk kk)
01:31 AM Bug #10027: make at windows , err : _rb_file_expand_path_internal already defined in file. obj
Andrii Tereshchenko wrote:
> kk kk wrote:
> ...
thank you . how to clean all config files ?
sevk (kk kk)
11:50 AM Revision 031e1570 (git): Makefile.sub: no oldnames.lib
* win32/Makefile.sub (LIBS): oldnames.lib is not used already.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:17 AM Revision c3000ed8 (git): * ext/win32ole/win32ole.c: modify WIN32OLE class document and
add comment for constants of WIN32OLE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
suke (Masaki Suketa)
10:02 AM Feature #8895: Destructuring Assignment for Hash
Sean Linsley wrote:
> I don't follow. Can't this assignment behave the same way that method argument destructuring does?
I agree. Destructuring should work as method & block passing works (apart from block passing)
marcandre (Marc-Andre Lafortune)
09:48 AM Revision f747a231 (git): ChangeLog: document size changes [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eric Wong
08:07 AM Bug #10006: instance_exec uses incorrect binding with curried proc
It may need further consideration whether `instance_exec` should affect the wrapped proc. nobu (Nobuyoshi Nakada)
08:05 AM Feature #10034 (Closed): [PATCH] (struct re_pattern_buffer): reduce by cache line
Reducing struct re_pattern_buffer from 464 to 448 bytes allows it to fit
into neatly into seven 64-byte cache lines on x86-64 systems.
ABI is changed in 2.2.0dev anyways, so we may do this.
Will commit in a few days.
C extension us...
normalperson (Eric Wong)
07:42 AM Revision ff9046ad (git): vm_core.h (struct rb_iseq_struct): reduce to 288 bytes on 64-bit
* vm_core.h (struct rb_iseq_struct): reduce to 288 bytes on 64-bit
(found with pahole, from the dwarves package)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
07:22 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
(2014/07/14 16:12), Eric Wong wrote:
> OK, r46811 (I also made trivial commit r46813 to shrink catch entry)

Thanks.

> What should we do about rb_iseq_build_for_ruby2cext? I think it is
> broken, now (as is anything else which m...
ko1 (Koichi Sasada)
07:22 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
ko1@atdot.net wrote:
> Thank you.
> I will modify style after your commit.

OK, r46811 (I also made trivial commit r46813 to shrink catch entry)

What should we do about rb_iseq_build_for_ruby2cext? I think it is
broken, now (as...
normalperson (Eric Wong)
06:34 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
Thank you.
I will modify style after your commit.
ko1 (Koichi Sasada)
06:10 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
Changes from v2:
- iseq_catch_table_size removed, use if (...) for (;...;)
I used a short local variable in some places to keep the "if (...) for (...)"
sequences from wrapping on long lines.
normalperson (Eric Wong)
03:39 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
Eric Wong wrote:
> Eric Wong <normalperson@yhbt.net> wrote:
> ...
There are two reasons I'm opposed to:
(1) I think writing "if (...) for (...)" is more clear (easy to understand).
I don't care to adding one line to check exisiting...
ko1 (Koichi Sasada)
01:20 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
Updated patch
Changes from v1:
- renamed iseq->_catch_table to iseq->catch_table
- iseq_catch_table_bytes: made a static inline function
- iseq_catch_table_size: new function replaces the
iseq_catch_table_each iterator macro
normalperson (Eric Wong)
07:08 AM Revision 34f7e908 (git): iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bit
* iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bit
This drops a few minor page faults on my system at startup.
Using 64-bit start, end, cont, and sp fields are unnecessary as
label_get_position and label_get_sp only ...
Eric Wong
07:06 AM Revision b811194e (git): * 2014-07-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
07:06 AM Revision e91ae784 (git): vm_core.h (struct rb_iseq_struct): reduce to 296 bytes on 64-bit
Most iseq do not have a catch_table, so avoid needlessly adding
4-8 bytes to the struct for the common case.
Changes from v2:
- iseq_catch_table_size removed, use if (...) for (;...;)
Changes from v1:
- renamed iseq->_catch_table to is...
Eric Wong
01:21 AM Bug #10029: miss probes.h when nmake
Nobuyoshi Nakada wrote:
> How did you get the source, and what is the exact revision?
I delete all source, and run `nmake array.obj -n` ,the result is same to you. fixed.
( I think the reason is I run configure.bat at win32 dir , ...
sevk (kk kk)
12:13 AM Bug #10031: Net::IMAP idle can still block a thread forever.
Setting SO_KEEPALIVE on the socket will help, but that still takes at
least 2 hours to detect on a stock Linux system. Do you want to set a
shorter keepalive, or is ~2 hours OK?

You can change the interval using OS-specific knobs ...
normalperson (Eric Wong)

07/13/2014

11:54 PM Misc #10032: Matrix classについて
Marc-Andre Lafortune wrote:
> Since this request talks about Matrix, of which I'm the maintainer, and refers to a PR I reviewed, I'd very much like an english translation.
In short, he is interested in improving Matrix class. And to...
matz (Yukihiro Matsumoto)
11:00 PM Misc #10032: Matrix classについて
>こちらのPRなど最初のレビューを頂くまでに一ヶ月半を要しました. 問題だと感じました.
対面でもお伝えしましたが、 github は補助的なものなので、レビューを要するものは
オフィシャルの issue tracker である redmine に最初にパッチを投稿することをお勧めします。
また、Ruby の標準添付ライブラリのメンテナンスはライブラリごとにメンテナが
担当することになっています。
つまり、パッチをどうするかはメンテナ次第です。まず最初...
hsbt (Hiroshi SHIBATA)
10:14 PM Misc #10032: Matrix classについて
Since this request talks about Matrix, of which I'm the maintainer, and refers to a PR I reviewed, I'd very much like an english translation.
Thanks
marcandre (Marc-Andre Lafortune)
07:47 PM Misc #10032 (Closed): Matrix classについて
こんにちは. 突然のご連絡失礼します.
もしこちらでお伺いするには不適切な内容であれば、お叱りと共にその旨をお伝え頂ければなと思います.
* 以下本文
Matrixクラスの貧弱さに憂いてGithub上からシコシコとPRを投げているのですが、
https://github.com/ruby/ruby/pull/594
こちらのPRなど最初のレビューを頂くまでに一ヶ月半を要しました. 問題だと感じました.
こちらは単純にGithubの扱...
gogotanaka (Kazuki Tanaka)
11:05 PM Feature #8895: Destructuring Assignment for Hash
Koichi Sasada wrote:
> Problem is what happen when `h' is not a hash object (and doesn't have to_hash method).
> ...
I don't follow. Can't this assignment behave the same way that method argument destructuring does? This currently work...
seanlinsley (Sean Linsley)
07:35 PM Bug #10031 (Closed): Net::IMAP idle can still block a thread forever.
When calling Net::IMAP idle often errors will go unnoticed forever, simply leaving the Thread that called "idle" blocking forever.
For example try bringing your internet connection down whilst a thread is calling the idle method, the ...
chilon (James Pike)
02:35 PM Bug #8523: intermittent unit test failure in test_timeout.rb results in build failures
r44516, r46159 and r46196 were backported into `ruby_2_1` branch at r46810. nagachika (Tomoyuki Chikanaga)
02:35 PM Revision 30c0ad55 (git): merge revision(s) r44516,r46159,r46196: [Backport #8523]
test_timeout.rb: shorten waiting times
* test/test_timeout.rb (test_timeout): inverted test condition.
[Bug #8523]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nagachika (Tomoyuki Chikanaga)
02:24 PM Bug #9913: Digest == throws TypeError when testing against nil
Backported into `ruby_2_1` branch at r46809. nagachika (Tomoyuki Chikanaga)
02:24 PM Revision 9bc1b8e9 (git): merge revision(s) r46368,r46371: [Backport #9913]
* ext/digest/digest.c (rb_digest_instance_equal):
fix #== for non-string arguments. [ruby-core:62967] [Bug #9913]
* test/digest/test_digest.rb: add test for above.
* ext/digest/digest.c (rb_digest_instance_equ...
nagachika (Tomoyuki Chikanaga)
02:17 PM Bug #9939: segfault by modifying array during Array#combination
r46417 and r46418 were backported into `ruby_2_1` branch at r46808. nagachika (Tomoyuki Chikanaga)
02:16 PM Revision 99ea5ebb (git): merge revision(s) r46417,r46418: [Backport #9939]
* array.c (yield_indexed_values): extract from permute0(),
rpermute0(), and rcombinate0().
* array.c (rb_ary_combination): iterate on a shared copy, and use
array of indexes instead of array of chosen objects...
nagachika (Tomoyuki Chikanaga)
02:09 PM Bug #9942: reduce memory allocation in Array#permutation (fixed at r46416)
Backported into `ruby_2_1` branch at r46807. nagachika (Tomoyuki Chikanaga)
02:08 PM Revision aa8380e1 (git): merge revision(s) r46416: [Backport #9942]
* array.c (rb_ary_permutation): `p` is the array of size `r`, as
commented at permute0(). since `n >= r` here, buffer overflow
never happened, just reduce unnecessary allocation though.
git-svn-id: svn+ssh://ci.rub...
nagachika (Tomoyuki Chikanaga)
01:59 PM Bug #10019: segmentation fault/buffer overrun in pack.c (encodes)
Backported into `ruby_2_1` branch at r46806. nagachika (Tomoyuki Chikanaga)
01:59 PM Revision 5c1a6945 (git): merge revision(s) r46778: [Backport #10019]
* pack.c (encodes): fix buffer overrun by tail_lf. Thanks to
Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46806 b2dd03c8-39d4-4d8f-98ff-823fe69b...
nagachika (Tomoyuki Chikanaga)
01:51 PM Bug #9674: Segfault when marshaling Queue
Backported into `ruby_2_1` branch at r46805. nagachika (Tomoyuki Chikanaga)
01:51 PM Revision 5643bc5a (git): merge revision(s) r45423,r45424: [Backport #9674]
* ext/thread/thread.c (undumpable): ConditionVariable and Queue
are not dumpable. [ruby-core:61677] [Bug #9674]
* marshal.c (w_object): internal objects are not dumpable.
[ruby-core:61677] [Bug #9674]
git-...
nagachika (Tomoyuki Chikanaga)
10:38 AM Bug #10011: Passing a string to Pathname#relative_path_from results in NoMethodError
https://github.com/ruby/ruby/pull/666 leriksen (Leif Eriksen)
08:51 AM Revision 944afa18 (git): * ext/openssl/ossl_cipher.c: Fix call to ciphers class method and
spell out `encryption` by @vipulnsward [fix GH-664]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
08:48 AM Revision e442383b (git): * ext/gdbm/gdbm.c: remove needless tabs.
* ext/sdbm/init.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
08:42 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
Eric Wong <normalperson@yhbt.net> wrote:
> How about using a `iseq_catch_table_size` macro instead:

Or static inline function (also for `iseq_catch_table_bytes`).
normalperson (Eric Wong)
08:42 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
ko1@atdot.net wrote:
> From what size on which architecture?

x86-64

> On the code:
>
> (1) `_catch_table` should be `catch_table`

OK, I will change it back. I renamed it so it'd be easier for the
compiler to det...
normalperson (Eric Wong)
08:06 AM Feature #10030: [PATCH] reduce rb_iseq_struct to 296 bytes
From what size on which architecture?
On the code:
1. `_catch_table` should be `catch_table`
2. I don't like `iseq_catch_table_each()` macro.
I like to write like
```C
if (iseq->_catch_table) for (i=0; i<iseq->_catch_table-...
ko1 (Koichi Sasada)
07:09 AM Feature #10030 (Closed): [PATCH] reduce rb_iseq_struct to 296 bytes
This probably breaks ruby2cext; but I'm not sure if anybody uses that.
May we remove rb_iseq_build_for_ruby2cext?
I will probably have more patches along these lines to reduce iseq-related
allocations. This is probably the most o...
normalperson (Eric Wong)
08:32 AM Revision faa9a862 (git): * ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro.
* ext/sdbm/init.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
08:29 AM Revision 3caee484 (git): * ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp.
[fix GH-655]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
07:46 AM Revision c7fbc296 (git): vm_core.h (struct rb_call_info_struct): improve packing
* vm_core.h (struct rb_call_info_struct): improve packing
On x86-64, it goes from 112 to 104 bytes. This results in
~20K of savings from just "./ruby -e exit"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46800 b2dd03c8-39d4-4d...
Eric Wong
07:38 AM Revision f0a69830 (git): * README.md: fix slight grammatical error by @abwinkler999.
[fix GH-659]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
07:01 AM Revision 499f6d62 (git): vm_core.h (struct rb_iseq_struct): stack_max is uint32_t
* vm_core.h (struct rb_iseq_struct): stack_max is uint32_t
No program will ever need more than a few megabytes of stack,
so there's no sense in using a 64-bit counter for stack
accounting. Packing this with the 32-bit type enum re...
Eric Wong
01:56 AM Bug #10008 (Closed): conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
Applied in changeset r46796.
----------
configure.in: exit with failure
* configure.in (rb_cv_broken_backtrace): exit with failure
normally, no needs to abort. [ruby-core:63678] [Bug #10008]
nobu (Nobuyoshi Nakada)
01:52 AM Bug #10008 (Open): conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
nobu (Nobuyoshi Nakada)
01:20 AM Bug #10008 (Rejected): conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
It makes no sense. nobu (Nobuyoshi Nakada)
01:56 AM Revision da16701b (git): * 2014-07-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:56 AM Revision 5e14a4c4 (git): configure.in: exit with failure
* configure.in (rb_cv_broken_backtrace): exit with failure
normally, no needs to abort. [ruby-core:63678] [Bug #10008]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:36 AM Feature #9981 (Closed): Net::SMTP#send_message が大量の write(2) を発行する
hsbt (Hiroshi SHIBATA)

07/12/2014

11:37 PM Bug #10008: conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
If I replace the whole test for "broken backtrace" with a hardcoded value, then I can run `./configure` without a crash.
See my proof of concept patch (attached) which can be compared to tag v2_1_2 in git.
jaredbeck (Jared Beck)
11:13 PM Bug #10008: conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
> Which conftest?
I think conftest is defined in the `configure` script. For me, it's around line 20376, which looks like:
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
Furthermore, line 20389 defines a `sigsegv` function.
...
jaredbeck (Jared Beck)
10:56 PM Bug #10008: conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
Simpler steps to reproduce:
1. Download ruby 2.1.2 source
2. ./configure
So, I don't think this has anything to do with ruby-build :)
jaredbeck (Jared Beck)
10:32 PM Bug #10008: conftest crashed: installing mri 2.1.2: EXC_BAD_ACCESS (SIGABRT)
Steps to reproduce:
1. rbenv uninstall 2.1.2
2. rbenv install 2.1.2
Crash dump:
https://gist.github.com/jaredbeck/127e61aa73a16c614b6d
ruby_build log:
https://gist.github.com/jaredbeck/3f6de8e3e432a51ae707
versions:
gcc...
jaredbeck (Jared Beck)
02:49 PM Revision 8a29da3b (git): win32/configure.bat: check directory
* win32/configure.bat: bail out if run in win32 directory.
[ruby-core:63648] [Bug #10027]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:48 PM Bug #10027 (Rejected): make at windows , err : _rb_file_expand_path_internal already defined in file. obj
nobu (Nobuyoshi Nakada)
02:05 PM Bug #10027: make at windows , err : _rb_file_expand_path_internal already defined in file. obj
kk kk wrote:
> G:\ruby-2.1.2\win32>nmake
You should follow README.win32 and configure and nmake from parent folder, not from win32.
I.e. inside G:\ruby-2.1.2 call win32\configure.bat and then do nmake from same source code root. N...
tag (Andrii Tereshchenko)
06:17 AM Revision 2822bd29 (git): * ext/win32ole/win32ole.c (fole_record_method_missing): correct
fields Hash key.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
suke (Masaki Suketa)
05:11 AM Bug #9985 (Closed): Gems documenation is not generated when installing local gem with --ignore-dependencies option
zzak (zzak _)

07/11/2014

10:31 PM Bug #10009: IO operation is 10x slower in multi-thread environment
Alexandre Riveira wrote:
> Eric Wong wrote:
> ...
Tests completes, my system without changes join stress tests 30 secons for load page, after changes, pages loading in instant all pages loading in less than 1 second.
ariveira (Alexandre Riveira)
08:34 PM Bug #10009: IO operation is 10x slower in multi-thread environment
Eric Wong wrote:
>
> ...
Hello Eric!!!!
I stayed enjoyed the result of change TIME_QUANTUM_USEC. Changed its value to 1000 only see the results:
ruby 2.
first 17434583
second 2754 <=============
third 16752441
If you have ...
ariveira (Alexandre Riveira)
07:22 PM Revision 00eb7203 (git): * lib/net/smtp.rb (Net::SMTP#data): enable buffering while
'data' send for optimizing Net::SMTP#send_message.
[ruby-dev:48329] [misc #9981]
patch by Masahiro Tomita.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
kosaki (Motohiro KOSAKI)
07:19 PM Feature #9981 (Assigned): Net::SMTP#send_message が大量の write(2) を発行する
コードは問題なさそうに見えるし、賛成意見もついているし、メンテナがいないモジュールのようなので、
代理コミットしときますね。
kosaki (Motohiro KOSAKI)
02:22 PM Feature #9981: Net::SMTP#send_message が大量の write(2) を発行する
In message <redmine.journal-47699.20140711064732.e1bfc429d603f917@ruby-lang.org>
on Fri, 11 Jul 2014 06:47:32 +0000,
shibata.hiroshi@gmail.com wrote:
> Issue #9981 has been updated by Hiroshi SHIBATA.
>
>
> どなたか SMTP にお詳しい方はいら...
taca (Takahiro Kambe)
06:47 AM Feature #9981: Net::SMTP#send_message が大量の write(2) を発行する
どなたか SMTP にお詳しい方はいらっしゃいませんか. hsbt (Hiroshi SHIBATA)
04:42 PM Bug #10020: TestEnv#test_memory_leak_*, Fiddle::TestPointer#test_no_memory_leak, and Test_StringModifyExpand#test_modify_expand_memory_leak on Solaris
r46791 にて、Solaris 9 以降で、以下を満たす場合に、それらの環境変数をセットして invoke_ruby するように変更しました。
* 環境変数 LD_PRELOAD, LD_PRELOAD_64 (または LD_PRELOAD_32), UMEM_OPTIONS がセットされていない
* LD_PRELOAD=libumem.so UMEM_OPTIONS=backend=mmap を付けてrubyを実行して正常終了
* テストケース独自に、...
ngoto (Naohisa Goto)
04:32 PM Bug #10020 (Closed): TestEnv#test_memory_leak_*, Fiddle::TestPointer#test_no_memory_leak, and Test_StringModifyExpand#test_modify_expand_memory_leak on Solaris
Applied in changeset r46791.
----------
* test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,
if possible, execute child ruby with environment variables
LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these
...
ngoto (Naohisa Goto)
12:11 PM Bug #10020: TestEnv#test_memory_leak_*, Fiddle::TestPointer#test_no_memory_leak, and Test_StringModifyExpand#test_modify_expand_memory_leak on Solaris
TestEnv#test_memory_leak_* に関しては、
Illumos(旧OpenSolaris)のソース usr/src/lib/libc/port/gen/getenv.c を見る限り、
setenv() 内で malloc にて確保した領域を unsetenv() で free する事は無いように見えます。
つまり、少なくとも Solaris 10 / Illumos では、setenv(3C) と unsetenv(3C) を繰り返すと(mal...
ngoto (Naohisa Goto)
04:32 PM Revision f11c30e8 (git): * 2014-07-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:32 PM Revision ca1c23e2 (git): * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,
if possible, execute child ruby with environment variables
LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these
variables, freed memory is immediately returned to the OS.
[Bug #10020] [ruby-dev:48391]
git-svn-id: svn+ssh...
ngoto (Naohisa Goto)
02:10 PM Revision 47adf570 (git): symbol.c: remove dependency on parse.h
* symbol.c (op_tbl): remove non-regular symbols.
* symbol.c (global_symbols): start from the next of the preserved
ID.
* symbol.c: (rb_id2str): op_tbl does not exceed tLAST_OP_ID.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46...
nobu (Nobuyoshi Nakada)
02:10 PM Bug #9499: The Vector.cross_product function returns the opposite vector of the expected result
backported at r46789. nagachika (Tomoyuki Chikanaga)
02:09 PM Bug #9499 (Closed): The Vector.cross_product function returns the opposite vector of the expected result
Applied in changeset ruby-21:r46789.
----------
merge revision(s) r46780: [Backport #9499]
* lib/matrix.rb: Fix sign for cross_product [#9499]
nagachika (Tomoyuki Chikanaga)
02:08 PM Revision feea0a9e (git): merge revision(s) r46780: [Backport #9499]
* lib/matrix.rb: Fix sign for cross_product [#9499]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nagachika (Tomoyuki Chikanaga)
01:58 PM Revision f063a0b5 (git): fix plural form [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
01:52 PM Revision d33d22c7 (git): parse.y: rename Init_parser
* parse.y (rb_init_parse): rename to get rid of name clash with
json/parser at statically linking.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:51 AM Revision 803232c8 (git): * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:50 AM Revision 61087704 (git): * ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to support
VT_RECORD OLE variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
suke (Masaki Suketa)
11:39 AM Bug #10029: miss probes.h when nmake
How did you get the source, and what is the exact revision? nobu (Nobuyoshi Nakada)
08:53 AM Bug #10029: miss probes.h when nmake
```
G:\ruby-2.1.2>nmake array.obj -n
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
echo compiling array.c
cl -nologo -MD -Zi -W2 -O2...
sevk (kk kk)
08:50 AM Bug #10029: miss probes.h when nmake
The version 6.00.8168.0 of nmake.exe is a part of Visual Studio 6.0.
It seems that ruby-2.1.2 cannot be built with Visual C++ 6.0.
phasis68 (Heesob Park)
08:31 AM Bug #10029: miss probes.h when nmake
Nobuyoshi Nakada wrote:
> I can't reproduce your environment.
Me too.
usa (Usaku NAKAMURA)
08:23 AM Bug #10029 (Feedback): miss probes.h when nmake
I can't reproduce your environment.
probes.h should be copied from probes.dmyh.
~~~
> nmake array.obj -n
echo copying dummy probes.h
if exist probes.dmyh ( @ copy > nul probes.dmyh probes.h ) else ( @ copy > nul .....
nobu (Nobuyoshi Nakada)
08:10 AM Bug #10029 (Closed): miss probes.h when nmake
```
G:\ruby-2.1.2>nmake
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
CC = cl -nologo
LD = cl -nologo
LDSHARED = cl -nologo ...
sevk (kk kk)
08:16 AM Revision 28cdf9b1 (git): * lib/abbrev.rb: remove executable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
08:02 AM Bug #10028 (Rejected): nested rest keyword argument
ネストしたrest argumentは通りますが
~~~ruby
def f((*a)) end
~~~
ネストしたrest keyword argumentはsyntax errorになります。
~~~ruby
def f((**a)) end #=> syntax error, unexpected **arg
~~~
nobu (Nobuyoshi Nakada)
07:54 AM Bug #10027 (Feedback): make at windows , err : _rb_file_expand_path_internal already defined in file. obj
I can't reproduce it.
Could you try `nmake V=1`?
nobu (Nobuyoshi Nakada)
12:55 AM Bug #10027 (Rejected): make at windows , err : _rb_file_expand_path_internal already defined in file. obj
```
G:\ruby-2.1.2\win32>nmake
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
CC = cl -nologo
LD = cl -nologo
LDSHARED = cl -n...
sevk (kk kk)
07:51 AM Bug #6716 (Closed): FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる
Applied in changeset r46783.
----------
* lib/fileutils.rb: handle ENOENT error with symlink targeted to
non-exists file. [ruby-dev:45933] [Bug #6716]
hsbt (Hiroshi SHIBATA)
07:51 AM Revision c2eac0e7 (git): * lib/fileutils.rb: handle ENOENT error with symlink targeted to
non-exists file. [ruby-dev:45933] [Bug #6716]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
07:07 AM Bug #9775 (Feedback): Segmentation Fault
hsbt (Hiroshi SHIBATA)
07:00 AM Bug #9901 (Closed): Clarify documentation for Array#insert
Applied in changeset r46782.
----------
* array.c: Clarify documentation for Array#insert.
[ruby-core:62934] [Bug #9901]
hsbt (Hiroshi SHIBATA)
07:00 AM Revision 94bbd10e (git): * array.c: Clarify documentation for Array#insert.
[ruby-core:62934] [Bug #9901]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
06:57 AM Feature #9916 (Assigned): Hide Struct internal
hsbt (Hiroshi SHIBATA)
06:52 AM Bug #9950 (Feedback): Segmentation fault in DateTime class
hsbt (Hiroshi SHIBATA)
06:50 AM Feature #9963 (Feedback): Symbol.count
hsbt (Hiroshi SHIBATA)
06:41 AM Bug #10012 (Closed): Improve Documentation for IO.read
Applied in changeset r46781.
----------
* io.c: Improve Documentation by @dapplebeforedawn.
[fix GH-658] [ruby-core:63579] [Bug #10012]
hsbt (Hiroshi SHIBATA)
06:41 AM Revision dcf296f7 (git): * io.c: Improve Documentation by @dapplebeforedawn.
[fix GH-658] [ruby-core:63579] [Bug #10012]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
05:19 AM Revision 72d05366 (git): * lib/matrix.rb: Fix sign for cross_product [#9499]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Marc-Andre Lafortune
02:13 AM Revision 9412551e (git): * benchmark/prepare_so_k_nucleotide.rb: use require_relative.
* benchmark/prepare_so_reverse_complement.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
02:04 AM Bug #10026 (Feedback): Segmentation fault
Probably `malloc_usable_size` would access the pointer - 8, that means `ruby_xfree` was called with `(void *)1`.
Does this happen with the trunk and recent 2.1 snapshots as the target version is set to `current: 2.2.0`?
nobu (Nobuyoshi Nakada)
01:09 AM Bug #10019 (Closed): segmentation fault/buffer overrun in pack.c (encodes)
Applied in changeset r46778.
----------
pack.c: fix buffer overrun
* pack.c (encodes): fix buffer overrun by tail_lf. Thanks to
Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019]
nobu (Nobuyoshi Nakada)
01:09 AM Revision 8a608d2b (git): pack.c: fix buffer overrun
* pack.c (encodes): fix buffer overrun by tail_lf. Thanks to
Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:41 AM Bug #10011: Passing a string to Pathname#relative_path_from results in NoMethodError
OK I will update to TypeError - the method argument does need to support the Pathname interface.
As for the subclass - yes that is mostly it. It's a small detail.
Thanx for the feedback.
leriksen (Leif Eriksen)

07/10/2014

11:52 PM Bug #10026: Segmentation fault
eberner@gmail.com wrote:
> Here is the Other runtime information
>
> https://gist.github.com/maletor/df43091aca5e9b7ee534

URL seems invalid.

> -- C level backtrace information -------------------------------------------
> /ho...
normalperson (Eric Wong)
11:36 PM Bug #10026: Segmentation fault
Here is the Other runtime information
https://gist.github.com/maletor/df43091aca5e9b7ee534
maletor (Ellis Berner)
11:30 PM Bug #10026 (Closed): Segmentation fault
The following segmentation fault is from running tests with RSpec on a somewhat large test suite. The results of the test are always printed *before* the segmentation fault.
~~~
/home/ubuntu/doximity/vendor/bundle/ruby/2.1.0/bin/rspe...
maletor (Ellis Berner)
11:48 PM Bug #10011: Passing a string to Pathname#relative_path_from results in NoMethodError
At the end of the day, I just want something more friendly than a `NoMethodError` from inside the method, so I won't stand in the way of progress, but...
>1. I didn't want to call Pathname::new if we already had been passed a Pathname...
Anonymous
11:19 PM Bug #10011: Passing a string to Pathname#relative_path_from results in NoMethodError
I agree with the confusion - initially I thought :to_path could be used, but despite its name it returns a string, hence the suggestion for :to_pathname, that allows things to implement a way to have themselves converted to a Pathname.
...
leriksen (Leif Eriksen)
03:25 PM Bug #10011: Passing a string to Pathname#relative_path_from results in NoMethodError
I don't think we should add a method to String; there is an existing path coercion protocol (`to_path` and `File.path`) and even though String does not implement `to_path`, I think having a `to_pathname` would be confusing.
Anyway, co...
Anonymous
08:08 AM Bug #10011: Passing a string to Pathname#relative_path_from results in NoMethodError
ok so I have 2 possible fixes, one of which I've implemented
The unimplemented fix is maybe a new method along the lines of to_s, but for paths, called to_pathname. Then we could reopen String and define
clas String
def to_pathna...
leriksen (Leif Eriksen)
08:46 PM Bug #7707: FileUtils.mv fails to move symlink between filesystems
In Homebrew, we have code that works around this by shelling out to `mv` when necessary. It would be nice to have this fixed. Anonymous
06:45 PM Bug #10025 (Closed): Incorrect wrapping of base64 output of Array.pack()
String format directive `m` for Array `pack()` is documented as:
~~~
m | String | base64 encoded string (see RFC 2045, count is width)
| | (if count is 0, no line feed are added, see RFC 4648)
~~~
...
thoger (Tomas Hoger)
06:22 PM Bug #10019: segmentation fault/buffer overrun in pack.c (encodes)
Nobuyoshi Nakada wrote:
> But if `tail_lf` is 1, `len` is a multiple of 3, so it can't be 3070.
`len` in `encodes()` can be anything between 1 and `len` from `pack_pack()` (which is a multiple of 3). It is possible to trigger mentio...
thoger (Tomas Hoger)
01:32 PM Bug #10019: segmentation fault/buffer overrun in pack.c (encodes)
Am I missing something? nobu (Nobuyoshi Nakada)
01:23 PM Bug #10019: segmentation fault/buffer overrun in pack.c (encodes)
But if `tail_lf` is 1, `len` is a multiple of 3, so it can't be 3070. nobu (Nobuyoshi Nakada)
09:28 AM Bug #10019: segmentation fault/buffer overrun in pack.c (encodes)
... and type is not 'u'. mtasaka (Mamoru TASAKA)
09:24 AM Bug #10019: segmentation fault/buffer overrun in pack.c (encodes)
Looking at encodes(), it seems at least when
* len = 3070 (= ((4096 - 4) / 4 * 3 + 1))
* tail_lf = 1
encodes() causes segv at https://github.com/ruby/ruby/blob/trunk/pack.c#L987
mtasaka (Mamoru TASAKA)
04:36 PM Bug #10024 (Rejected): Array injection of ternary operators injects boolean rather than ternary result
`<<` and `>>` are shift operators primarily, and have higher precedence. nobu (Nobuyoshi Nakada)
04:28 PM Bug #10024: Array injection of ternary operators injects boolean rather than ternary result
The `#<<` has a higher precedence than the ternery operator. Using #<<= seems to make it work just fine. pducks32 (Patrick Metcalfe)
03:40 PM Bug #10024 (Rejected): Array injection of ternary operators injects boolean rather than ternary result
The following code:
```ruby
a = []
a << ''.blank? ? 'blank' : 'not blank'
puts a
```
renders `[true]`.
I would expect it to render `['blank']`
If I wrap it in parenthesis it does work.
```ruby
a = []
a << ( ''.blank?...
blainekasten@gmail.com (Blaine Kasten)
03:22 PM Revision 70451a56 (git): * 2014-07-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:22 PM Revision 90b1b2e6 (git): * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9.
When name contains '=', ruby_setenv raises Errno::EINVAL.
That is the same behavior as Solaris 10.
NULL check for malloc return value is also added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46776 b2dd03c8-39d4-4d8f-98ff-82...
ngoto (Naohisa Goto)
01:44 PM Bug #10023 (Rejected): Hash#merge fails duplicating objects
Not a bug.
`A[:b]` and `c[:b]` refer the same object.
Check its `object_id`.
nobu (Nobuyoshi Nakada)
01:44 PM Bug #10023: Hash#merge fails duplicating objects
Please, note that only Rails' `deep_dup` seems helpful to workaround the issue coyote (Alexey Babich)
01:42 PM Bug #10023: Hash#merge fails duplicating objects
The same with duplication
>> c=A.dup #same .clone
=> {:b=>{}}
> ...
=> {:b=>{}, :c=>{:d=>"e"}}
>> c[:b][:d] = 'bug'
=> "bug"
> ...
=> {:b=>{:d=>"bug"}}
coyote (Alexey Babich)
01:38 PM Bug #10023: Hash#merge fails duplicating objects
Please, also note that Rails' `deep_merge` does not help coyote (Alexey Babich)
01:36 PM Bug #10023 (Rejected): Hash#merge fails duplicating objects
Here is an example in IRB (ruby 2.1.2):
>> A={b:{}}
=> {:b=>{}}
> ...
=> {:b=>{}, :c=>{:d=>"e"}}
>> c[:b][:d] = "f"
=> "f"
> ...
=> {:b=>{:d=>"f"}}
Every key, value pair is expected to be duplicated during the merge? Please, inv...
coyote (Alexey Babich)
10:55 AM Bug #9985: Gems documenation is not generated when installing local gem with --ignore-dependencies option
Fixed: https://github.com/rubygems/rubygems/commit/c16846bf9e0b90521029f0d743620f138ee2236e Pulfer (Andrey Bondrov)
07:11 AM Feature #8895: Destructuring Assignment for Hash
+1 for this proposal.
I feel it is fine for me:
```ruby
k1: 1, k2: 2 = h
kr1:, kr2: = h
#=> same as
k1 = h.fetch(:k1, 1)
k2 = h.fetch(:k2, 2)
kr1 = h.fetch(:k1)
kr2 = h.fetch(:k2)
# mixed
k1: 1, k2: 2...
ko1 (Koichi Sasada)
06:04 AM Bug #10009: IO operation is 10x slower in multi-thread environment
Alexandre Riveira wrote:
> information that I consider important
> ...
My results kernel linux BFS/CK + taskset
first 103214331
second 2762 <======
third 24259986
ariveira (Alexandre Riveira)
06:03 AM Bug #10016 (Closed): Destructuring block arguments with a Hashable last element
Applied in changeset r46775.
----------
vm_insnhelper.c: fix implicit splat keyword argument
* vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack
pointer to get rid of overwriting splat arguments by arguments
for `to_ha...
nobu (Nobuyoshi Nakada)
06:02 AM Revision 813ad489 (git): vm_insnhelper.c: fix implicit splat keyword argument
* vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack
pointer to get rid of overwriting splat arguments by arguments
for `to_hash` conversion. [ruby-core:63593] [Bug #10016]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tr...
nobu (Nobuyoshi Nakada)
04:17 AM Revision 01bced94 (git): fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
03:24 AM Revision ef3ff649 (git): gc.c: fix typo
* gc.c (global_list): fix typo, capital 'L'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:49 AM Feature #10018: Consider adding Sub-Includes as in include Foo::bar
And method transplanting only works when the method does not call super nor other Enumerable methods.
Automatic resolving is possible, but it would make inclusion far more complex.
Matz.
matz (Yukihiro Matsumoto)
12:45 AM Bug #10022 (Rejected): Inconsistent behavior of gsub replacement
The second argument is evaluated **before** calling `gsub` method.
Call it with a block:
~~~ruby
puts str.gsub(/(CFBundleVersion<\/key>\n\t.*\.).*(<\/string>)/) {"#{$1}#{ver}#{$2}"}
~~~
nobu (Nobuyoshi Nakada)
12:39 AM Bug #10022 (Rejected): Inconsistent behavior of gsub replacement
In the following code, the two gsub's yield different results. ([[https://gist.github.com/franklsf95/6c0f8938f28706b5644d]])
~~~ruby
ver = 9999
str = "\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleVer...
franklsf95 (Frank Luan)

07/09/2014

08:38 PM Bug #10021: OptParse does not handle missing arguments bracketed by valid option switches
When I try this:

~~~
--re-run x -r --rerun y -- file
~~~
Then I see this
~~~
:in `eval': Only one output filename is permitted (RuntimeError)
~~~
From which I infer that -r has 'eaten' --rerun as its argument and...
byrnejb (James Byrne)
08:21 PM Bug #10021 (Closed): OptParse does not handle missing arguments bracketed by valid option switches
OS=CentOS-6.5 x86_64
Ruby=2.1.2p95
I have this in an optparse structure:
# Create parser
opts = OptionParser.new do |opts|
opts.banner = <<-BANNER
. . .
opts.on("-r", "--rerun=DATEorTRANSACTION", "-...
byrnejb (James Byrne)
07:28 PM Feature #10017: Add `Hash#fetch_values`
Please consider the name `fetch_at` carefully: it seems easily confused with `fetch` (1 key), and the name doesn't hint that it's for multiple keys. (`values_at` is plural, so it gives a good clue.) Maybe `fetch_values`? avit (Andrew Vit)
07:00 PM Feature #10017: Add `Hash#fetch_values`
I attached another patch calling this method fetch_at and I also added missing tests (I couldn't change issue title & body to reflect this changes, though).
Also, perhaps out of scope for this ticket but I'm wondering what're your tho...
wojtekmach (Wojtek Mach)
02:12 PM Feature #10017: Add `Hash#fetch_values`
+1 for `fetch_at`. nobu (Nobuyoshi Nakada)
04:04 AM Feature #10017: Add `Hash#fetch_values`
`fetch_at` sounds much better than values_at! to me. shyouhei (Shyouhei Urabe)
06:43 PM Bug #10015: Performance regression in Dir#[]
Btw, you're already paying significant costs for a case-insensitive FS
(not just Ruby, but things like git, too).
normalperson (Eric Wong)
04:05 PM Bug #10015: Performance regression in Dir#[]
Thanks nobu, I really appreciate it! If it can't be fixed, I have ideas for avoiding the calls to Dir#[], but it will take time to get merged and released. tenderlovemaking (Aaron Patterson)
03:59 PM Bug #10015: Performance regression in Dir#[]
It might affect unintentionally.
I'll check the bottleneck.
nobu (Nobuyoshi Nakada)
03:25 PM Bug #10015: Performance regression in Dir#[]
@nobu this change causes a significant increase in Rails boot time on my system.
My application pays a 120ms price for this change. @hsbt will pay 520ms:
http://twitter.com/hsbt/status/486378979138367488
Is there a way we can...
tenderlovemaking (Aaron Patterson)
08:08 AM Bug #10015: Performance regression in Dir#[]
Yes.
Or use case-sensitive platforms.
nobu (Nobuyoshi Nakada)
05:06 PM Bug #10019 (Feedback): segmentation fault/buffer overrun in pack.c (encodes)
`encodes()` fills and flush `buff` gradually by the buffer size.
Could you show the message at the segmentation fault?
Anyway, your patch includes unnecessary garbage.
nobu (Nobuyoshi Nakada)
02:40 PM Bug #10019 (Closed): segmentation fault/buffer overrun in pack.c (encodes)
While working with an AWS sample I hit a segmentation fault. The same sample works under 1.9.3. It appeared to be coming from pack.c function encodes. After looking at the source there's a 4K buffer allocated on the stack. I made a m... wkwood (Will Wood)
04:19 PM Revision 96815f1e (git): * symbol.c: remove rb_gc_mark_symbols().
fstrings refered by static symbols and pinned dynamic symbols
are registerd by rb_gc_register_mark_object().
frstring refered by dynamic symbols (not pinned symbols)
are refered from global_symbols.dsymbol_fstr_hash (Hash object).
...
ko1 (Koichi Sasada)
03:29 PM Revision 996ff907 (git): * 2014-07-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:28 PM Revision 60ee5e03 (git): * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solaris
introduced in r46768. Object files containing dtrace probes should
be listed in DTRACE_DEPENDENT_OBJS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ngoto (Naohisa Goto)
03:16 PM Bug #10020 (Closed): TestEnv#test_memory_leak_*, Fiddle::TestPointer#test_no_memory_leak, and Test_StringModifyExpand#test_modify_expand_memory_leak on Solaris
Solaris 10 にて、以下のように memory leak 検出テストの Failure が出ます。(r46762 で確認)
Solarisデフォルトのlibcのmallocでは、freeしてもOSにメモリを返さないのが原因と考えています。
メモリ関係デバッグ用のライブラリ libumem を使い、UMEM_OPTIONS=backend=mmap を指定すると、freeしたら直ちにOSにメモリを返すようになるようです。
dynamic link な...
ngoto (Naohisa Goto)
02:51 PM Revision 90173785 (git): random.c: fix casts
* random.c (fill_random_seed): fix type to cast. this may or may
not suppress warnings by icc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:55 PM Feature #10018 (Feedback): Consider adding Sub-Includes as in include Foo::bar
You can achieve it by "method transplanting".
~~~ruby
class Foo
define_method(:any?, Enumerable.instance_method(:any?))
end
~~~
Wrapper method like `Module#mix` may help you.
http://www.slideshare.net/yukihiro_matz/rubyconf-...
nobu (Nobuyoshi Nakada)
11:49 AM Feature #10018: Consider adding Sub-Includes as in include Foo::bar
Oops sorry!
This is not a bug, it is a feature request.
I am not sure how to move it to features now, sorry. :(
shevegen (Robert A. Heiler)
11:48 AM Feature #10018 (Feedback): Consider adding Sub-Includes as in include Foo::bar
On IRC someone asked a nice question:
> \<arup_r\> If I write `class Foo; include Enumerable; end` This code include all methods from `Enumerable`. But suppose I want to include `#all?`, `#any?` .. What's the way to include only req...
shevegen (Robert A. Heiler)
11:32 AM Bug #10010 (Closed): Error in TestEnv#test_memory_leak_* on Solaris
r46762 fix this issue ngoto (Naohisa Goto)
11:31 AM Bug #10016: Destructuring block arguments with a Hashable last element
Elements expanded on the VM stack are overwritten by calling `to_hash` method. nobu (Nobuyoshi Nakada)
08:07 AM Revision 94ce4812 (git): symbol.c, symbol.h: split from parse.y
* symbol.c, symbol.h: Symbol class implementation and internals,
split from parse.y.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:31 AM Revision d299250a (git): parse.y: adjust argument types
* parse.y (symbols_i): adjust argument types for st_foreach()
using st_data_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:19 AM Revision 92a04a49 (git): io.c: refine error message
* io.c (do_io_advise): more precise error message, with arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:19 AM Revision 209314c2 (git): test_io.rb: fix assertion
* test/ruby/test_io.rb (test_advise): fix inverted arguments order
by assert_nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:16 AM Bug #10014 (Closed): Do not expose no-pinned down IDs
Applied in changeset r46764.
----------
* parse.y: change Symbol <-> ID relationship to avoid
exposing IDs from collectable symbols.
[Bug #10014]
Now, rb_check_id() returns 0 if corresponding symbol is
pinned dynamic symbol.
T...
ko1 (Koichi Sasada)
01:46 AM Bug #10014: Do not expose no-pinned down IDs
パッチ作成と内容説明ありがとうございます。賛成します。 authorNari (Narihiro Nakamura)
06:14 AM Revision 76a929a7 (git): * parse.y: change Symbol <-> ID relationship to avoid
exposing IDs from collectable symbols.
[Bug #10014]
Now, rb_check_id() returns 0 if corresponding symbol is
pinned dynamic symbol.
There is remaining intern_cstr_without_pindown(), it can return
IDs from collectable symbols. We...
ko1 (Koichi Sasada)
05:00 AM Revision 37f018fd (git): * parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ko1 (Koichi Sasada)
02:31 AM Revision 9db5a7f8 (git): require "rbconfig" to use RbConfig
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
01:46 AM Bug #10009: IO operation is 10x slower in multi-thread environment
information that I consider important
Kernels BFS and ruby 1.9.2 work fine as if applied taskset.
Other kernels like freebsd and macos with ruby 1.9.2 has similar behavior.
http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler
https:/...
ariveira (Alexandre Riveira)
01:28 AM Bug #10009: IO operation is 10x slower in multi-thread environment
My application is not web-site is an ERP. So reporting and very heavy tasks are performed. Then the system crashes because only one thread using 100% cpu will damage the whole worker, passing any request for at least 2 seconds, then the ... ariveira (Alexandre Riveira)

07/08/2014

10:38 PM Feature #8788: use eventfd on newer Linux instead of pipe for timer thread
Updated patch (from testing for #10009).
Uploading for archival purposes. This version is probably less intrusive and
falls back to pipe in case of ENOSYS (in case glibc supports eventfd and the
kernel has eventfd disabled).
Thi...
normalperson (Eric Wong)
10:37 PM Feature #10017 (Closed): Add `Hash#fetch_values`
I'm proposing to add a new method `Hash#values_at!` that's basically a combination of `#values_at` and `#fetch`.
When dealing with configuration I prefer to use `#fetch` to fail early and this would be useful to read multiple keys at ...
wojtekmach (Wojtek Mach)
09:55 PM Bug #10016 (Closed): Destructuring block arguments with a Hashable last element
The following code:
~~~ruby
# destructure_bug.rb
def m
x = Object.new
def x.to_hash() {x: 9} end
yield [1, 2, 3, x]
end
p m { |a, *b, c, **k| [a, b, c, k] }
~~~
gives:
~~~
$ ruby -v destructure_bug.rb
ruby 2.1....
brixen (Brian Shirai)
08:50 PM Revision b10058ae (git): thread_pthread.h: do not expose pthread type for lock
* thread_pthread.h (struct rb_global_vm_lock_struct):
do not expose pthread type for lock
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:47 PM Revision 3e14cdc4 (git): thread_pthread.h: remove unneeded semaphore.h include
* thread_pthread.h: remove unneeded semaphore.h include
We currently do not use POSIX semaphores.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:37 PM Bug #10009: IO operation is 10x slower in multi-thread environment
eventfd doesn't help performance (but still reduces FD count),
I never expected eventfd to improve speed, though.
Lowering TIME_QUANTUM_USEC (in thread_pthread.c) helps with the I/O case
(try it yourself if you have a 1000HZ kernel)...
normalperson (Eric Wong)
09:56 AM Bug #10009: IO operation is 10x slower in multi-thread environment
Eric Wong wrote:
> I'll try resurrecting an old eventfd proposal and maybe also bare futexes
> ...
Tank's Eric,
If an application running Rainbows has only one thread using 100% the worker is affected greatly in the query database. ...
ariveira (Alexandre Riveira)
01:21 AM Bug #10009: IO operation is 10x slower in multi-thread environment
I'll try resurrecting an old eventfd proposal and maybe also bare futexes
to see if that improves things.
normalperson (Eric Wong)
05:43 PM Bug #10015 (Closed): Performance regression in Dir#[]
r44802 seems to have introduced a performance regression in Dir#[].
Here is the test program:
~~~ruby
require 'benchmark'
puts Benchmark.realtime {
glob = "minitest/*_plugin.rb{,.rb,.bundle}"
$LOAD_PATH.map { |load_path|
...
tenderlovemaking (Aaron Patterson)
03:32 PM Bug #9975: irb で Hash を 1.9 記法で記述したときに、キーがキーワードだと syntax error
けいじゅ@いしつかです.

takkanm@gmail.com wrote:

> Issue #9975 has been reported by 三村 益隆.

> irb で Hash を 1.9 記法で記述したとき、以下の end を伴なうキーワードをキーとして使用するとエラーとなります。
>
> ~~~
> if do case def for unless until while begin

確かにバグですが...

> 添付...
keiju (Keiju Ishitsuka)
03:19 PM Revision a402e84e (git): * 2014-07-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:19 PM Revision 44ab0f8b (git): * lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e keiju (Keiju Ishitsuka)
01:14 PM Revision aae3bcbc (git): fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:12 PM Feature #9997: Specifying non volatile registers for increase performence in ppc64
Hi Nobuyoshi, yes, my mistake. The correct results are the ones I added later.
I'm attaching the results for the "Computer Language Benchmarks Game" as well. Check the time enhancement.
lbianc (Leonardo Bianconi)
11:33 AM Bug #10010 (Open): Error in TestEnv#test_memory_leak_* on Solaris
r46756 の make test-all にて、同じ Failure がすべての test/ruby/memory_status.rb 関連の場所で出たので再オープンします。
invoke_ruby によって --diable-gems を付けて呼んだ子プロセスの ruby 内で実行される envutil.rb にて、 require 'rbconfig' より前に find_executable が実行されるため、エラーになっているように見えます。(親プロセ...
ngoto (Naohisa Goto)
09:41 AM Bug #10010: Error in TestEnv#test_memory_leak_* on Solaris
以下のように test/ruby/test_env.rb を実行すると、なぜか、
uninitialized constant EnvUtil::RbConfig (NameError) になります。
実行に使ったrubyはr46751で、svnレポジトリのローカルコピーr46756 の test/ruby/test_env.rb を相対パス指定にて直接実行した結果のものです。
~~~
$ ruby test/ruby/test_env.rb
Run ...
ngoto (Naohisa Goto)
07:58 AM Bug #10010 (Closed): Error in TestEnv#test_memory_leak_* on Solaris
Applied in changeset r46755.
----------
memory_status.rb: find proper ps
* test/ruby/memory_status.rb (Memory::PSCMD): use ps command which
outputs expected result. [ruby-dev:48370] [Bug #10010]
nobu (Nobuyoshi Nakada)
10:56 AM Bug #10014 (Closed): Do not expose no-pinned down IDs
概要
----
ID と Symbol の関係を整理し、よりバグの少ないコードへと変更する。
現状と問題点
------------
Symbol GC が導入され、Symbol に dynamic symbol と static symbol に別れる
ことになった。
pindown されていない dynamic symbol は、GC 可能であり、ここでは mortal
symbol と呼ぶことにする。
逆に、static s...
ko1 (Koichi Sasada)
08:04 AM Revision 8b427e35 (git): sprintf.c: skip non-interned name
* sprintf.c (rb_str_format): get rid of accessing by symbol of
invalid ID, when the name is not interned.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:58 AM Revision 286eaeb2 (git): memory_status.rb: find proper ps
* test/ruby/memory_status.rb (Memory::PSCMD): use ps command which
outputs expected result. [ruby-dev:48370] [Bug #10010]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:01 AM Revision 65accad3 (git): parse.y: expand is_asgn_or_id
* parse.y (new_op_assign_gen): expand is_asgn_or_id(), which call
id_type() function multiple times now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:48 AM Revision 7defa383 (git): * 2014-07-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:48 AM Revision fd7073f7 (git): * parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0.
* parse.y (dsymbol_check): set RSYMBOL(sym)->fstr to 0
because we should not touch fstr after that.
* parse.y (rb_gc_free_dsymbol): skip deleting str and sym
from tables if fstr == 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tr...
ko1 (Koichi Sasada)
 

Also available in: Atom