eclipse-score / eclipse-score/communication

Bug: Corrupt or contended event subscription state could lead to termination of intact subscriber on Unsubscribe()

Open
#722 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.