Thanks for the softball issue! I'm surprised this never came up; people must not use Method#to_proc on methods that take no arguments very often. The problem was that yield passes null internally when there are no args, but the block logic for the to_proc'ed method expected there to always be arguments. It tried to then use the arguments to access JRuby runtime information, and blew up. The fix was to add a path for null to pass zero arguments along to the method and get the runtime information in another way. I added a rubyspec in 8e638250aea9b32fe2b5de2e0ae4a1d7f2f2708c and committed a fix plus rubyspec update to JRuby in r9146.
Thanks for the softball issue! I'm surprised this never came up; people must not use Method#to_proc on methods that take no arguments very often. The problem was that yield passes null internally when there are no args, but the block logic for the to_proc'ed method expected there to always be arguments. It tried to then use the arguments to access JRuby runtime information, and blew up. The fix was to add a path for null to pass zero arguments along to the method and get the runtime information in another way. I added a rubyspec in 8e638250aea9b32fe2b5de2e0ae4a1d7f2f2708c and committed a fix plus rubyspec update to JRuby in r9146.