Skip to content

_rez_fwd ++version causes exception with ++versions #2046

@gwedig

Description

@gwedig

When attempting to use ++versions on a suite-based tool, python crashes.

Environment

  • OS linux_rocky9_x86_64
  • Rez version 3.2.1
  • Rez python version 3.9.21

To Reproduce

  1. Create a suite
  2. Call a tool from that suite with "++versions" command line argument

Expected behavior
Get the list of versions.

Actual behavior
We get a backtrace:

usdcat ++versions
Traceback (most recent call last):
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/RELEASE/bin/rez/_rez_fwd", line 8, in <module>
    sys.exit(run_rez_fwd())
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/cli/_entry_points.py", line 92, in run_rez_fwd
    return run("forward")
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/cli/_main.py", line 189, in run
    returncode = run_cmd()
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/cli/_main.py", line 181, in run_cmd
    return func(opts, opts.parser, extra_arg_groups)
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/cli/forward.py", line 73, in command
    target_func(*nargs, **kwargs)
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/suite.py", line 763, in _FWD__invoke_suite_tool_alias
    retcode = w.run(*(_cli_args or []))
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/wrapper.py", line 85, in run
    return self._run(prefix_char, args)
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/wrapper.py", line 155, in _run
    return self.print_package_versions()
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/wrapper.py", line 249, in print_package_versions
    rows.append((name, pkg.path, label))
  File "/laika/dist/third_party/linux_rocky9_x86_64/rez/v3.2.1/lib64/python3.9/site-packages/rez/packages.py", line 213, in __getattr__
    raise AttributeError("Package instance has no attribute '%s'" % name)
AttributeError: Package instance has no attribute 'path'

I am new to Rez source code, but the path variable does not appear to ever be set/exist within a Package object, though location does and maybe path should be derived from it?

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