eclipse-score / eclipse-score/communication
Bug: Corrupt or contended event subscription state could lead to termination of intact subscriber on Unsubscribe()
- Dominant language
- C++
- Stars
- 62
- Forks
- 97
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 72
Description
### Description
In `EventSubscriptionControl::Unsubscribe()` any failure is handled as a fatal error which calls `std::terminate()`. If an application uses more than one service or other stateful functionality this could lead to the other state not being cleaned up any more and therefore in the worst case into cascading errors.
### Error Occurrence Rate
_No response_
### How to reproduce
_No response_
### Supporting Information
https://github.com/eclipse-score/communication/blob/dfdeb8ee6ea490f163e08cf422115cd92b1aedbd/score/mw/com/impl/bindings/lola/event_subscription_control.cpp#L129-L160
### Classification
major
### Affected Version
0.5
### Expected Closure Version
_No response_
### Category
- [ ] Safety Related
- [ ] Security Related
Contributor guide
Research direction
Start with EventSubscriptionControl::Unsubscribe() in score/mw/com/impl/bindings/lola/event_subscription_control.cpp, especially the linked lines 129-160, and trace how failures are handled. Define done as preventing a corrupt or contended subscription state from terminating an otherwise intact subscriber while allowing other stateful services to continue cleanup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100