-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Describe the bug
On Windows workers, conda environment activation is executed via bash (MSYS/Git-Bash), not cmd.exe or PowerShell. This causes activation to fail when attempting to export environment variables whose names start with a digit, such as 3DSMAX_EXECUTABLE.
POSIX shells do not allow exporting variables that begin with a number. As a result, .sh activation scripts cannot set 3DSMAX_EXECUTABLE, which leads to missing configuration during runtime.
This issue is already partially documented in the samples repository, where a workaround is required to hotpatch executable_handler.py inside the conda environment to fall back to ADSK-prefixed variables. However, this dependency is fragile and easy to miss.
Expected Behaviour
- Conda environments should activate successfully on Windows workers.
- The adaptor should resolve the 3ds Max executable correctly regardless of whether activation happens via bash or Windows-native shells.
- No manual hotpatching of adaptor code inside a conda environment should be required.
Current Behaviour
- .sh activation scripts cannot export 3DSMAX_EXECUTABLE.
- Bash-based activation therefore relies on ADSK-prefixed variables.
- The adaptor still depends on 3DSMAX_EXECUTABLE unless manually patched.
- This results in runtime failures or undocumented manual steps.
This is the hot patch I'm currently running successfully:

I agree that we should probably allow more env vars to not break backwards compatibility with current work configuration scripts. For example:
max_exe_path = ( environ.get("ADSK_3DSMAX_EXECUTABLE") or environ.get("3DSMAX_EXECUTABLE") or "3dsmax" )
Reproduction Steps
This can be reproduced by using the conda recipe: aws-deadline/deadline-cloud-samples#173
Environment
See above PR to replicate the environment. I've used
- Windows SMF on Deadline Cloud
- 3ds Max 2025.3