-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Description
When running python run.py --sim in WSL2, the program crashes with an AttributeError followed by a Segmentation Fault. It appears that the configuration loader is returning None instead of a dictionary, causing .get() to fail when trying to read the API key.
Environment
- OS: Windows 11 with WSL2 (Ubuntu 22.04)
- Python Version: 3.10 (running inside a
venv) - Mode: Simulation (
--sim)
Steps to Reproduce
- Clone the repository.
- Create a virtual environment and run
pip install -e ".[all]". - Create
config/user.yamlwith the correct format:
llm:
provider: "claude"
api_key: "sk"
model: "anthropic/claude-sonnet-4.6"
api_base: "https://api.nih.cc"
temperature: 0.0
max_tokens: 2048
Error Log
Starting MuJoCo simulation...
Sim arm connected. Joints: [0.0, 0.01, 0.01, 0.0, -0.0]
Scene objects: banana, mug, bottle, screwdriver, duck, lego
Sim perception ready (ground-truth mode).
Traceback (most recent call last):
File "/mnt/g/Robotics_Projects/vector-os-nano/run.py", line 724, in
main()
File "/mnt/g/Robotics_Projects/vector-os-nano/run.py", line 675, in main
api_key = cfg.get("llm", {}).get("api_key") or os.environ.get("OPENROUTER_API_KEY")
AttributeError: 'NoneType' object has no attribute 'get'
Segmentation fault (core dumped)
Additional Context
I have verified that the config/user.yaml file exists in the correct directory, is not empty, and has the correct YAML indentation. It seems the cfg object is being evaluated as None before it even attempts to fallback to os.environ.get.