Skip to main content
This page lists known issues by version. Issues marked as “fixed” are resolved in the current or a later release.
The use of cMsgCInterfacePy is deprecated. Use messaging instead.

Reporting new issues

If you encounter a bug not listed here:
  1. Check GitHub Issues to see if it has already been reported.
  2. If not, open a new issue or start a discussion on GitHub Discussions.
  3. Include your Basilisk version, OS, Python version, and a minimal reproducing example.

Version 2.10.0-beta (current)

When building from source on Python 3.13 using SWIG 4.4.0, a build failure may occur if pyLimitedAPI is set to an ABI lower than Python 3.13 (for example, 0x03080000). SWIG 4.4.0 introduces a new C-API code path for Python 3.13 that requires definition macros absent in older abi3 compatibility targets.Workaround: When building Basilisk with Python 3.13 or above, Basilisk automatically defaults to the cp313 ABI. No manual action is required for standard builds.
If you install Basilisk via pip install bsk, the basilisk/supportData folder does not exist on disk. Simulation scripts that import data using a direct local file path to supportData will fail.Workaround: Basilisk uses pooch to manage data files, placing them in a system cache directory. Use the data path utilities described in BSK Principles 6a to obtain a portable file path.
from Basilisk.utilities import dataFileToPath
path = dataFileToPath("EphemerisData/de430.bsp")
The simpleAntenna module raises a warning for each of sunInMsg, planetInMsg, and sunEclipseInMsg when they are not connected, even for ground-based antennas where these messages are irrelevant.Status: Fix included in the current release — warnings are no longer raised for ground-based antennas.

Version 2.9.0

The Denton flux model API changed as part of the Pooch-based supportData migration. The module no longer automatically searches for data files in the supportData folder. You must now pass the correct support data location explicitly via configureDentonFiles.
# Before (2.8.0 and earlier)
dentonFlux.loadFluxFile("supportData/AtmosphereData/...")

# After (2.9.0+)
from Basilisk.utilities import dataFileToPath
dentonFlux.configureDentonFiles(dataFileToPath("AtmosphereData/..."))
The way body-fixed locations are added to Vizard data changed. Vizard now retains a copy of the location list and only processes incremental changes. Scripts that directly manipulated the vizSupport location list will no longer work.Workaround: Use vizSupport.changeLocation() for live updates. If your script only called addLocation() and did not perform live updates, no changes are required.
In vizSupport.setInstrumentGuiSetting(), the argument showTransceiverFrustrum was corrected to showTransceiverFrustum. The misspelled argument name is deprecated and will be removed after October 11, 2026.Workaround: Update your scripts to use showTransceiverFrustum.
For vizInterface.settings, viewCameraConeHUD was renamed to viewCameraFrustrumHUD. Using the old name causes the setting to be silently ignored.Workaround: Update your scripts to use viewCameraFrustrumHUD.

Version 2.8.0

pip install -e . (editable mode) is not currently supported. This applies to both developers and users.Workaround: Use python conanfile.py for all installation and build operations.
The output format when querying non-numeric types in message recorders changed. The previous format was a numpy array of dictionaries with flattened data; the new format is a numpy array of objects queried directly from the payload.Workaround: Update scripts to use the new format. If that is not immediately feasible, build with python conanfile.py --recorderPropertyRollback True to restore the legacy format. This flag and the legacy format are scheduled for removal in 2026/07.
The BSKLogger now raises a BasiliskError exception when something is logged at BSK_ERROR level, stopping the simulation immediately. Simulations that previously logged BSK_ERROR and continued running will now raise an exception instead.Workaround: Review any BSK_ERROR occurrences in your simulation; certain errors have been reduced to BSK_WARNING level to reflect the new behavior.

Version 2.7.0

When using C++ wrapped sensor objects (CSS, thrusters, reaction wheels), Python references must be explicitly retained to prevent premature garbage collection.Workaround: Store sensor objects directly on the simulation object.
# Store a single sensor on the simulation object
scSim.cssDevice = coarseSunSensor.CoarseSunSensor()
scSim.cssDevice.ModelTag = "css1"

# Store multiple sensors in a list on the simulation object
scSim.css_devices = []
for i in range(4):
    cssDevice = coarseSunSensor.CoarseSunSensor()
    cssDevice.ModelTag = f"css{i}"
    scSim.css_devices.append(cssDevice)
Failure to retain references causes segmentation faults when accessing garbage-collected objects.

Version 2.6.0 and earlier

In magnetometer and coarsesunsensor, calling senNoiseStd() to set sensor noise standard deviations multiplied the value by 1.5 when constructing the diagonal noise matrix. Fixed in 2.6.0.
The SWIG wrapper does not fully support all array types in message payloads. This affects custom message payloads that use certain array member types.Workaround: Add the affected types to swig_conly_data.i.
On Windows, running pytest directly from within the basilisk/src/ directory fails with unresolved Python path ImportError exceptions.Workaround: Navigate into the specific subdirectory you want to test and run pytest from there. Alternatively, use pytest-xdist with pytest -n 8.

Build docs developers (and LLMs) love