-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[#458] corrupted services cleanup #587
Merged
elfenpiff
merged 6 commits into
eclipse-iceoryx:main
from
elfenpiff:iox2-458-corrupted-services-cleanup
Jan 13, 2025
Merged
[#458] corrupted services cleanup #587
elfenpiff
merged 6 commits into
eclipse-iceoryx:main
from
elfenpiff:iox2-458-corrupted-services-cleanup
Jan 13, 2025
Conversation
This file contains 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
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #587 +/- ##
==========================================
- Coverage 79.32% 79.10% -0.22%
==========================================
Files 203 203
Lines 25302 25362 +60
==========================================
- Hits 20070 20063 -7
- Misses 5232 5299 +67
|
elBoberido
previously approved these changes
Jan 13, 2025
elfenpiff
force-pushed
the
iox2-458-corrupted-services-cleanup
branch
from
January 13, 2025 16:03
78537df
to
dbc68c5
Compare
elBoberido
approved these changes
Jan 13, 2025
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.
Notes for Reviewer
Shared Memory is not persistent in Windows. Whenever the last process that holds a shared memory handle terminates or crashes Windows removes the memory-mapped file from the file system. When a new process starts, it detects that there seems to exist the service but the dynamic segment of the service is missing - since the last process holding it crashed. So, it is correctly identified as corrupted, and the cleanup aborts here.
The solution is, when the node cleans up all stale resources and identifies a service as corrupted it deletes the static service config so that the service is removed completely.
In Windows we have to also handle the shm state file - which stores the shared memory size. So whenever a new shared memory is created and the state file already exists but the corresponding shared memory does not. The state file is removed and recreated again.
Pre-Review Checklist for the PR Author
Convert to draft
)SPDX-License-Identifier: Apache-2.0 OR MIT
iox2-123-introduce-posix-ipc-example
)[#123] Add posix ipc example
)task-list-completed
)Checklist for the PR Reviewer
Post-review Checklist for the PR Author
References
Relates to #458