Skip to content

Autobahn Python 0.9.3-3 raises exception related to “subscription_revocation”

I’m running Autobahn Python 0.9.3-3 and am getting a strange error and I can’t work out why. This only seems to be happening with newer Autobahn Python clients. Any ideas?

2015-03-30 04:37:52+0000 [-] Starting factory <__main__.SocketServerFactory instance at 0x7fc830586b90>
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,] Traceback (most recent call last):
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]   File "/opt/AutobahnPython/autobahn/autobahn/wamp/", line 88, in onMessage
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]     for msg in self._serializer.unserialize(payload, isBinary):
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]   File "/opt/AutobahnPython/autobahn/autobahn/wamp/", line 129, in unserialize
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]     msg = Klass.parse(raw_msg)
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]   File "/opt/AutobahnPython/autobahn/autobahn/wamp/", line 285, in parse
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]     role_features = role_cls(**details_role[u'features'])
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]   File "/opt/AutobahnPython/autobahn/autobahn/wamp/", line 104, in __init__
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,]     RoleCommonPubSubFeatures.__init__(self, **kwargs)
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,] TypeError: __init__() got an unexpected keyword argument 'subscription_revocation'
2015-03-30 04:37:56+0000 [WampWebSocketServerProtocol,0,] Failing WAMP-over-WebSocket transport: code = 1011, reason = 'WAMP Internal Error (__init__() got an unexpected keyword argument 'subscription_revocation')'
2015-03-30 04:37:56+0000 [-] WAMP-over-WebSocket transport lost: wasClean = True, code = 1000, reason = 'None'

I suspect upgrading Autobahn to the 0.10.x series will fix this, but unfortunately there are some backwards incompatible changes that don’t appear quick to resolve.



This was a bug in the server where it appeared to accept arbitrary “features” and used them as arguments. These new features were probably introduced some time after version 0.9.3.

I’ve created a patch against 0.9.3-3 if anyone has the same issue.

3 People found this is helpful