-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
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
Muzzle should recognise mismatch on unimplemented abstract methods at runtime #1337
Comments
Hmm, so at runtime muzzle allows this instrumentation to happen? That's pretty strange - muzzle compile task and |
Unrelated to your issue, but I would warn against wrapping servlet types. I have run into issues where some application servers will cast to a concrete type so wrapping will break these servers |
Agree, it's not the easiest feature to implement. @devinsba do you remember which app servlet/servlet container is casting to specific types? |
It was Oracle WebLogic Server, the version in my downloads folder is |
Even Jetty does that |
@mateuszrzeszutek here is the reproducer #1354 |
Thanks! I'll take a look at it right away |
This is related to: #1123
I have a custom Servlet instrumentation that wraps request/response to read bodies (similar to #1167). The instrumentation works well with servlet 3.0 however the instrumentation does not implement
'abstract boolean isReady()' of abstract class javax.servlet.ServletInputStream
and hence it fails at runtime for servlet 3.1.The buil
d with muzzle gradle plugin correctly fails.
Ideally, the muzzle matcher should also recognize mismatch at runtime and prevent instrumentation from being loaded.
The text was updated successfully, but these errors were encountered: