Skip to content

regression pop from empty dequeue #267

@lapp0

Description

@lapp0

Arya K of Nix-Gui matrix reports

Traceback (most recent call last):
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/graphics/nav_interface.py", line 57, in set_lookup_key
    self.set_option_path(
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/graphics/nav_interface.py", line 91, in set_option_path
    num_children = len(api.get_option_tree().children(option_path, mode="leaves"))
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/utils/cache.py", line 85, in wrapper
    res = function(*args, **kwargs)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/api.py", line 22, in get_option_tree
    return option_tree.OptionTree(
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/option_tree.py", line 68, in __init__
    self._upsert_node_data(
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/option_tree.py", line 99, in _upsert_node_data
    if self._is_attribute_set(parent_option_path) and child_option_path.get_end() != '<name>':
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/option_tree.py", line 120, in _is_attribute_set
    return isinstance(data.get_type(), types.AttrsOfType)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/option_tree.py", line 30, in get_type
    return types.from_nix_type_str(self._type_string)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/types.py", line 31, in from_nix_type_str
    from_nix_type_str(nix_type_str.removeprefix('attribute set of ').removesuffix('s'))
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/types.py", line 58, in from_nix_type_str
    return from_nix_type_str(nix_type_str, or_legal=False)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/options/types.py", line 217, in from_nix_type_str
    raise ValueError(nix_type_str)
ValueError: Nix config atom (null, bool, int, float, str, path or package) or list of Nix config atom (null, bool, int, float, str, path or package)s

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/bin/.nix-gui-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/main.py", line 69, in main
    run_program()
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/main.py", line 50, in run_program
    nix_gui = main_window.NixGuiMainWindow(statemodel)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/graphics/main_window.py", line 17, in __init__
    nav_interface.OptionNavigationInterface(statemodel=statemodel)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/graphics/nav_interface.py", line 39, in __init__
    self.set_lookup_key(starting_lookup_key)
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/graphics/nav_interface.py", line 66, in set_lookup_key
    self.revert_to_previous_lookup_key()
  File "/nix/store/0b0a3l9brj46wm1jya6sc75p4ary19pi-python3.9-nix-gui-0.1.5/lib/python3.9/site-packages/nixui/graphics/nav_interface.py", line 46, in revert_to_previous_lookup_key
    previous_uri = self.uri_stack.pop()
IndexError: pop from an empty deque

This should have been resolved in #162 need to investigate why this cropped up again.

the reporters nix-shell -p nix-info --run "nix-info -m":

system: "x86_64-linux"
host os: Linux 5.10.98, NixOS, 22.05 (Quokka)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.6.0
channels(root): "nixos-22.05pre353535.48d63e924a2, nix-ld"
channels(ak): "home-manager"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions