Skip to content

Prevent SimulationApp overrides from mutating launcher defaults - #770

Open
sylvesterkaczmarek wants to merge 3 commits into
isaac-sim:mainfrom
sylvesterkaczmarek:fix/simulation-app-config-copy
Open

Prevent SimulationApp overrides from mutating launcher defaults#770
sylvesterkaczmarek wants to merge 3 commits into
isaac-sim:mainfrom
sylvesterkaczmarek:fix/simulation-app-config-copy

Conversation

@sylvesterkaczmarek

Copy link
Copy Markdown

Description

Prevent per-instance SimulationApp launch configuration from mutating the class-level DEFAULT_LAUNCHER_CONFIG.

SimulationApp.__init__() currently assigns the mutable class dictionary directly and then mutates self.config with update() and pop(). Because both names reference the same dictionary, overrides from one instance are written back into the class defaults and can leak into later instances.

Initialize the instance from a shallow copy instead:

self.config = self.DEFAULT_LAUNCHER_CONFIG.copy()

The current initialization path replaces configuration values rather than mutating nested values in place, so a shallow copy is sufficient.

Validation

  • final diff is one line in simulation_app.py
  • file passes py_compile
  • no public API or default values change
  • per-instance configuration remains mutable without altering the class baseline

This repository bug was found while reviewing SimulationApp; the connected GitHub integration cannot open a new upstream issue, so the root cause is documented here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant