[ruby-core:60526] Re: Ruby 2.1.0 in Production: known bugs and patches

From: "NARUSE, Yui" <naruse@...>
Date: 2014-02-06 07:24:52 UTC
List: ruby-core #60526
Hi, merged those bug fixes into ruby_2_1 in r44863.
Thank you for reporting!

2014-01-13 Aman Gupta <ruby@tmm1.net>:
> Last week, we upgraded the github.com rails app to ruby 2.1.0 in production.
> While testing the new build for rollout, we ran into a number of bugs. Most
> of
> these have been fixed on trunk already, but I've documented them below to
> help
> anyone else who might be testing ruby 2.1 in production.
>
> @naruse I think we should backport these patches to the ruby_2_1 branch and
> release 2.1.1 sooner rather than later, as some of the bugs are quite
> critical.
> I'm happy to offer any assistance I can to expedite this process.
>
> - Struct#send(:setter=, rhs) does not return rhs
>   #9353 (r44501)
>   breaks the faraday gem
>
> - Array#uniq behavior change
>   #9340 (r44512)
>   affects the sass gem
>
> - Timeout behavior change
>   #9354 (r44517, r44518, r44519)
>   #9380 (r44523)
>   breaks the faraday gem
>
> - [BUG] assertion failure in socket.c
>   #9352 (r44490, r44496)
>   breaks the excon gem
>
> - segfault in method() usage
>   #9334, #9313, #9310, #9326, #9337
>   #9315 (r44455, r44458, r44510, r44527, r44552, r44553)
>   segv inside activesupport4 and other gems
>
> - Hash lookup with #hash and #eql broken
>   #9381 (r44525, r44534, r44537)
>
> - bigdecimal division issue
>   #9316
>   affects some payment processing gems
>   workaround patch by @phasis:
>     https://github.com/github/ruby/commit/1e778b3b20
>
> - SizedQueue not working
>   #9302, #9343, #9396
>   patches by @normalperson:
>     https://bugs.ruby-lang.org/attachments/download/4113
>     https://bugs.ruby-lang.org/attachments/download/4140
>
> In addition to the bugfix patches above, we're running the following
> performance patches in production. These have proven quite stable in our
> environment, so I encourage you to try them if you're running a large ruby
> app.
>
> - funny-falcon's st.c density patch
>   https://github.com/github/ruby/commit/1e025cbd2f
>
> - funny-falcon's st.c pool allocator
>   https://github.com/github/ruby/commit/3d37e2b5a3
>
> - funny-falcon's method cache patch
>   https://github.com/funny-falcon/ruby/compare/trunk...class_local_cache
>   proposed for trunk in #9262
>
> - optimized Hash#[] and Hash#[]= with string literals
>   https://github.com/github/ruby/commit/86946e72d7
>   merged to trunk in #9382 (r44551)
>
> Aside from the bugs above, our upgrade to 2.1 was very smooth. I'm happy to
> report that github.com is now running faster (and with less GC overhead)
> than
> ever before.
>
>   Aman



-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread

Prev Next