Load test fixes#253
Open
al1img wants to merge 4 commits into
Open
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #253 +/- ##
==========================================
Coverage ? 81.46%
==========================================
Files ? 345
Lines ? 34205
Branches ? 3574
==========================================
Hits ? 27865
Misses ? 6340
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Release Runner::mMutex before invoking RunStatusReceiverItf::UpdateRunStatus to break an AB/BA lock order cycle: - Thread pool workers hold Instance::mMutex (in Instance::Start/Stop) and block on Runner::mMutex (via Runner::StartInstance/StopInstance). - Runner::MonitorContainers holds Runner::mMutex and blocks on the same Instance::mMutex, reached through UpdateRunStatus -> ContainerRuntime::UpdateRunStatus -> Instance::UpdateRunStatus. Once triggered, Runner::mMutex is held forever, wedging every worker thread as well as the shutdown path (Runner::Stop joins the monitoring thread), so the whole aos_sm_app hangs, including on close. MonitorContainers now copies the running-instances snapshot under the lock, releases it, then invokes the receiver outside the critical section, mirroring how instancesToRestart is already handled. Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
std::filesystem::path::operator/= replaces the whole path instead of
appending when the right-hand side is itself absolute (starts with
'/'), so JoinPath("/sys/fs/cgroup", "/system.slice/...", ...) silently
dropped "/sys/fs/cgroup" and returned just the cgroup path itself.
Every caller here means "append this component", so strip a leading
'/' from entry/entries (never from base) before appending.
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
mInstanceMonitoringCache (std::unordered_map) was read and mutated from StartInstanceMonitoring, StopInstanceMonitoring, and GetInstanceMonitoringData with no synchronization, all of which run concurrently from the launcher's worker thread pool. Concurrent insert/erase/lookup on the same unordered_map is undefined behavior. Guard all three with a mutex. Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
mlohvynenko
approved these changes
Jul 2, 2026
mlohvynenko
left a comment
Member
There was a problem hiding this comment.
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



No description provided.