We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi,
some of our proto messages have embedded messages, that looks something like this:
message TokenUse { message Payload { string token = 1; } Payload payload = 1; }
but when running server validation (with ReflectiveValidatorIndex) it generates null pointer exception:
java.lang.NullPointerException: null at io.envoyproxy.pgv.ReflectiveValidatorIndex.lambda$reflectiveValidatorFor$1(ReflectiveValidatorIndex.java:39)
it's even more strange/disturbing because there is no validation conditions, so I would expect it to use ALWAYS_VALID (or something like that).
I think it happens because embedded message is translated to inner class (TokenUse$Payload) and reflector doesn't find (or generate) it. And then
ValidatorImpl impl = (ValidatorImpl)validatorClass.getDeclaredMethod("validatorFor", Class.class).invoke((Object)null, clazz);
returns null and then impl.assertValid(proto, this); fails with null pointer.
impl.assertValid(proto, this);
The text was updated successfully, but these errors were encountered:
Were you able to reproduce this one @rmichela ?
Sorry, something went wrong.
Yes.
Successfully merging a pull request may close this issue.
Hi,
some of our proto messages have embedded messages, that looks something like this:
but when running server validation (with ReflectiveValidatorIndex) it generates null pointer exception:
it's even more strange/disturbing because there is no validation conditions, so I would expect it to use ALWAYS_VALID (or something like that).
I think it happens because embedded message is translated to inner class (TokenUse$Payload) and reflector doesn't find (or generate) it.
And then
ValidatorImpl impl = (ValidatorImpl)validatorClass.getDeclaredMethod("validatorFor", Class.class).invoke((Object)null, clazz);
returns null and then
impl.assertValid(proto, this);
fails with null pointer.The text was updated successfully, but these errors were encountered: