{"action":"reopened","issue":{"url":"https://api.github.com/repos/jruby/jruby/issues/3884","repository_url":"https://api.github.com/repos/jruby/jruby","labels_url":"https://api.github.com/repos/jruby/jruby/issues/3884/labels{/name}","comments_url":"https://api.github.com/repos/jruby/jruby/issues/3884/comments","events_url":"https://api.github.com/repos/jruby/jruby/issues/3884/events","html_url":"https://github.com/jruby/jruby/issues/3884","id":154553712,"number":3884,"title":"Invalid hash value for nested arrays","user":{"login":"flash-gordon","id":802486,"avatar_url":"https://avatars.githubusercontent.com/u/802486?v=3","gravatar_id":"","url":"https://api.github.com/users/flash-gordon","html_url":"https://github.com/flash-gordon","followers_url":"https://api.github.com/users/flash-gordon/followers","following_url":"https://api.github.com/users/flash-gordon/following{/other_user}","gists_url":"https://api.github.com/users/flash-gordon/gists{/gist_id}","starred_url":"https://api.github.com/users/flash-gordon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flash-gordon/subscriptions","organizations_url":"https://api.github.com/users/flash-gordon/orgs","repos_url":"https://api.github.com/users/flash-gordon/repos","events_url":"https://api.github.com/users/flash-gordon/events{/privacy}","received_events_url":"https://api.github.com/users/flash-gordon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jruby/jruby/labels/core","name":"core","color":"02e10c"},{"url":"https://api.github.com/repos/jruby/jruby/labels/JRuby%209000","name":"JRuby 9000","color":"bfe5bf"},{"url":"https://api.github.com/repos/jruby/jruby/labels/regression","name":"regression","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/jruby/jruby/milestones/50","html_url":"https://github.com/jruby/jruby/milestones/JRuby%209.1.1.0","labels_url":"https://api.github.com/repos/jruby/jruby/milestones/50/labels","id":1604288,"number":50,"title":"JRuby 9.1.1.0","description":"","creator":{"login":"headius","id":10135,"avatar_url":"https://avatars.githubusercontent.com/u/10135?v=3","gravatar_id":"","url":"https://api.github.com/users/headius","html_url":"https://github.com/headius","followers_url":"https://api.github.com/users/headius/followers","following_url":"https://api.github.com/users/headius/following{/other_user}","gists_url":"https://api.github.com/users/headius/gists{/gist_id}","starred_url":"https://api.github.com/users/headius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/headius/subscriptions","organizations_url":"https://api.github.com/users/headius/orgs","repos_url":"https://api.github.com/users/headius/repos","events_url":"https://api.github.com/users/headius/events{/privacy}","received_events_url":"https://api.github.com/users/headius/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":15,"state":"open","created_at":"2016-02-25T01:21:40Z","updated_at":"2016-05-13T17:43:15Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2016-05-12T18:46:16Z","updated_at":"2016-05-13T17:43:15Z","closed_at":null,"body":"### Environment\r\n\r\nIt seems that every version of jruby starting from at least 9k-pre1 has the following behavior.\r\n\r\n### Expected Behavior\r\n\r\n```ruby\r\n2.3.1 :001 > [1, [1, []]].hash\r\n => 2397343324588010773\r\n2.3.1 :002 > [2, [2, []]].hash\r\n => 4238421788679554352\r\n```\r\n\r\n### Actual Behavior\r\n\r\n```ruby\r\njruby-9.1.0.0 :086 > [1, [1, []]].hash\r\n => 0\r\njruby-9.1.0.0 :087 > [2, [2, []]].hash\r\n => 0\r\n```\r\n\r\n---------------------\r\nWe expect things to work in [dry-validation](https://github.com/dry-rb/dry-validation/issues/159) because we use caching based on a hash of AST which in order is represented by a deeply nested array. The issue leads to returning the same result based on different outputs which surprises a lot.\r\n\r\nOriginal values that you can use for testing a fix:\r\n```ruby\r\njruby-9.1.0.0 :001 > [[:and, [[:val, [:predicate, [:key?, [:age]]]], [:key, [:age, [:predicate, [:lt?, [23]]]]]]]].hash\r\n => 8481884717\r\njruby-9.1.0.0 :002 > [[:and, [[:val, [:predicate, [:key?, [:foo]]]], [:key, [:foo, [:predicate, [:lt?, [23]]]]]]]].hash\r\n => 8481884717\r\n```\r\n\r\nI don't know what exactly is going wrong but I tried to provide as minimal failing case as I could and it would supercool to have this fixed because you guys are doing a great job and having a support for jruby really matters for us, thank you!"}}