Repository navigation
push 2.58.3 release to master - #15447
Conversation
…construction); flip option_range default to 1; update pytest expectation
The streaming check was already disabled because the SDK-level default-on path calls set(1) at ctor time. Aikido flagged the commented-out lines as an accidental commit; remove them. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
….58.39807.10573, D585 >= 7.58.39807.10574) get_embedded_filter() throws rather than returning a falsy value when the feature isn't registered, so the existing `if not f: pytest.skip(...)` net never fires and the test errors out on older FW. Pre-gate per device using the same minimum versions enforced in src/ds/d500/d500-factory.cpp. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
rs2_option_value is a union of as_float (4 bytes) and as_integer (int64_t, 8 bytes). For a FLOAT-typed option, the wrapper only writes as_float, leaving the upper 4 bytes of as_integer uninitialized heap garbage. The existing (changed_option->as_integer != 0) check then returned true even for a 0.0f value, flipping _enabled back to true on the next watcher poll - the visible UI toggle-bounce on USB. Read the field that matches the option type instead. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Mirrors the registration already present on rs5x5_dedicated_color_device. Same FW gate (7.58.39807.10574) so the toggle only appears on firmwares that actually support the depth-XU close-range control. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
FW does not yet populate the embedded_filters metadata key for the close-range bit, so frames arrive without it and the test times out after 10s. Skip with a warning log so it's visible in CI; restore once RSDEV-12008 is resolved. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Fix to use use proper flag instead of MSVC's `/W0` when building for Windows with MinGW-w64
…of falling through to unsigned
…ed recovery switch (realsenseai#15208)
…tils::string::split
# Conflicts: # examples/enhanced-depth-range/README.md
| self._emit_socket_event("devices_changed", {"added": added, "removed": removed}) | ||
|
|
||
| def _remove_device(self, serial: str) -> None: | ||
| assert self.lock.locked(), "_remove_device called without self.lock held" |
There was a problem hiding this comment.
Dangerous use of assert - low severity
When running Python in production in optimized mode, assert calls are not executed. This mode is enabled by setting the PYTHONOPTIMIZE command line flag. Optimized mode is usually ON in production. Any safety check done using assert will not be executed.
Show fix
Remediation: Raise an exception instead of using assert.
Reply @AikidoSec ignore: [REASON] to ignore this issue.
More info
|
|
||
| def _register_new_device(self, dev: rs.device) -> Optional[str]: | ||
| """Cache a freshly-discovered rs.device + its DeviceInfo. Caller must hold self.lock.""" | ||
| assert self.lock.locked(), "_register_new_device called without self.lock held" |
There was a problem hiding this comment.
Dangerous use of assert - low severity
When running Python in production in optimized mode, assert calls are not executed. This mode is enabled by setting the PYTHONOPTIMIZE command line flag. Optimized mode is usually ON in production. Any safety check done using assert will not be executed.
Show fix
Remediation: Raise an exception instead of using assert.
Reply @AikidoSec ignore: [REASON] to ignore this issue.
More info
No description provided.