Skip to content

[BUG] Autobahn 26.6.1 breaks crossbar #1885

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

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions