Subject: python-yubikey-manager: ykman crashes

From: Ricardo Wurmus <[email-masked]>
Date: Mon, 20 May 2019 14:40:04 +0200

I installed python-yubikey-manager and wanted to see a list of all
connected keys (one is connected), but instead got this backtrace:

--8<---------------cut here---------------start------------->8---
$ ykman list
Traceback (most recent call last):
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/bin/.ykman-real", line 11, in <module>
    load_entry_point('yubikey-manager==2.1.0', 'console_scripts', 'ykman')()
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/lib/python3.7/site-packages/ykman/cli/__main__.py", line 253, in main
    cli(obj={})
  File "/gnu/store/y5jigvqfpdsnxgvgxhj2aiyj8xcsk6nk-python-click-7.0/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/gnu/store/y5jigvqfpdsnxgvgxhj2aiyj8xcsk6nk-python-click-7.0/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/gnu/store/y5jigvqfpdsnxgvgxhj2aiyj8xcsk6nk-python-click-7.0/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/gnu/store/y5jigvqfpdsnxgvgxhj2aiyj8xcsk6nk-python-click-7.0/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/gnu/store/y5jigvqfpdsnxgvgxhj2aiyj8xcsk6nk-python-click-7.0/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/gnu/store/y5jigvqfpdsnxgvgxhj2aiyj8xcsk6nk-python-click-7.0/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/lib/python3.7/site-packages/ykman/cli/__main__.py", line 213, in list_keys
    for dev in list_devices():
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/lib/python3.7/site-packages/ykman/descriptor.py", line 152, in list_devices
    for d in _list_drivers(transports):
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/lib/python3.7/site-packages/ykman/descriptor.py", line 138, in _list_drivers
    for dev in open_ccid():
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/lib/python3.7/site-packages/ykman/driver_ccid.py", line 322, in open_devices
    readers = list_readers()
  File "/gnu/store/rnn8dafmhl7flhvdmgn3v67y8zhshp3a-python-yubikey-manager-2.1.0/lib/python3.7/site-packages/ykman/driver_ccid.py", line 312, in list_readers
    return System.readers()
  File "/gnu/store/2q87j0qfp3blwvkq9x46514k86dgqi0q-python-pyscard-1.9.8/lib/python3.7/site-packages/smartcard/System.py", line 42, in readers
    return smartcard.reader.ReaderFactory.ReaderFactory.readers(groups)
  File "/gnu/store/2q87j0qfp3blwvkq9x46514k86dgqi0q-python-pyscard-1.9.8/lib/python3.7/site-packages/smartcard/reader/ReaderFactory.py", line 58, in readers
    zreaders += fm(groups)
  File "/gnu/store/2q87j0qfp3blwvkq9x46514k86dgqi0q-python-pyscard-1.9.8/lib/python3.7/site-packages/smartcard/pcsc/PCSCReader.py", line 110, in readers
    hcontext = PCSCContext().getContext()
  File "/gnu/store/2q87j0qfp3blwvkq9x46514k86dgqi0q-python-pyscard-1.9.8/lib/python3.7/site-packages/smartcard/pcsc/PCSCContext.py", line 56, in __init__
    self.renewContext()
  File "/gnu/store/2q87j0qfp3blwvkq9x46514k86dgqi0q-python-pyscard-1.9.8/lib/python3.7/site-packages/smartcard/pcsc/PCSCContext.py", line 70, in renewContext
    PCSCContext.instance = PCSCContext.__PCSCContextSingleton()
  File "/gnu/store/2q87j0qfp3blwvkq9x46514k86dgqi0q-python-pyscard-1.9.8/lib/python3.7/site-packages/smartcard/pcsc/PCSCContext.py", line 40, in __init__
    raise EstablishContextException(hresult)
smartcard.pcsc.PCSCExceptions.EstablishContextException: 'Failure to establish context: Service not available.'
--8<---------------cut here---------------end--------------->8---

--
Ricardo