Project

General

Profile

Bug #13698

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

Hello, 

 ### Issue: 
 **Issue:** Two different machines with the same ruby version return different results for the method "sort". One machine runs macOS and the other runs Linux. More specifically, when I run "ruby --version" in the macOS machine, I get "ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]" and when I run "ruby --version" in the Linux machine, I get "ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]". 

 ### Reproducibility: 
 **Reproducibility:** If you run the following script in the two machines described above, you get different results.  

  
 ~~~ 
 arr    = [{"id"=>"549741245", "changed"=>"2015-06-24T22:02:51Z"}, 
  {"id"=>"549760170", "changed"=>"2015-06-24T23:15:44Z"},  
  {"id"=>"549760171", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549760172", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"551080187", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"551080188", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"551080189", "changed"=>"2015-06-29T21:49:24Z"}] 
 arr.sort { |a, b| b['changed'] <=> a['changed'] } 
 ~~~ 
 **Results**  
 The macOS machine returns 

 
 ~~~ ruby 
 [{"id"=>"551080189", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"551080187", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"551080188", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"549760172", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549760170", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549760171", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549741245", "changed"=>"2015-06-24T22:02:51Z"}] 
 ~~~ 
 The Linux machine returns 

 
 ~~~ ruby 
 
  [{"id"=>"551080187", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"551080188", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"551080189", "changed"=>"2015-06-29T21:49:24Z"}, 
  {"id"=>"549760170", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549760171", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549760172", "changed"=>"2015-06-24T23:15:44Z"}, 
  {"id"=>"549741245", "changed"=>"2015-06-24T22:02:51Z"}] 
 ~~~ 
 I would expect for sort (ruby 2.3.3p222) to return the same results given the same input. 

 Thanks! 
 

Back