[#81492] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — normalperson@...

Issue #13618 has been reported by normalperson (Eric Wong).

12 messages 2017/06/01

[ruby-core:81835] [Ruby trunk Bug#13698] Sort Methods Differ

From: sherry@...
Date: 2017-06-29 17:46:12 UTC
List: ruby-core #81835
Issue #13698 has been reported by sherrysarkar (Sherry  Sarkar).

----------------------------------------
Bug #13698: Sort Methods Differ
https://bugs.ruby-lang.org/issues/13698

* Author: sherrysarkar (Sherry  Sarkar)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.3.3p222 (2016-11-21 revision 56859)
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Hello,

**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:** 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!
 



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next