razetime has joined #jruby
razetime has quit [Ping timeout: 245 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 245 seconds]
razetime has joined #jruby
razetime has quit [Remote host closed the connection]
razetime has joined #jruby
razetime has quit [Ping timeout: 245 seconds]
razetime has joined #jruby
razetime has quit [Remote host closed the connection]
JasonLunn[m] has joined #jruby
<JasonLunn[m]> Good morning - has anyone reported changed behavior for the JRubyMethod annotation in 9.4.x?
<JasonLunn[m]> I didn't see anything in GH Issues about it
<JasonLunn[m]> I ran the test suite for Protobuf under 9.4.x for the first time today using 9.4.3.0
<JasonLunn[m]> And one of the failures I'm chasing down suggests that @JRubyMethod isn't blocking calls to our Java code when the ruby invocation of the method doesn't provide enough required arguments
<JasonLunn[m]> Instead of an ArgumentError getting thrown by the JRuby runtime, our method gets called with a zero length args array,
<JasonLunn[m]> and then we proceed to trigger a Java Array index out of bounds exception by assuming that it is safe to access index 0.
enebo[m] has joined #jruby
<enebo[m]> Jason Lunn: Can you open an issue? Also if you can figure out the caller from Ruby side
<enebo[m]> which could also be **h where h = {}
<enebo[m]> My only thought is in Ruby 3 **{} will get removed as an explicit argument
<enebo[m]> with that said I don't think our anno should accept that but I am just thinking stream of consciousness
<JasonLunn[m]> Will do. I'm trying to create a minimum reproducible fail case now. A trivial example works as expected, so looking into what we're doing in Protobuf to excite the issue.
<enebo[m]> I will git blame that code and see what else may have changed. All I changed was keyword args stuff but I don't think it should affect arity
kares[m] has quit [Remote host closed the connection]
<JasonLunn[m]> Got it down to a minimal reproduction case
<JasonLunn[m]> Writing the issue up now
razetime has joined #jruby
razetime has quit [Ping timeout: 245 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 245 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 240 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 264 seconds]
razetime has joined #jruby
razetime_ has joined #jruby
razetime has quit [Ping timeout: 250 seconds]
<headius> Davinci: Did you find a way to do this? We could possibly up the limit ourselves in the Java code but I exposed this setting to avoid having to do that
razetime_ has quit [Ping timeout: 245 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 245 seconds]
adam128 has joined #jruby
adam12 has quit [Killed (copper.libera.chat (Nickname regained by services))]
adam128 is now known as adam12
<headius> enebo: woot I think I have mavengem updated and building
<headius> all base tests in the mojo seem to pass... then it fails on tests related to "virtus"
<headius> etc
<headius> public void virtusPomWithAuthentication() throws Exception {
<headius> // this test goes online to rubygems.org
<headius> these may be testing the old API but perhaps the user agent is not matching the whitelist
<headius> looks like that's the problem
<headius> so I'm going to start a PR with my updates and then look at getting this moved to the new API