{"action":"created","issue":{"url":"https://api.github.com/repos/ruby/rubyspec/issues/74","labels_url":"https://api.github.com/repos/ruby/rubyspec/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/ruby/rubyspec/issues/74/comments","events_url":"https://api.github.com/repos/ruby/rubyspec/issues/74/events","html_url":"https://github.com/ruby/rubyspec/pull/74","id":87671094,"number":74,"title":"Reset @method_args","user":{"login":"vais","id":77592,"avatar_url":"https://avatars.githubusercontent.com/u/77592?v=3","gravatar_id":"","url":"https://api.github.com/users/vais","html_url":"https://github.com/vais","followers_url":"https://api.github.com/users/vais/followers","following_url":"https://api.github.com/users/vais/following{/other_user}","gists_url":"https://api.github.com/users/vais/gists{/gist_id}","starred_url":"https://api.github.com/users/vais/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vais/subscriptions","organizations_url":"https://api.github.com/users/vais/orgs","repos_url":"https://api.github.com/users/vais/repos","events_url":"https://api.github.com/users/vais/events{/privacy}","received_events_url":"https://api.github.com/users/vais/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-06-12T09:36:08Z","updated_at":"2015-06-12T14:14:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ruby/rubyspec/pulls/74","html_url":"https://github.com/ruby/rubyspec/pull/74","diff_url":"https://github.com/ruby/rubyspec/pull/74.diff","patch_url":"https://github.com/ruby/rubyspec/pull/74.patch"},"body":"@eregon this PR is just to explore an issue I'm having in Opal. I ran into a strange problem with the following specs so far:\r\n\r\n* `Struct#each_pair when no block is given returned Enumerator size returns the enumerable size`\r\n* `Struct#each when no block is given returned Enumerator size returns the enumerable size`\r\n* `Struct#select when no block is given returned Enumerator size returns the enumerable size`\r\n* `Enumerable#find_all Enumerable with size when no block is given returned Enumerator size returns the enumerable size`\r\n* `Enumerable#find_all Enumerable with no size when no block is given returned Enumerator size returns nil`\r\n* `Enumerable#select Enumerable with size when no block is given returned Enumerator size returns the enumerable size`\r\n* `Enumerable#select Enumerable with no size when no block is given returned Enumerator size returns nil`\r\n\r\nThe problem is that for some reason, when the spec executes, for example `Struct#each` is called with an argument, which of course results in an ArgumentError because `String#each` does not accept any arguments. Same for all of the above cases (and there may be more). Interestingly, when I run e.g. `Struct#each` by itself, there's no problem. When I run the whole spec suite, there's a problem. This made me think there's a leaky \"global\" somewhere, which turns out to be `@method_args`. Resetting `@method_args` as shown in this PR resolves the issue.\r\n\r\nNow, I cannot figure out if this is an Opal problem or RubySpec problem. Tried running RubySpec on my 2.2 MRI, got a segfault, and did not have more time to try to make it work. Can you please confirm for me this issue is not a problem on MRI for you? At least then I can zero-in on what's possibly wrong in Opal to make `@method_args` leak across specs."},"comment":{"url":"https://api.github.com/repos/ruby/rubyspec/issues/comments/111507772","html_url":"https://github.com/ruby/rubyspec/pull/74#issuecomment-111507772","issue_url":"https://api.github.com/repos/ruby/rubyspec/issues/74","id":111507772,"user":{"login":"eregon","id":168854,"avatar_url":"https://avatars.githubusercontent.com/u/168854?v=3","gravatar_id":"","url":"https://api.github.com/users/eregon","html_url":"https://github.com/eregon","followers_url":"https://api.github.com/users/eregon/followers","following_url":"https://api.github.com/users/eregon/following{/other_user}","gists_url":"https://api.github.com/users/eregon/gists{/gist_id}","starred_url":"https://api.github.com/users/eregon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eregon/subscriptions","organizations_url":"https://api.github.com/users/eregon/orgs","repos_url":"https://api.github.com/users/eregon/repos","events_url":"https://api.github.com/users/eregon/events{/privacy}","received_events_url":"https://api.github.com/users/eregon/received_events","type":"User","site_admin":false},"created_at":"2015-06-12T14:14:53Z","updated_at":"2015-06-12T14:14:53Z","body":"@vais The segfault should not happen on the latest RubySpec, and only one failure (About Time marshalling). If you want to test against MRI, please use the latest version (2.1.5 or 2.2.2), it's too much effort to support fixed bugs on older versions."}}