Open ecorm opened 1 year ago
The WAMP spec lists session|id as the first positional argument, and does not mention anything about it being nullable.
yes, the session_id
must be filled (not null). and this should be filled for both these cases:
that means: if crossbar doesn't fill it, that's a bug.
here is the sequence of code that I think is run.
the ID is fetched from session._session_id
where session
is a crossbar.router.session.RouterSession
the 2 cases above are exactly here
oberstet@intel-nuci7:~$ find scm/crossbario/crossbar/crossbar -name "*.py" -exec grep -Hin "on_unregister" {} \;
scm/crossbario/crossbar/crossbar/router/dealer.py:257: 'wamp.registration.on_unregister',
scm/crossbario/crossbar/crossbar/router/dealer.py:660: service_session.publish('wamp.registration.on_unregister',
not sure what might go wrong ... thing is, there are only a couple of places where _session_id
is set None
:
oberstet@intel-nuci7:~$ find scm/crossbario/crossbar/crossbar -name "*.py" -exec grep -Hin "\._session_id = None" {} \;
scm/crossbario/crossbar/crossbar/worker/proxy.py:121: self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:436: self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:637: self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:685: self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:746: self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:791: self._session_id = None
I've seen those null
s in the raw JSON message dumps while I was debugging, so I'm very confident it's not a problem on my end.
When a callee leaves, the
wamp.registration.on_unregister
meta event that is emitted contains anull
session id argument instead of an expected integer. The same thing happens with thewamp.registration.on_delete
meta event.The same goes for a subscriber leaving. When a subscriber leaves, the
wamp.subscription.on_subscribe
meta event that is emitted contains anull
session id argument instead of an expected integer. The same thing happens with thewamp.subscription.on_delete
meta event.Is the
null
session ID intentional is these cases, due to callee/subscriber session no longer existing? The WAMP spec listssession|id
as the first positional argument, and does not mention anything about it being nullable.This is with Crossbar v.23.1.2.