Activity
From 07/16/2019 to 07/22/2019
07/22/2019
-
10:44 PM Bug #10443 (Closed): Forking with contended mutex held can lead to deadlock in child process upon unlock
- I think this problem is fixed. The example given works on Linux and OpenBSD. If anyone is still having the problem with the master branch, please post back here.
-
10:12 PM Bug #10433 (Feedback): make test-all stops at [ 401/16011] FTPTest#test_list_read_timeout-exceeded
- Martin, does this still occur on current Cygwin?
-
10:10 PM Bug #10422 (Closed): RDoc for BasicObject has methods that do not exist
- Applied in changeset commit:git|01995df6453de45ba0d99835e26799260517657c.
----------
Document BasicObject does not implement #object_id and #send [ci skip]
Fixes [Bug #10422] -
10:07 PM Revision 01995df6 (git): Document BasicObject does not implement #object_id and #send [ci skip]
- Fixes [Bug #10422]
-
09:59 PM Bug #10390 (Closed): BUG] Segmentation fault at 0xbf3eeedc
-
09:59 PM Bug #10387 (Closed): Overwriting an array variable doesn't release referenced objects
-
09:59 PM Bug #10379 (Closed): Crash in Ruby 2.1.3 (and 2.1-head), works in 2.1.2
-
09:58 PM Bug #10338 (Third Party's Issue): ruby script running gnome-open will crash vim, if the file open by gnome-open is handled by vim
-
09:58 PM Bug #10337 (Third Party's Issue): sqlite3/statement.rb:37: [BUG] Segmentation fault
-
09:57 PM Bug #10334 (Closed): Installation Error
-
09:55 PM Bug #10311 (Closed): Segmentation fault when starting rails server (2.2.0-preview1 & 4.2.0-beta2)
-
09:54 PM Bug #10306 (Closed): BigNum error
-
09:53 PM Bug #10303 (Closed): rb_data_type_t need to be described in README.EXT
- Documented at commit:98544c372d948717de22afc86d162e411f1fb5f1.
-
09:50 PM Bug #10292 (Closed): Rails server suddenly crashes sometimes
-
09:49 PM Bug #10284 (Closed): Segmentation fault on Ruby 2.1.2 and 2.1.3
-
09:49 PM Bug #10253 (Closed): ruby v>= 2.1.2 build fails @ `make install` with error: "integer 8070450537616637957 too big to convert to `int' "; v<= 2.0.0 is OK.
-
09:49 PM Bug #10239 (Closed): Regexp.quote() and default encoding
- Applied in changeset commit:git|32ec6dd5c7cb89979d48100acf8971ac09e0d02e.
----------
Document encoding of string returned by Regexp.quote [ci skip]
Also, remove documentation about returning self, which makes no
sense as self would be ... -
09:43 PM Revision 32ec6dd5 (git): Document encoding of string returned by Regexp.quote [ci skip]
- Also, remove documentation about returning self, which makes no
sense as self would be the Regexp class. It could be interpreted
as return the argument if no changes were made, but that hasn't
been the behavior at least since 1.8.7 (and ... -
09:27 PM Bug #10236 (Closed): [PATCH] test_modify_expand.rb: increase limit for {je,tc}malloc
- This was committed at commit:11548f925390fc72d04be5276bc1fe77f99ddd02.
-
09:25 PM Bug #10170 (Closed): Core dumped when using recursion in define_method
-
09:23 PM Bug #10163 (Closed): Error using spring/rails/rake
-
09:23 PM Bug #10141 (Closed): cannot start rails
-
09:22 PM Feature #10123: Named capture groups don't set local vars when matched using ~
- Looking at the documentation for Regexp#=~ as well as the Capture section of the Regexp class documentation, both of which describe assignment of named captures to local variables, it seems intentional that only the `/(?<some>re)/ =~ str...
-
09:11 PM Bug #10110 (Closed): Exception handling is not well documented
- Applied in changeset commit:git|c1ad6321b03bcf9f96f975bcba7ff1d205990149.
----------
Adjust documentation for Kernel#raise [ci skip]
Mention how each of the arguments are retrievable from the generated
Exception object.
Fixes [Bug #10... -
09:06 PM Bug #10110: Exception handling is not well documented
- Exception#cause was documented at commit:16220d9abbb9ef23b0049b63186da8b814f71a37. I think the points related to Kernel#raise remain valid and will push a commit shortly to address them.
-
09:02 PM Revision c1ad6321 (git): Adjust documentation for Kernel#raise [ci skip]
- Mention how each of the arguments are retrievable from the generated
Exception object.
Fixes [Bug #10110] -
08:41 PM Bug #10091 (Closed): ruby-1.9.3-p0 Error
-
08:41 PM Bug #10076 (Closed): 2nd thread can't get mutex even though 1st thread released it (race)
-
08:39 PM Bug #10045 (Closed): SegFault in BigDecimal in 2.1.2p95
-
08:39 PM Bug #10029 (Closed): miss probes.h when nmake
-
08:38 PM Bug #10026 (Closed): Segmentation fault
-
08:21 PM Revision d2710ba8 (git): Split test/ripper/test_files.rb to run in parallel
-
08:20 PM Revision 11f3da8e (git): Stop packing rb_method_definition_t
- By using `BITFIELD`, `type` field should not be forced to align.
-
07:10 PM Bug #10025 (Closed): Incorrect wrapping of base64 output of Array.pack()
- Applied in changeset commit:git|2f6cc00338826dbaa439a18e4b4f7a19c1f5987a.
----------
Fix documentation for Array#pack m directive count specifier [ci skip]
Fixes [Bug #10025] - 07:10 PM Revision 6b62aa7a (git): * 2019-07-23
-
07:06 PM Revision 2f6cc003 (git): Fix documentation for Array#pack m directive count specifier [ci skip]
- Fixes [Bug #10025]
-
07:05 PM Bug #10019 (Closed): segmentation fault/buffer overrun in pack.c (encodes)
-
07:05 PM Bug #9979 (Closed): Regression: BigDecimal::ROUND_HALF_DOWN/ROUND_HALF_EVEN behave incorrectly
-
07:04 PM Bug #9928 (Closed): Fiddle::TestHandle#test_NEXT fails on AIX due to unexported symbols of extension libraries
-
07:01 PM Bug #9895 (Closed): net/imap stops responding when trying to create a message to an unexisting folder
-
07:00 PM Bug #9594 (Third Party's Issue): Segfault in 2.1.1 follows cont from debugger (Rails 4.0.3, debugger 1.6.6, rspec, os x mavericks 1.9.2)
-
06:55 PM Bug #9505 (Closed): Bug that should cause SystemStackError segfaults under Ruby 2.1
-
06:01 PM Feature #16011: Digit grouping
- ``` ruby
class Integer
def delimited(by: ',', digits: 0, padding: '0', every: 3)
extra_padding_size = digits.to_int - Math.log10(self).floor.succ
extra_padding = if extra_padding_size.positive?
Array.new(extra_paddin... -
04:51 PM Feature #12093: Eval InstructionSequence with binding
- Howdy,
Sorry to ping a 3 year old issue, i Just wanted to add my 2 cents here.
I came across this issue when googling for a way to evaluate an instruction sequence with a particular binding. I'm working on an experimental gem that ... -
09:00 AM Revision 9f9a6dbc (git): Allways fetch the latest commit from default gems repository.
-
08:53 AM Revision 1feda1c2 (git): constify again.
- Same as last commit, make some fields `const`.
include/ruby/ruby.h:
* Rasic::klass
* RArray::heap::aux::shared_root
* RRegexp::src
internal.h:
* rb_classext_struct::origin_, redefined_class
* vm_svar::cref_or_me, lastline, backref, othe... -
08:36 AM Revision 9095ff53 (git): [ruby/date] Describe what is meant by valid in the Date.valid_date? rdoc
- https://github.com/ruby/date/commit/8eca79d1f0
-
08:01 AM Revision f75561b8 (git): constify RHash::ifnone.
- RHash::ifnone should be protected by write-barriers so this field
should be const. However, to introduce GC.compact, the const was
removed. This commit revert this removing `const` and modify
gc.c `TYPED_UPDATE_IF_MOVED` to remove `const... -
04:51 AM Revision d1c2b196 (git): Fixed exception message
-
04:13 AM Bug #9998 (Closed): docs state that define_singleton_method returns a proc if passed a block
- Documentation fixed by commit:ba32b53e4833c128ec6a079fca0e126d1bcd16dd.
-
04:11 AM Bug #9965 (Closed): Segmentation Fault in Ruby
-
04:11 AM Bug #9950 (Closed): Segmentation fault in DateTime class
-
04:10 AM Bug #9958 (Closed): rails server error
-
04:10 AM Bug #9933 (Closed): segmentation fault when running 'gem' (ruby 2.1.2p95)
-
04:09 AM Bug #9899 (Closed): Seg fault on Ruby 2.1.1 with newrelic_rpm
-
04:08 AM Bug #9800 (Closed): Ship 2.1.2 with GC_HEAP_OLDOBJECT_LIMIT_FACTOR of 1.3
-
04:07 AM Bug #9795 (Closed): ruby-head breaks spreadsheet gem
-
04:07 AM Revision f6461fa8 (git): Only the first argument can be --test-target-dir option
- Raise the proper exception when that option is not given but
non-option argument is. -
04:06 AM Bug #9791 (Closed): Segfault using gets() in IRB or with sqlite3 gem
-
04:05 AM Bug #9757 (Closed): Segfault in 2.1.1 from RSpec expect_any_instance_of
-
04:05 AM Bug #9780 (Closed): sysread blocks when reading some files (AIX)
-
04:04 AM Bug #9775 (Closed): Segmentation Fault
-
04:04 AM Bug #9719 (Closed): longjmp causes uninitialized stack frame on threaded procs
-
04:02 AM Bug #9705 (Closed): Installing ruby 2.1.1 fails while compiling (after: rvm install 2.1.1)
-
04:01 AM Bug #9653 (Closed): gc_sweep(): unknown data type 0x0
-
04:00 AM Bug #9598 (Closed): Bug while installing a c-extensions gem
-
03:59 AM Bug #9574 (Closed): Inconsistent behavior between Kernel#Float and to_f
-
03:51 AM Bug #9510 (Closed): push_parser.rb:47: [BUG] Segmentation fault
-
03:50 AM Bug #9480 (Closed): Ruby on windows can get into an infinite loop when exiting
-
03:49 AM Bug #9479 (Closed): IMAP connection failure on Rubinius
-
03:49 AM Bug #9474 (Closed): Segment Fault
-
03:49 AM Bug #9468 (Closed): the Runtime to terminate it in an unusual way.
-
02:05 AM Revision 463092b8 (git): Update rake-12.3.3.
-
01:54 AM Bug #16014 (Third Party's Issue): Ruby-toggle-block of ruby-mode.el not chomping trialing whitespace
- ruby-mode.el has been contributed to GNU Emacs for years ago, and maintained there.
I reported this at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36756 - 01:10 AM Revision f6a7b10a (git): * 2019-07-22
-
01:10 AM Revision 28ae30b6 (git): Run test-tool in the order of the tests
07/21/2019
-
07:21 PM Feature #15923: New independent string without memcpy
- nobu (Nobuyoshi Nakada) wrote:
> It should be OK when passing the buffer from callers, but doesn't work with a library which returns a buffer allocated inside.
> ...
Thanks all, I see. Ruby has some kind of internal memory allocation m... -
01:30 PM Revision 08ea9240 (git): common.mk: `make check` now includes `make test-tool`
- And `make test-tool` includes `make test-testframework`.
This change may be arguable because I'm unsure who is an intended user
of `make check`: a normal user, or Ruby-core developer. Normal users
don't have to run `make test-tool` for... -
10:19 AM Revision 24712eee (git): tool/test/runner.rb: support --test-target-dir option
- tool/test/runner.rb had been copied from test/runner.rb.
test/runner.rb was for `make test-all`, and tool/test/runner.rb was for
`make test-testframework` and `make test-tool`.
But I want to avoid the code clones.
This change makes tool... -
09:08 AM Bug #16014: Ruby-toggle-block of ruby-mode.el not chomping trialing whitespace
- Description
Ruby toggle block not chomping trailing whitespace in block
Reproduction guide
Start Emacs
Create a ruby file
Write a block such as
```ruby
(1..10).map { |number| number * 2 }
```
Use ruby-toggle-block , - T - {
... -
09:04 AM Bug #16014 (Third Party's Issue): Ruby-toggle-block of ruby-mode.el not chomping trialing whitespace
- ## Description
Ruby toggle block not chomping trailing whitespace in block
## Reproduction guide
* Start Emacs
* Create a ruby file
* Write a block such as
`(1..10).map { |number| number * 2 }`
* Use `ruby-toggle-block` , - ... - 12:47 AM Revision 523fec8a (git): * 2019-07-21
-
12:46 AM Revision d285579e (git): Update simplecov and doclie to the latest version.
07/20/2019
-
10:58 PM Feature #15631: Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
- Pavel added a new patch for `get_power2` in https://github.com/ruby/ruby/pull/2292
-
01:59 AM Feature #15631: Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
- It should use `SIZEOF_ST_INDEX_T` and `nlz_intptr`.
- 07:44 AM Revision c584dd84 (git): Move travis coroutine check to cron only.
-
06:45 AM Revision e7b5b914 (git): --debug was not functional either
- Even after 19d592dc82a31adf0bb6f027392cae69615c2394, the retry seems not
functional. Let's just add --debug from the beginning because an output
of each step is collapsed and we don't see `make up` output so often. -
06:43 AM Revision 81fc3bec (git): file.c: add a NORETURN declaration for statx_notimplement
- clang complains the lack.
-
06:33 AM Revision 1392b821 (git): Explain what's benchmark/lib/load.rb [ci skip]
- I'm actually not using this, but ko1 is.
-
06:27 AM Revision 56b957e8 (git): Upgrade benchmark-driver.gem again
- because v0.14.18 was actually not working with `make run`.
In `make run`, `Gem` is defined but `Gem::Version` isn't.
v0.14.19 checks `defined?(Gem::Version)` instead of `defined?(Gem)`. -
06:13 AM Revision 8a38eff2 (git): Upgrade benchmark-driver.gem version
- This is to make `make run` with benchmark/lib/load.rb work for ko1
https://github.com/benchmark-driver/benchmark-driver/compare/v0.14.17...v0.14.18 -
04:29 AM Bug #9512 (Closed): Segmentation fault for eventmachine 1.0.3 in rubyeventmachine.bundle on Ruby 2.0.0p353
-
04:29 AM Bug #9467 (Closed): Net::HTTP does unzip zipped content
-
04:26 AM Bug #9437 (Closed): Build of ruby 2.1.0 fails on AIX 6.1
-
03:53 AM Bug #9434 (Closed): Segfault on bundle exec rackup of a Sinatra app
-
03:53 AM Bug #9389 (Closed): ruby crashed when crash in gsub function on LARGE string.
-
03:52 AM Bug #9378 (Closed): Ubuntu 13.10, installed dtrace4linux, now ruby install consistently fails with SEGFAULT
-
03:51 AM Bug #9339 (Closed): Can't Compile Ruby 2.1 without baseruby (Win7, MSYS/MinGW)
-
03:50 AM Bug #9337 (Closed): [BUG] Segmentation fault at 0x00000000000018 ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
-
03:50 AM Bug #9289 (Closed): Segmentation fault - RailsInstaller, RubyInstaller, Ruby.
-
03:47 AM Bug #9266 (Closed): dead links to rubyforge
-
03:44 AM Bug #9249 (Closed): Ruby incorrectly inspects opaque libc jmp_buf for pointers to heap during GC.
-
03:42 AM Feature #16012: Add a (small) test-install suite?
- I understand the issue with several packagers/builders, etc.
But, getting things checked in the build here is a start, and we would know that the internal `make install` worked correctly. We don't know that now.
The tool could als... -
03:18 AM Feature #16012: Add a (small) test-install suite?
- Recently, I added `test-tool` target for the common library under the tool directory. We can test `rbinstall.rb` with it with the installation specification.
I know your concern. But your `ruby-head` only points Travis environment esp... -
03:10 AM Feature #16012: Add a (small) test-install suite?
- An example test (no assert) that's currently failing, run from a trunk install
```ruby
require 'tmpdir'
Dir.mktmpdir 'test_bundler' do |dir|
File.write 'Gemfile', '', mode:'wb'
str = `bundle exec "bundle exec 'ruby -v'"`
... -
02:43 AM Feature #16012: Add a (small) test-install suite?
- @nobu,
> What do you mean by to "check install functionality" concretely?
Anything that cannot be checked in the build folder.
Sometime recently, at least some of the bin stubs broke. So checking that all bin stubs run correctly... -
01:53 AM Feature #16012: Add a (small) test-install suite?
- What do you mean by to "check install functionality" concretely?
Something other than `make install` with `DESTDIR`? -
01:34 AM Misc #16013: Bundler...
- Sorry, bad week, and really hot where I am.
Main thing, I would like ruby-head/master/trunk to not break external CI. In some instances, it is currently doing so due to an issue with Bundler. I am also willing to help with that brea... -
12:08 AM Revision 77bb79b8 (git): array.c: factor out a complex condition of assert
- ARY_SHARED_P and ARY_EMBED_P included:
assert(!FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG)),
The two predicate macros are used in many other assert conditions,
which caused memory bloat during C compilation.
Th...
07/19/2019
-
10:25 PM Misc #16013 (Feedback): Bundler...
- I didn't understand what you requested.
If your concern is `build_metadata, I will set it from the upstream commit.
PS. Please set the informational subject always. -
04:19 PM Misc #16013 (Feedback): Bundler...
- In the past, I've seen several times where the bundler default gem has caused issues in external CI. It is currently causing issues with CI's that use nested 'bundle' commands.
External repos should not have to force an install/updat... -
10:12 PM Revision d304f77c (git): Only disable GC around reference updating
- This is the only place that can change the size of the object id tables
and cause a GC. -
08:37 PM Bug #9220 (Closed): Segmentation fault
-
08:36 PM Bug #9200 (Closed): Segmentation Fault in jason 1.8.1 parser with Ruby 2.0.0 p353
-
08:35 PM Bug #9170 (Closed): Math.sqrt returns different types when mathn is included; breaks various gems - this bug can be reproduced in Ruby 1.8 as well
- mathn was removed from the standard library in Ruby 2.5.
-
08:33 PM Bug #9142 (Closed): Ruby 2.0.0 crash in Rake/mysql2
-
08:33 PM Bug #9149 (Closed): rb-appscript crash
-
08:32 PM Bug #9138 (Closed): make initialize_copy private
-
08:29 PM Bug #9122 (Closed): requiring readline in a spawned ruby process with new process group can hang it
-
08:28 PM Bug #9109 (Closed): extend したモジュールメソッドと RSpec の let で 2 つ同名を使ったときに segmentation fault になる
-
08:26 PM Bug #9096 (Closed): Regexp.quote(UTF-8) returns US-ASCII
-
08:26 PM Feature #9091 (Closed): [PATCH] accept_nonblock supports "exception: false"
- `accept_nonblock` started support `exception: false` in Ruby 2.3:
```
$ ruby22 -r socket -e 'p TCPServer.new(10001).accept_nonblock(exception: false)'
-e:1:in `accept_nonblock': wrong number of arguments (1 for 0) (ArgumentError)
... -
08:22 PM Bug #9083 (Closed): BasicObject#method_missing does not always raise NoMethodError for missing methods
- `NoMethodError` is a subclass of `NameError`. I think what you are running into is:
```ruby
BasicObject.new.foo # NoMethodError
BasicObject.new.instance_exec{foo} # NameError
```
In both of these cases, `BasicObject#method_miss... -
08:17 PM Feature #16011: Digit grouping
- The python example seems quite concise to me:
format(1234, '08,') # => '0,001,234'
format(1234, '8,') # => ' 1,234'
I can not say how useful this may be though.
The method-names seem a bit strange to me - format() se... -
07:07 AM Feature #16011: Digit grouping
- znz (Kazuhiro NISHIYAMA) wrote:
> Some `printf` can use `%'d`.
Yes but that's not what the OP wants.
```
% printf "%'07d\\n" 1234
001,234
```
The output is different. -
06:05 AM Feature #16011: Digit grouping
- Some `printf` can use `%'d`.
```
$ /usr/bin/printf "%'d\n" 1234
1,234
``` -
05:57 AM Feature #16011: Digit grouping
- ```ruby
class Integer
def delimited(n)
div, mod = n.divmod(3)
return ( \
digits(1000).lazy + [0].cycle \
) . first(div + 1) \
. reverse \
. m... -
05:17 AM Feature #16011: Digit grouping
- Just for the record:
- What to use as thousands separator is locale-dependent. It can be a comma (US), a dot (Germany), an apostrophe (Switzerland), a space (Sweden; usually a narrow-width, non-breaking space), and so on.
- Some loca... -
02:52 AM Feature #16011 (Rejected): Digit grouping
- Ruby seems to have no way to format a number with grouped thousands. I see Rails
has an option:
require 'active_support/all'
1234.to_s(:delimited)
However in this case it seems that grouping cannot be combined with say, l... -
07:06 PM Bug #9079 (Closed): Interpolated Symbol creates unnecessary intermediate String on the heap
-
07:04 PM Bug #9034 (Closed): Ruby
-
06:55 PM Bug #9013 (Closed): Crash on start
-
06:40 PM Misc #8905 (Closed): Add documentation to semantics of method default arguments
- Applied in changeset commit:git|bf2f84b2ff298583d3efbecb88da271e99fa7930.
----------
Document evaluation order of arguments [ci skip]
Fixes [Misc #8905] -
06:40 PM Bug #8952 (Closed): [DOC] required keyword arguments
- Applied in changeset commit:git|71d21f3c750f41ab44e618162515bd9e4a9f289e.
----------
Document required keyword argument syntax [ci skip]
Fixes [Bug #8952] -
06:39 PM Revision c945d115 (git): Document use of ensure and else at method level [ci skip]
-
06:38 PM Revision ceeb1535 (git): Remove section on performance advantage of not using a block parameter [ci skip]
- Improvements in Ruby 2.5 and 2.6 make this section no longer
accurate. -
06:38 PM Revision 7e267767 (git): Remove mention of Proc.new with implicit block [ci skip]
- This support is now deprecated and will be removed in Ruby 3.
-
06:38 PM Revision bf2f84b2 (git): Document evaluation order of arguments [ci skip]
- Fixes [Misc #8905]
-
06:38 PM Revision 71d21f3c (git): Document required keyword argument syntax [ci skip]
- Fixes [Bug #8952]
- 05:54 PM Revision 57b7bfad (git): * 2019-07-20
-
05:53 PM Revision de183281 (git): Some keywords, "true", "false", and "nil" should be treated as a variable
-
05:09 PM Feature #15902: Add a specialized instruction for `.nil?`
- I applied this optimization and tested against our application while logging instructions:
```
> insn_info[order(insn_info$Count),]
Instruction Count
94 reverse 1
95 opt_newarray_max ... -
04:54 PM Bug #9012 (Closed): Interpreter crashes when I try to load any page in my rails 3.2 app
-
04:52 PM Bug #8989 (Closed): Ruby 2.1 unable to build because of problem with rdoc directory
-
04:51 PM Bug #8917 (Third Party's Issue): Segmentation fault in libruby.so.1.9 st.c:341 via libc.so.6 array.c:2778
-
04:51 PM Bug #8874 (Closed): libruby.so.2.0 variable.c segmentation faults in production with rails (ruby-2.0.0-p247)
-
03:23 PM Feature #15631: Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
- I've attached the second patch for st_init_table_with_size. In theory it should be faster, but I can't measure any difference in ruby.
-
02:50 PM Revision 0a16ff9f (git): array.c: use assert in macro instead of in a function
- The old code lost information of lineno. Now, an assertion error will
output a correct lineno (but now gcc 8 requires 250 MB, unfortunately). -
02:41 PM Revision 3e8d4ff3 (git): array.c: factor out `assert(RB_TYPE_P(ary, T_ARRAY))` to a function
- The assertion blows up gcc 8 by consuming approx. 1.8 GB memory.
This change reduces the amount of memory required to about 200 MB.
A follow-up of ae750799c1b28b06d02e50cd26450b9903516526. -
02:27 PM Feature #16012 (Closed): Add a (small) test-install suite?
- At various times there has been discussion about whether testing should require `make install`. Although I prefer to do testing using install (vs build), I see it as a choice, and not a requirement.
From time to time various issues h... - 08:18 AM Revision 0a7093a8 (git): Add documentation to `fiber_pool_allocate_memory`.
- 08:09 AM Revision 517f7f9b (git): Fix 32-bit build and typo.
- "Therefore, `fiber_pool_stack_free(&vacancy->stack)` can do the wrong
thing..." should be "... `fiber_pool_stack_free(stack)` ...". - 07:42 AM Revision e004afd4 (git): Ensure that madvise does not clobber vacancy data.
- After calling `fiber_pool_vacancy_reset`, `vacancy->stack` and `stack` are
no longer in sync. Therefore, `fiber_pool_stack_free(&vacancy->stack)` can
do the wrong thing and clobber the vacancy data.
Additionally, when testing using VM_C... -
07:24 AM Revision fba3e76e (git): fix debug counter for Hash counts.
- Change debug_counters for Hash object counts:
* obj_hash_under4 (1-3) -> obj_hash_1_4 (1-4)
* obj_hash_ge4 (4-7) -> obj_hash_5_8 (5-8)
* obj_hash_ge8 (>=8) -> obj_hash_g8 (> 8)
For example on rdoc benchmark:
[RUBY_DEBUG_COUNTER... -
06:43 AM Bug #8708 (Closed): It seems that a call to the "system" changes the handler of the INT signal
- I'm using a cygwin version with a date from this year:
```
$ uname -srv
CYGWIN_NT-6.3 3.0.7(0.338/5/3) 2019-04-30 18:08
```
I'm not 100% sure I'm doing the right thing, but I get the following:
```
$ ruby issue8708x.txt
before ... -
05:41 AM Revision ae750799 (git): Use FL_TEST_RAW() to check flags.
- FL_TEST() uses FL_ABLE() which test data types. However,
in array.c we don't need to check it (all of them should be
T_ARRAY), so I changed from FL_TEST() to FL_TEST_RAW() which
does not check FL_ABLE(). Instead of FL_ABLE(), add asserti... - 04:10 AM Revision a44ad9a1 (git): * expand tabs.
-
04:07 AM Revision 182ae140 (git): fix shared array terminology.
- Shared arrays created by Array#dup and so on points
a shared_root object to manage lifetime of Array buffer.
However, sometimes shared_root is called only shared so
it is confusing. So I fixed these wording "shared" to "shared_root".
* ... - 04:03 AM Revision 547f574b (git): In some situations, `vm_stack` can be NULL, but `cfp` is valid.
- 03:55 AM Revision e14f5762 (git): Add assertions to `coroutine_initialize_main`.
- 03:53 AM Revision dd0e33f0 (git): Split assertions to check which one fails.
- 03:46 AM Revision cf93f98a (git): Better usage of `rb_ec_clear_vm_stack` to maintain invariants.
- 03:46 AM Revision 6eef80d8 (git): Improve ec assertions.
-
03:09 AM Bug #8932 (Closed): ruby-2.0.0-p247/gems/rubyzip-0.9.9/lib/zip/inflater.rb:42: [BUG] Segmentation fault
-
03:08 AM Bug #8925 (Closed): Traversing a tree of files/catalogues produces a segmentation fault in find.rb
-
03:04 AM Revision 63160a84 (git): respect NDEBUG.
- ruby/ruby.h includes ruby/assert.h, and RUBY_NDEBUG is defined
by checking NDEBUG. In other words, NDEBUG is only seen just
after ruby/ruby.h. This patch also cheks NDEBUG just after
including ruby_assert.h.
Without this patch, assertio... -
12:02 AM Feature #16003 (Closed): Remove doc/etc.rd.ja?
- Applied in changeset commit:git|e644e2de85d0d76e1c28d45710f765757a22f5c6.
----------
Remove doc/etc.rd.ja [ci skip]
[Feature #16003] [ruby-dev:50814] -
12:01 AM Revision e644e2de (git): Remove doc/etc.rd.ja [ci skip]
- [Feature #16003] [ruby-dev:50814]
07/18/2019
-
11:55 PM Feature #15631: Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
- Thanks for the review Koichi. I tested the patch on a rails app (redmine), but unfortunatelly there's no improvement.
0.1MB less memory after boot (^150MB total)
No mesurable difference in performance
I'll investigate the second cas... -
11:53 PM Revision 4ec5b39c (git): initialize only Fiber's cfp.
- fiber->cont.saved_ec.cfp should be initialized by NULL
because no vm_stack is allocated. However, cont_init()
captures current Fiber's cfp for continuation, so it should
only initialize fibers. - 11:32 PM Revision 8ca32020 (git): Revert "Ensure cfp is initialized to NULL."
- This reverts commit d7fdf45a4ae1bcb6fac30a24b025d4f20149ba0a.
-
11:23 PM Revision c8ee44f4 (git): Fix showing doc of "nil.to_s", nil doesn't have #name
- 11:10 PM Revision d7fdf45a (git): Ensure cfp is initialized to NULL.
- `cont_init` didn't initialize `cont->saved_ec.cfp`. Calling `cont_mark`
would result in an invalid `cfp` in `rb_execution_context_mark`. Because
fibers lazy-initialize the stack, fibers that are created but not resumed
could cause this p... - 11:10 PM Revision 9dda0a03 (git): Remove `rb_vm_push_frame` as it is no longer used.
-
10:58 PM Bug #8868 (Closed): Error installing 1.9.3p448 on AIX 7.1
-
10:57 PM Bug #8852 (Closed): Synology build of ruby-2.0.0-p247 is failing
-
10:57 PM Revision fd461dea (git): Ripper#validate_object: check if the object is hidden
-
10:56 PM Bug #8797 (Closed): Intermittent Segfault on 2.0.0-p247 when running 'bundle install'
-
10:56 PM Bug #8794 (Closed): Ruby on Rails
-
10:55 PM Bug #8774 (Closed): rb_file_dirname return wrong encoding string when dir is "."
-
10:51 PM Revision 0b826418 (git): Update before commit
-
10:50 PM Revision 59d6ce4f (git): Moved RIPPER_DEBUG methods to Ripper from Kernel
-
10:50 PM Revision 18bce998 (git): Fixed build error with RIPPER_DEBUG
-
09:44 PM Bug #8720 (Closed): ECB mode seems to be broken
- I agree that we should do better in this area. When calling `Cipher#encrypt` or `Cipher#decrypt` without arguments, the cipher is initialized with an empty key. This is normally not a problem, since you are supposed to call these metho...
- 09:40 PM Revision d4c40295 (git): * 2019-07-19
-
09:35 PM Revision a036a8a0 (git): Adjust styles and indents
-
09:23 PM Revision a027c4b5 (git): Use Qnull instead of 0 and Qundef
-
07:34 PM Bug #8710 (Closed): Segmentation fault - when migrating a database on Debian 7.1
-
07:34 PM Bug #8708 (Feedback): It seems that a call to the "system" changes the handler of the INT signal
- Can you reproduce this issue with a currently supported Ruby version and current version of Cygwin? I tried the script on OpenBSD and on Windows and it works fine in both cases.
-
07:28 PM Bug #8695 (Closed): CompilationMakefile for 1.9.3-p448 and 2.0.0-p247 produces "Inconsistent rules lines" errors on HP-UX 9000/800
-
07:26 PM Bug #8621 (Closed): MinGW: Rational tests are causing error
- The floating error was fixed (test disabled and considered out of spec) by commit:b2a128fa7cabcce182e7360db70b3e50bb39242d.
-
07:22 PM Feature #10463: :~@ and :!@ are not parsed correctly
- matz confirmed in the last developer meeting that he wants `def !@; end` to continue to work. However, I still think we should fix it so that `:!@` and `:~@` are not treated as `:!` and `:~`. This is a bit tricky to do as the parser cu...
-
06:31 PM Bug #8611 (Closed): Minitest encoding problems.
- The issue you described with irb crashing was fixed between 2.0 and 2.1:
```
$ irb20 -rpyper
irb(main):001:0> a = [1, 3, 4, 3, 0, 3, 1]
=> [1, 3, 4, 3, 0, 3, 1]
irb(main):002:0> a.τsπ( :uniq ).χOixπ.χriXgζmEπ
NoMethodError: undef... -
05:54 PM Bug #8594: [BUG] rb_update_max_fd: invalid fd (4) given
- I tested the program on Windows 10 x64 on a network file system while repeatedly disconnecting and reconnecting the physical connection and was not able to reproduce the crash. Can you try again on a supported ruby version and see if th...
-
05:35 PM Bug #8493 (Closed): Random Segmentation fault in sass
-
05:34 PM Bug #8486 (Closed): Random segmentation fault
-
05:00 PM Bug #8483 (Closed): SEGV under high concurrency
-
04:59 PM Bug #8482 (Closed): native rake gem has broken path
-
04:59 PM Bug #8479 (Closed): make for ruby-1.9.3-p392 fails on rdoc, error 134 (Ubuntu 12.04.2 LTS)
-
02:30 PM Bug #16010 (Rejected): Sole single-splatted variable with an array object in an assignment construction gobbles an additional nesting of array
- I believe this behavior is expected/spec. Ruby's behavior when given an multiple-assignment expression such as this:
```ruby
*foo = v
```
Is to treat it similar to:
```ruby
*foo = Array(v)
```
So the reason that `*foo = ... -
10:44 AM Bug #16010 (Rejected): Sole single-splatted variable with an array object in an assignment construction gobbles an additional nesting of array
- When a single splatted variable appears as the sole argument on the left side of assignment with an array on the right side, that variable is assigned the object as is on the right side:
```ruby
*foo = ["a"]; foo # => ["a"]
```
T... -
01:59 PM Revision d40d8b3c (git): check saved_ec.cfp
- 12:33 PM Revision 9790b778 (git): Ensure we don't have dangling cfp.
- 08:55 AM Revision 78bc6cd8 (git): * remove trailing spaces.
- 08:54 AM Revision 38e3c65a (git): Improve `fiber_pool_expand` allocation strategy.
- If `mmap` fails to allocate memory, try half the size, and so on.
Limit FIBER_POOL_ALLOCATION_MAXIMUM_SIZE to 1024 stacks. In typical
configurations this limits the memory mapped region to ~128MB per
allocation. - 08:54 AM Revision 311007bf (git): Add experimental `RUBY_SHARED_FIBER_POOL_FREE_STACKS` to control madvise.
- 08:54 AM Revision 56fcf988 (git): Add note about setting `vm.max_map_count` for Linux.
- 08:54 AM Revision 001f187e (git): Make fiber_pool more conservative on platforms with limited address space.
- We use COROUTINE_LIMITED_ADDRESS_SPACE to select platforms where address
space is 32-bits or less. Fiber pool implementation enables more book
keeping, and reduces upper limits, in order to minimise address space
utilisation. - 08:54 AM Revision 385ea910 (git): Add `struct fiber_pool {int free_stacks;}` to control usage of madvise.
- `madvise(free)` and similar operations are good because they avoid swap
usage by clearing the dirty bit on memory pages which are mapped but no
longer needed. However, there is some performance penalty if there is no
memory pressure. The... - 08:54 AM Revision 4d60a582 (git): Add FIBER_POOL_ALLOCATION_FREE to control allocation/free strategy.
- 08:54 AM Revision 8ac9a7be (git): Limit expansion of fiber pool on 32-bit platforms.
- On 32-bit platforms, expanding the fiber pool by a large amount may fail,
even if a smaller amount may succeed. We limit the maximum size of a single
allocation to maximise the number of fibers that can be allocated.
Additionally, we im... - 08:54 AM Revision 77f33190 (git): Enable `madvise` to release stack space back to OS.
- 08:54 AM Revision 47c0cab2 (git): Add details of fiber pool and coroutine selection to NEWS.
- 08:54 AM Revision b8242bce (git): Add `ucontext` and `copy` coroutine implementations to test matrix.
- 08:54 AM Revision 7291fef5 (git): Improve build process and coroutine implementation selection.
- 08:54 AM Revision 91aae651 (git): Stack copying implementation of coroutines.
- 08:54 AM Revision 8779382d (git): Remove unused vm_stack recycling.
- 08:54 AM Revision 14cf95cf (git): Implement fiber pool for reduced fiber allocation overhead.
- Replace previous stack cache with fiber pool cache. The fiber pool
allocates many stacks in a single memory region. Stack allocation
becomes O(log N) and fiber creation is amortized O(1). Around 10x
performance improvement was measured i... - 08:54 AM Revision 1b82c877 (git): Make FIBER_USE_NATIVE the default and reformat code.
-
08:42 AM Bug #16009: Performance regression in 2.7
- ```
require 'benchmark'
require 'objspace'
# this line prohibit lazy sweep
# Thread.new{ObjectSpace.each_object{sleep}}
Benchmark.bm{|x|
x.report{
100.times{
fibers = []
2000.times do
fiber =... -
08:12 AM Bug #16009 (Closed): Performance regression in 2.7
-
08:12 AM Bug #16009: Performance regression in 2.7
- More info about this ticket:
This benchmark is on falcon application, many Fiber creation benchmark.
The table shows commit hash and the results (Requests per seconds).
In brief, there is a regression between master and ruby 2.6.3.
...
07/17/2019
-
11:58 PM Bug #8444: Regexp vars $~ and friends are not thread local
- This behavior is still present in the master branch and it does seem like a bug to me. It does seems specific to returning a closure from a method and having two separate threads call that closure.
It doesn't occur if you pass the pr... - 11:15 PM Revision 97808e29 (git): * 2019-07-18
- 11:13 PM Revision 9b28eefe (git): Add benchmark to help diagnose performance regression.
- See https://bugs.ruby-lang.org/issues/16009 for more details.
-
11:12 PM Bug #16009: Performance regression in 2.7
- Comparing master branch with master + reverted 88449100bc6d23a00dbf3addb97665f4f606f2b8
```
koyoko% make benchmark ITEM=vm2_fiber_gc COMPARE_RUBY=`which ruby`
../revision.h unchanged
/home/samuel/.rvm/rubies/ruby-2.6.3/bin/ruby --d... -
11:20 AM Bug #16009: Performance regression in 2.7
- @ko1 it took some time to find this, and it's late, so issue is brief. Feel free to discuss with me if you need more information.
-
11:19 AM Bug #16009 (Closed): Performance regression in 2.7
```
Number is requests/s
dcf5c19c9f89d732da70a1a16a2fe60cd1999bcc 7561.82
c53f87943e53c96b86d50b496d2a410ff1245b4c 7534.09
d2003a6d392b3b0054d7528e2e731584196aefad 7467.44, 7458.18, 7111.09, 7293.74...-
11:04 PM Bug #8442 (Feedback): sendmesg (blocking) of class BasicSocket is repeatably sent by the ruby kernel
- I tried the example program provided on Ruby 2.6 on OpenBSD, and did not experience the issue that you were experiencing with 2.0.0-p0 on Linux. Are you able to recreate the problem you were having with a supported version of Ruby?
I... -
10:03 PM Bug #8441 (Closed): /Users/Chandan/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/webrick/utils.rb:132: [BUG] Segmentation fault ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin11.4.2]
-
10:03 PM Bug #8428: Date#to_time yields incorrect value for Julian dates
- I agree this is a bug that we should fix, and converting from julian to gregorian before converting to Time makes sense. It does have the downside of the Time object having a different mday value than the Date object, but without adding...
-
09:20 PM Feature #15973: Let Kernel#lambda always return a lambda
- > Can you present use case(s) for turning procs into lambdas?
One use case is reading the parameters of blocks as if they were written for a method definition: https://bugs.ruby-lang.org/issues/9777#note-11
Another one is getting lam... - 02:42 PM Revision bdec1ad9 (git): * expand tabs.
-
02:41 PM Revision 416ead4c (git): compile.c: add NO_CHECK for the calls to COMPILE whose result is unused
- to suppress many warnings of Coverity Scan
-
08:04 AM Revision 0e23e0c3 (git): Adjust indent [ci skip]
-
05:45 AM Revision cd372f8d (git): Get rid of LoadError with $DEBUG
-
02:57 AM Revision af07e07a (git): Separate pull-github from merge-github [ci skip]
-
02:54 AM Feature #15975: Add Array#pluck
- My apologies, yes, there was a cut-and-paste error on show for a few minutes, and you were quick enough to see it. It's now the code I intended to paste.
-
01:57 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- There is some kind of performance regression in 2.6.3 -> 2.7.0-master.
So, I'm trying with 2.7.0-preview1 to see if it's better or worse.
```
Server Software:
Server Hostname: localhost
Server Port: 929... -
01:16 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- Here is some testing using falcon and `ab`. `ab` is HTTP/1.0 client test. Because of that, each connection/request makes new fiber, so it's going to show if there are improvements/regressions to performance.
```
Server Software: ... - 01:53 AM Revision 0965bb60 (git): * 2019-07-17
07/16/2019
-
11:34 PM Revision f487e5b7 (git): Expanded buf to copy at once
- Build dumped string from base packed data and extended year at
once. Although currently ruby_marshal_write_long() never writes
more than 5 bytes per its format specification, allocate
`sizeof(long)+1` for the sanitation. -
10:28 PM Revision ed2f2b4f (git): Named the backward compatible dump size
-
07:42 PM Bug #16008 (Closed): Ripper hshptn node drops information
- Hi - I'm the author of the prettier plugin for ruby. I'm trying to get it to support 2.7 pattern matching. It works well for everything to do with the array pattern. However, for hash patterns, it drops certain information if you touch t...
-
02:38 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- akr (Akira Tanaka) wrote:
> Also, I'm still not certain that what Time object to be generated
> ...
PostgreSQL has SET TIME ZONE command to set a time zone for a session.
https://www.postgresql.org/docs/11/datatype-datetime.html#DAT... -
11:14 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- (1) The SQL spec. defines the range of year as 0001 to 9999.
(not in the syntax but in another table.)
However Ruby Time object can represent arbitrary integer year.
There is a RDB which works with a year outside of 0001 to 9999.
... -
02:17 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- matsuda (Akira Matsuda) wrote:
> > I would be OK with modifying Time.iso8601 to make either T or space a valid date/time separator.
> ...
I said its against XML Schema.
https://www.w3.org/TR/xmlschema-2/
Time[.#]iso8601 is alias of... -
01:03 PM Revision 6ab95fb7 (git): Removed twisted tests
- Why does only Process.daemon have these tests?
-
12:38 PM Revision d45d448d (git): nil as the default of optional parameters
-
10:27 AM Revision d8e23a67 (git): nil as the default of optional parameters
-
09:57 AM Revision e988048e (git): Moved the check for `exception` to rb_execarg_addopt
- Check for `exception` option in rb_execarg_addopt, as well as
other options. And then raise a particular ArgumentError if it is
not allowed. -
09:42 AM Revision 8deabcd3 (git): Constified afamily functions
-
09:41 AM Revision 19d592dc (git): Somehow `if` didn't work
-
08:31 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- Attached graph/table.
-
04:48 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- On Darwin, comparing fiber-pool with master:
```
> make benchmark COMPARE_RUBY="../../ruby/build/ruby --disable-gems" ITEM=vm2_fiber RUBY_SHARED_FIBER_POOL_FREE_STACKS=0
Calculating -------------------------------------
... -
02:44 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- On Linux, comparing fiber-pool with master.
```
% make benchmark COMPARE_RUBY="../../ruby/build/ruby --disable-gems" ITEM=vm2_fiber RUBY_SHARED_FIBER_POOL_FREE_STACKS=0
Calculating -------------------------------------
... -
02:34 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- I've updated the implementation for fiber pool, which now has some functionality controlled by `#define FIBER_POOL_ALLOCATION_FREE`.
The normal (CPU efficient, memory expensive) implementation creates and reuses `fiber_pool_allocation... -
08:23 AM Revision 76c6cf2c (git): Print debugging information when updating failed
-
07:47 AM Feature #15975: Add Array#pluck
- > we can now do some very nice things just with existing syntax:
The sample code is invalid.
Is this?
```ruby
class Array
def to_proc
Proc.new do |head, *tail|
collect(&:to_proc).collect do |ep|
ep_head = ... -
07:13 AM Feature #15975: Add Array#pluck
- I think that's pretty limited. #pluck is a fairly crude method, fine for Rails but hardly befitting the Ruby standard library. I'd much rather use a higher-order function and get somewhere much more interesting.
By instead implementin... -
06:47 AM Bug #16007 (Closed): Process.clock_getres matches the clock in practice for Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID FAILED fails on armv7hl
- During build of Ruby 2.7.0 0c6c937904 on Fedora Rawhide, I observe following test failure on armv7hl (other arches are fine):
~~~
1)
Process.clock_getres matches the clock in practice for Process::CLOCK_PROCESS_CPUTIME_ID FAILED
Ex... -
06:42 AM Feature #16006 (Rejected): String count and alignment that consider multibyte characters
- The display width of a string cannot be calculated without rendering information, which Ruby usually does not have.
Considering emojis or grapheme clusters, it is nearly impossible. It's the responsibility of the rendering engine.
Ma... -
04:13 AM Feature #16006: String count and alignment that consider multibyte characters
- sawa (Tsuyoshi Sawada) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
Still not appropriate. There are characters whose "wide"-ness is not fixed until they actually got rendered. See also: https://unicode.org/reports/tr11/ especiall... -
04:01 AM Feature #16006: String count and alignment that consider multibyte characters
- shyouhei (Shyouhei Urabe) wrote:
> This particular proposal is NG. ASCII vs. non-ASCII is too Asian-centric. There are other non-wide non-ASCII encodings, such as those in Europe.
Yeah, the keyword name `non_ascii` In my original p... -
03:55 AM Feature #16006: String count and alignment that consider multibyte characters
- This particular proposal is NG. ASCII vs. non-ASCII is too Asian-centric. There are other non-wide non-ASCII encodings, such as those in Europe.
-
03:35 AM Feature #16006 (Rejected): String count and alignment that consider multibyte characters
- In non-proportional font, multibyte characters have twice the width of ASCII characters. Since `String#length`, `String#ljust`, `String#rjust`, and `String#center` do not take this into consideration, applying these methods do not give t...
-
05:34 AM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- I did several build with 0c6c937904 and all passed. Thx for the fix.
-
01:02 AM Feature #16003: Remove doc/etc.rd.ja?
- 削除に賛成です。
-
12:41 AM Bug #12285 (Closed): Date.iso8601 does not properly handle partial date strings
- Applied in changeset commit:git|75fb0a9afad1685cedee9c7665a7f30ec95068fc.
----------
Allow mday in Date.iso8601 to be omitted
[Bug #12285] -
12:41 AM Bug #12833 (Closed): incorrect iso8601 parsing of YYYY-MM format
- Applied in changeset commit:git|75fb0a9afad1685cedee9c7665a7f30ec95068fc.
----------
Allow mday in Date.iso8601 to be omitted
[Bug #12285] -
12:41 AM Bug #12981 (Closed): Date.parse raises an Argument error under a specific condition
- Applied in changeset commit:git|75fb0a9afad1685cedee9c7665a7f30ec95068fc.
----------
Allow mday in Date.iso8601 to be omitted
[Bug #12285] -
12:41 AM Revision 75fb0a9a (git): Allow mday in Date.iso8601 to be omitted
- [Bug #12285]
- 12:22 AM Revision e2f987e6 (git): * expand tabs.
-
12:15 AM Revision 00dc0dae (git): Removed intermediate local variables