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

Wrong case requests lead to packages resolved twice with different versions #685

Closed
instinct-vfx opened this issue Aug 1, 2019 · 6 comments
Assignees
Labels
os:windows Windows-specific

Comments

@instinct-vfx
Copy link
Contributor

instinct-vfx commented Aug 1, 2019

Please excuse the weird subject line, but i had a hard time finding a one-liner for this one. Thanks to Dominic who discovered this one :)

It's windows only and most likely has to do with the fact that on windows file systems are not case sensitive. This causes an issue if someone requests a package with wrong case. That makes Rez see the package but the solver seems to interpret them as two different packages resulting in cases where the same package is resolved twice with potentially different versions.

Example:

We have a 3dsmax package and a maxtools package. The maxtools package requires the 3dsmax package. A correct request could be: rez-env 3dsmax-2018 maxtools and yields the expected result:

$ rez-env 3dsmax-2018 maxtools
INFO:__main__:Launching rez-env(rez_meta-0.5.7, rez-2.37.0, rez_config-0.4.3)
resolved by tkaufmann@WS-STR-DL135, on Thu Aug 01 11:55:14 2019, using Rez v2.37.0

requested packages:
3dsmax-2018
maxtools
~platform==windows  (implicit)
~arch==AMD64        (implicit)
~os==windows-10     (implicit)

resolved packages:
3dsmax-2018       \\data\rez-package-staging\3dsmax\2018\platform-windows\arch-AMD64
Qt.py-1.2.1       \\data\rez-package-staging\Qt.py\1.2.1\ff5a17a870e473adea6d65972631222d54a381e6
arch-AMD64        \\data\rez-package-staging\arch\AMD64
iniparse-0.4      \\data\rez-package-staging\iniparse\0.4\python-2.7
maxtools-3.0.5    \\data\rez-package-staging\maxtools\3.0.5\platform-windows\arch-AMD64
platform-windows  \\data\rez-package-staging\platform\windows
python-2.7.16     C:\ProgramData\Mackevision\rez_packages_local_staging\python\2.7.16\platform-windows\arch-AMD64
xlrd-1.2.0        \\data\rez-package-staging\xlrd\1.2.0\platform-windows\arch-AMD64\python-2.7

Now if someone requests with a different case than the actual package than both (the one created by maxtools' requires and the actually requested one) get added as different packages and resolve to different versions each pointing to the same package: rez-env 3dsMax-2018 maxtools (note the case change in 3dsmax)

$ rez-env 3dsMax-2018 maxtools
INFO:__main__:Launching rez-env(rez_meta-0.5.7, rez-2.37.0, rez_config-0.4.3)
resolved by tkaufmann@WS-STR-DL135, on Thu Aug 01 11:56:47 2019, using Rez v2.37.0

requested packages:
3dsMax-2018
maxtools
~platform==windows  (implicit)
~arch==AMD64        (implicit)
~os==windows-10     (implicit)

resolved packages:
3dsMax-2018       \\data\rez-package-staging\3dsMax\2018\platform-windows\arch-AMD64
3dsmax-2021       \\data\rez-package-staging\3dsmax\2021\platform-windows\arch-AMD64
Qt.py-1.2.1       \\data\rez-package-staging\Qt.py\1.2.1\ff5a17a870e473adea6d65972631222d54a381e6
arch-AMD64        \\data\rez-package-staging\arch\AMD64
iniparse-0.4      \\data\rez-package-staging\iniparse\0.4\python-2.7
maxtools-3.0.5    \\data\rez-package-staging\maxtools\3.0.5\platform-windows\arch-AMD64
platform-windows  \\data\rez-package-staging\platform\windows
python-2.7.16     C:\ProgramData\Mackevision\rez_packages_local_staging\python\2.7.16\platform-windows\arch-AMD64
xlrd-1.2.0        \\data\rez-package-staging\xlrd\1.2.0\platform-windows\arch-AMD64\python-2.7

We need to investigate properly why this occurs and what the best way (and place in Rez) to prevent this is.

@instinct-vfx instinct-vfx added the os:windows Windows-specific label Aug 1, 2019
@nerdvegas
Copy link
Contributor

nerdvegas commented Aug 5, 2019 via email

@instinct-vfx
Copy link
Contributor Author

That's what i was thinking and we can take care of this. I had intended this ticket to also be the ticket for the fix. Do you prefer a separate ticket?

@nerdvegas
Copy link
Contributor

nerdvegas commented Aug 6, 2019 via email

@lambdaclan
Copy link
Contributor

Hello Allan, just a heads up, I will be looking into the issue and referring back to this ticket in the upcoming PR 👍

@nerdvegas
Copy link
Contributor

nerdvegas commented Aug 7, 2019 via email

@nerdvegas
Copy link
Contributor

Closed by #689

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
os:windows Windows-specific
Projects
None yet
Development

No branches or pull requests

3 participants