From: piotr.kowalski@... Date: 2015-07-22T13:36:35+00:00 Subject: [ruby-core:70085] [Ruby trunk - Bug #11379] Difference in `Array#sort_by` method between Ubuntu Linux and OS X Issue #11379 has been updated by Piotr Kowalski. > You may not expect order is same even with two subsequent sort invocation. Non deterministic algorithm... makes sense. Is that somewhere stated in documentation? Just curious, do you happen to know what has changed in ruby 2.2 linux version? ---------------------------------------- Bug #11379: Difference in `Array#sort_by` method between Ubuntu Linux and OS X https://bugs.ruby-lang.org/issues/11379#change-53502 * Author: Piotr Kowalski * Status: Rejected * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-07-21 trunk 51310) [i686-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- The sort order (for the same objects) is different depending on the operating system. It looks like the Linux version of sorting has changed versus the previous ruby versions. ### On Linux: ~~~ piotr@pi-virtualbox:~$ uname -a Linux pi-virtualbox 3.13.0-49-generic #83-Ubuntu SMP Fri Apr 10 20:14:51 UTC 2015 i686 i686 i686 GNU/Linux piotr@pi-virtualbox:~$ ruby --version ruby 2.2.2p95 (2015-04-13 revision 50295) [i686-linux] piotr@pi-virtualbox:~$ irb irb(main):001:0> ['az', 'ac', 'AC'].sort_by {|s| s.downcase} => ["ac", "AC", "az"] ~~~ ### On OS X: ~~~ pi@mac:~$ uname -a Darwin mac.local 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64 x86_64 pi@mac:~$ ruby --version ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14] pi@mac:~$ irb irb(main):001:0> ['az', 'ac', 'AC'].sort_by {|s| s.downcase} => ["AC", "ac", "az"] ~~~ The bug is not present in 1.9.3 and 2.1.x. I also confirmed it's not fixed in 2.2.2 and 2.3.0-dev. -- https://bugs.ruby-lang.org/