You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While I get no error, client.Call() never returns. I can reproduce the issue in a standalone playground : https://go.dev/play/p/P8igTsGuldg (which interestingly detects a deadlock once it’s a single-process setup)
Some variants: replacing any by interface{} and setting *reply = nil results in the same issue ; replacing any with struct{} and not setting reply works correctly.
What did you see happen?
In my origin setup (where it was cross-process), I just saw client.Call() never returning. On playground (single-process setup), interestingly, the deadlock detectors kick-in and gives a trace : log.txt
What did you expect to see?
Either that usage is incorrect, and an error should be thrown at some point instead of just silently hanging. Or the documentation should maybe mention it. Or that usage is correct and it’s a bug — I can’t tell at this point.
The text was updated successfully, but these errors were encountered:
Go version
go version go1.21.5 linux/amd64
Output of
go env
in your module/workspace:What did you do?
I’m using net/rpc to do some RPC. One of the methods returns nothing, which I have (naively) implemented like this :
While I get no error, client.Call() never returns. I can reproduce the issue in a standalone playground : https://go.dev/play/p/P8igTsGuldg (which interestingly detects a deadlock once it’s a single-process setup)
Some variants: replacing any by interface{} and setting *reply = nil results in the same issue ; replacing any with struct{} and not setting reply works correctly.
What did you see happen?
In my origin setup (where it was cross-process), I just saw client.Call() never returning. On playground (single-process setup), interestingly, the deadlock detectors kick-in and gives a trace : log.txt
What did you expect to see?
Either that usage is incorrect, and an error should be thrown at some point instead of just silently hanging. Or the documentation should maybe mention it. Or that usage is correct and it’s a bug — I can’t tell at this point.
The text was updated successfully, but these errors were encountered: