Skip to content

[BUG] Autobahn 26.6.1 breaks crossbar #1885

@jsy1001

Description

@jsy1001

Bug Description

Summary: Crossbar 25.12.1 fails with TypeError using Autobahn 26.6.1

Expected Behavior:
I expect to be able to install the latest crossbar release into a clean virtualenv then run crossbar without it immediately encountering an exception.

I created a new virtualenv using python 3.11.15, activated the virtualenv, then ran python -m pip install crossbar. This successfully installed crossbar 25.12.1, autobahn 26.6.1 (recently released), and other dependencies. I then ran crossbar --help.

Actual Behavior:
Crossbar immediately failed with a TypeError in Autobahn:

  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/autobahn/wamp/cryptosign.py", line 498, in CryptosignKey
    def security_module(self) -> "ISecurityModule" | None:
                                 ~~~~~~~~~~~~~~~~~~^~~~~~
TypeError: unsupported operand type(s) for |: 'str' and 'NoneType'

Reproduction Steps

  1. python3.11 -m venv .venv
  2. source .venv/bin/activate
  3. python -m pip install crossbar
  4. crossbar --help

Steps 1 to 3 above create a new virtualenv, activate the virtualenv, then install the latest crossbar from PyPi. Just now these steps installed crossbar 25.12.1, autobahn 26.6.1 (recently released), and other dependencies.

Environment

  • Package: autobahn-python
  • Version: 26.6.1
  • Python Version: CPython 3.11
  • Operating System: Ubuntu 24.04
  • Framework: N/A

Additional Context

Error Messages:

❯ crossbar --help            

Traceback (most recent call last):
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/bin/crossbar", line 10, in <module>
    sys.exit(run())
             ^^^^^
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/crossbar/__init__.py", line 306, in run
    from crossbar import personality as standalone
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/crossbar/personality.py", line 18, in <module>
    from crossbar.interfaces import IInventory, IRealmStore
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/crossbar/interfaces.py", line 22, in <module>
    from xbr._schema import FbsRepository
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/xbr/__init__.py", line 153, in <module>
    from xbr._eip712_authority_certificate import (
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/xbr/_eip712_authority_certificate.py", line 36, in <module>
    from xbr._secmod import EthereumKey
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/xbr/_secmod.py", line 36, in <module>
    from autobahn.wamp.cryptosign import CryptosignKey
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/autobahn/wamp/cryptosign.py", line 468, in <module>
    class CryptosignKey:
  File "/home/jsy1001/crossbar-test-2026-06-19/.venv/lib/python3.11/site-packages/autobahn/wamp/cryptosign.py", line 498, in CryptosignKey
    def security_module(self) -> "ISecurityModule" | None:
                                 ~~~~~~~~~~~~~~~~~~^~~~~~
TypeError: unsupported operand type(s) for |: 'str' and 'NoneType'

Checklist

  • I have searched existing issues to avoid duplicates
  • I have provided a minimal reproducible example
  • I have included version information
  • I have included error messages/logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions