Issue #11379 has been updated by Piotr Kowalski.


What do you mean that it's a stability issue? I understand that the order cannot be guaranteed but I would expect it to work the same on all platforms.

Also this code works fine with 1.9.3 and 2.1.6 and only fails with 2.2.




----------------------------------------
Bug #11379: Difference in `Array#sort_by` method between Ubuntu Linux and OS X
https://bugs.ruby-lang.org/issues/11379#change-53484

* 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/