Bug Description
Summary: what look like invisible stale registrations are swallowing RPC calls
Expected Behavior:
We have a node.js agent that creates 10 sessions and registers the same handler on each using round robin. Our API server makes RPC calls using the registrations as part of its API handling. Normally this works just fine and all API calls are handled correctly.
Actual Behavior:
In one deployment we're seeing that API calls don't complete and are silently swallowed. What we think is happening, however unlikely is that the crossbar router has some "invisible" registrations that don't show up when we query using wamp.registration.list or wamp.session.list but that somehow prevent some API calls from completing. We've seen for example that when we change the number of agent sessions to 5 we see a 5/10 success/failure pattern of API calls. Another thing we tried was to change the agent from round robin to random and we get and "wamp.error.procedure_exists_with_different_invocation_policy" error even though there are no reported registrations.
During our next maintenance window we plan to restart the crossbar router and we're expecting the problem to go away at least for a while. I suspect the behavior might be caused by something in the connection between our lab network and Azure but I don't have any evidence of this yet. But even so I would expect that the ping/pong application level keep alive in the crossbar router would deal with any TCP related socket issues.
Unfortunately we've not found a way to reproduce the problem so I'm hoping that something in the above description rings a bell.
I also want to take a moment to thank you very much for your amazing software. We've been using crossbar and autobahn as the real-time cornerstone of our device farm software for many years and they've always been rock solid. Its very exiting to see them under active development again. Long may it continue.
Environment
We are using crossbar 25.12.1 with autobahn 25.12.2 with python 3.14.5 on Debian Bookworm. The clients are using node.js.
Bug Description
Summary: what look like invisible stale registrations are swallowing RPC calls
Expected Behavior:
We have a node.js agent that creates 10 sessions and registers the same handler on each using round robin. Our API server makes RPC calls using the registrations as part of its API handling. Normally this works just fine and all API calls are handled correctly.
Actual Behavior:
In one deployment we're seeing that API calls don't complete and are silently swallowed. What we think is happening, however unlikely is that the crossbar router has some "invisible" registrations that don't show up when we query using wamp.registration.list or wamp.session.list but that somehow prevent some API calls from completing. We've seen for example that when we change the number of agent sessions to 5 we see a 5/10 success/failure pattern of API calls. Another thing we tried was to change the agent from round robin to random and we get and "wamp.error.procedure_exists_with_different_invocation_policy" error even though there are no reported registrations.
During our next maintenance window we plan to restart the crossbar router and we're expecting the problem to go away at least for a while. I suspect the behavior might be caused by something in the connection between our lab network and Azure but I don't have any evidence of this yet. But even so I would expect that the ping/pong application level keep alive in the crossbar router would deal with any TCP related socket issues.
Unfortunately we've not found a way to reproduce the problem so I'm hoping that something in the above description rings a bell.
I also want to take a moment to thank you very much for your amazing software. We've been using crossbar and autobahn as the real-time cornerstone of our device farm software for many years and they've always been rock solid. Its very exiting to see them under active development again. Long may it continue.
Environment
We are using crossbar 25.12.1 with autobahn 25.12.2 with python 3.14.5 on Debian Bookworm. The clients are using node.js.