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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions