nyx icon indicating copy to clipboard operation
nyx copied to clipboard

ARM64 'AttributeError' with debian-tor user

Open benlenau opened this issue 1 year ago • 1 comments

I have two architectures running:

  • ... amd64 runs nyx as root and debian-tor
  • ... arm64 runs nyx as root but NOT debian-tor

OS: Linux ltr03 6.1.0-17-arm64 #1 SMP Debian 6.1.69-1 (2023-12-30) aarch64 GNU/Linux / Hetzner Ampere VPS

VERSION: nyx version 2.1.0 (released January 12, 2019)

sudo -u debian-tor nyx -s /run/tor/control

returns this error

Traceback (most recent call last):
  File "/usr/bin/nyx", line 33, in <module>
    sys.exit(load_entry_point('nyx==2.1.0', 'console_scripts', 'nyx')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/__init__.py", line 176, in main
    nyx.starter.main()
  File "/usr/lib/python3/dist-packages/stem/util/conf.py", line 289, in wrapped
    return func(*args, config = config, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/starter.py", line 128, in main
    nyx.curses.start(nyx.draw_loop, acs_support = config.get('acs_support', True), transparent_background = True, cursor = False)
  File "/usr/lib/python3/dist-packages/nyx/curses.py", line 219, in start
    curses.wrapper(_wrapper)
  File "/usr/lib/python3.11/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/curses.py", line 217, in _wrapper
    function()
  File "/usr/lib/python3/dist-packages/nyx/__init__.py", line 194, in draw_loop
    interface = nyx_interface()
                ^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/__init__.py", line 256, in nyx_interface
    Interface()  # constructor sets NYX_INTERFACE
    ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/__init__.py", line 594, in __init__
    self._header_panel = nyx.panel.header.HeaderPanel()
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/panel/header.py", line 47, in __init__
    self._vals = Sampling.create()
                 ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/panel/header.py", line 235, in create
    my_router_status_entry = nyx.tracker.get_consensus_tracker().my_router_status_entry()
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/tracker.py", line 169, in get_consensus_tracker
    CONSENSUS_TRACKER = ConsensusTracker()
                        ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/tracker.py", line 820, in __init__
    cache_age = time.time() - nyx.cache().relays_updated_at()
                              ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/__init__.py", line 281, in cache
    CACHE = Cache()
            ^^^^^^^
  File "/usr/lib/python3/dist-packages/nyx/__init__.py", line 464, in __init__
    self._conn.close()
    ^^^^^^^^^^
AttributeError: 'Cache' object has no attribute '_conn'
  File: /run/tor/control
  Size: 0               Blocks: 0          IO Block: 4096   socket
Device: 0,24    Inode: 1589        Links: 1
Access: (0660/srw-rw----)  Uid: (  103/debian-tor)   Gid: (  110/debian-tor)

benlenau avatar Feb 02 '24 21:02 benlenau

Maybe related to issue 63 ??

benlenau avatar Feb 02 '24 22:02 benlenau