-
-
Notifications
You must be signed in to change notification settings - Fork 113
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
Pipelining in client on certain situations triggers "unknown method" in the "parent" capability #604
Comments
@kentonv asked if it happens with |
To be concise here:
(Is that correct, @gabivlj?) |
Sorry, I can have a simpler repro by not even having an
See https://github.com/gabivlj/capnp-issue/compare/gv/no-stream?expand=1 |
Maybe related: #521 |
Oh yeah #521 sounds like exactly it, except we've discovered the problem is that the message is being delivered to the parent object (which doesn't implement the method, hence the unimplemented error). |
Came here to point to #521! Agree it sounds like the same issue. |
@lthibault Any hints how we should debug this? Unfortunately I don't know Go and @gabivlj doesn't know capnp. |
When you start a pipeline request from the client, while another request is in-flight, go-capnp won't recognise one of the RPC calls that comes in that were pipelined.
This is an issue we encountered and it was a bit hard to repro, here is a repo where you can easily reproduce (rust capnp client, but we also repro'd with a c++ one).
https://github.com/gabivlj/capnp-issue
Schema:
Important part of the repro:
You will see the output:
What we are doing in the client is basically just create a pipeline that does getConnector() -> connect() -> write(). All of this while the
inflighter
promise is in the bg.The unrecognised method is
write
, and is triggered in the capability returned by getConnector(), so it makes me think go-capnp is somehow confused and thinkswrite
belongs to connector, when it belongs to bytestream.If you need any more reproduction steps or more clarification, please let me know.
The text was updated successfully, but these errors were encountered: