Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ykman assumes that pkill is available at /usr/bin/pkill #441

Closed
colonelpanic8 opened this issue Jul 23, 2021 · 0 comments · Fixed by #442
Closed

ykman assumes that pkill is available at /usr/bin/pkill #441

colonelpanic8 opened this issue Jul 23, 2021 · 0 comments · Fixed by #442

Comments

@colonelpanic8
Copy link
Contributor

  • YubiKey Manager (ykman) version: 4.0.3
  • How was it installed?:
  • Operating system and version: NixOS

Steps to reproduce

Perform an openpgp reset

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/bin/.ykman-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/__main__.py", line 371, in main
    cli(obj={})
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/nix/store/wj2z6qly1qjhw2fjliyxk12vb45i873x-python3.8-click-8.0.1/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/openpgp.py", line 123, in reset
    ctx.obj["controller"].reset()
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/util.py", line 164, in __getitem__
    self.resolve()
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/util.py", line 161, in resolve
    self._objects[k] = f()
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/__main__.py", line 299, in <lambda>
    ctx.obj.add_resolver("conn", lambda: resolve()[0])
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/__main__.py", line 294, in resolve
    items = _run_cmd_for_single(ctx, subcmd.name, connections, reader)
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/__main__.py", line 190, in _run_cmd_for_single
    return retrying_connect(None, connections, state=state)
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/cli/__main__.py", line 88, in retrying_connect
    return connect_to_device(serial, connections)
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/device.py", line 216, in connect_to_device
    conn = dev.open_connection(connection_type)
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/pcsc/__init__.py", line 87, in open_connection
    return self._open_smartcard_connection()
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/pcsc/__init__.py", line 97, in _open_smartcard_connection
    if kill_scdaemon():
  File "/nix/store/0cbrbj87gbpjy8g1liv5dda7jbcxp10m-python3.8-yubikey-manager-4.0.3/lib/python3.8/site-packages/ykman/pcsc/__init__.py", line 142, in kill_scdaemon
    return_code = subprocess.call(["/usr/bin/pkill", "-9", "scdaemon"])  # nosec
  File "/nix/store/6cfajs6lsy9b4wxp3jvyyl1g5x2pjmpr-python3-3.8.9/lib/python3.8/subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/nix/store/6cfajs6lsy9b4wxp3jvyyl1g5x2pjmpr-python3-3.8.9/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/nix/store/6cfajs6lsy9b4wxp3jvyyl1g5x2pjmpr-python3-3.8.9/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/pkill'
imalison@ryzen-shine:~/ > ykman version
Usage: ykman [OPTIONS] COMMAND [ARGS]...
Try 'ykman -h' for help.

This is not good behavior. pkill will not always be available at /usr/bin, and it should look in $PATH to find it.

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

Successfully merging a pull request may close this issue.

1 participant