jruby/jruby · error · ArgumentError
argument count mismatch for method signature {}
Error message
argument count mismatch for method signature {} What it means
Error "argument count mismatch for method signature {}" thrown in jruby/jruby.
Source
Thrown at core/src/main/java/org/jruby/java/proxies/JavaProxy.java:433
final int argsLen = argc - 2;
checkArgSizeMismatch(runtime, argsLen, argTypesAry);
Class[] argTypesClasses = (Class[]) argTypesAry.toArray(new Class[argsLen]);
Object[] javaArgs = new Object[argsLen];
for ( int i = 0; i < argsLen; i++ ) {
javaArgs[i] = args[i + 2].toJava( argTypesClasses[i] );
}
JavaMethod method = new JavaMethod(runtime, getMethod(context, name, argTypesClasses));
return method.invokeDirect(context, getObject(), javaArgs);
}
private static void checkArgSizeMismatch(final Ruby runtime, final int expected, final RubyArray argTypes) {
if ( argTypes.size() != expected ) {
Class[] argTypesClasses = (Class[]) argTypes.toArray(new Class[argTypes.size()]);
throw JavaMethod.newArgSizeMismatchError(runtime, argTypesClasses);
}
}
@JRubyMethod
public IRubyObject java_method(ThreadContext context, IRubyObject rubyName) {
String name = rubyName.asJavaString();
return getRubyMethod(context, name);
}
@JRubyMethod
public IRubyObject java_method(ThreadContext context, IRubyObject rubyName, IRubyObject argTypes) {
String name = rubyName.asJavaString();
RubyArray argTypesAry = argTypes.convertToArray();
Class[] argTypesClasses = (Class[]) argTypesAry.toArray(new Class[argTypesAry.size()]);
return getRubyMethod(context, name, argTypesClasses);
}View on GitHub (pinned to fb650c13e0)
Solutions
- The argument count does not match the Java method signature. Supply exactly the number of parameters the target method declares.
When it happens
Trigger: Thrown at core/src/main/java/org/jruby/java/proxies/JavaProxy.java:433 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jruby/jruby@fb650c13e0 (2026-08-23).
Data as JSON: /api/errors/dde8bf1caeb1daaf.
Report an issue: GitHub.