eclipse-score / eclipse-score/communication
Improvement: Integration test needed to show GenericSkeleton/typed Proxy interaction
- Dominant language
- C++
- Stars
- 62
- Forks
- 97
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 72
Description
### What
We miss an integration test, which shows, that normal/typed Proxies can interact with a service instance provided by a `GenericSkeleton`.
We have reasons to believe, that there is a bug in the implementation of `GenericSkeleton`, which wouold show up, when interacting with normal Proxies!
Namely: For the `GenericSkeleton` this function has been intzroduced: https://github.com/eclipse-score/communication/blob/main/score/mw/com/impl/bindings/lola/skeleton.cpp#L1100
It is most likeoly wrong. The integration test required in this ticket should reveal the problem.
The code in question fake-creates the `EventDataStorage` ... but with this hack/algo, the number of sample-slots visible to typed Proxies/Proxy-Events might be completely OFF!
Example:
- we have a generic Event data type of size 1MB
- and some alignment
- in the code referenced above, the number of slots gets re-calculated for a virtual type `std::max_align_t`
- this type is much smaller. Therefore the calculated number of slots will be MASSIVE.
- a normal/typed proxy might access the underlying `DynamicArray` in `EventDataStorage` and see this MASSIVE/WRONG number and could do "stupid" things!
### How
Create two variations of the integration test with one process creating a GenericSkeleton for service S.
And then have:
- a consumer process with a `GenericProxy`
- a consumer process with a norma `Proxy`
which access the service.
Look at the possible error description above and try to reveal this potential error, by adjusting the slot-numbers accordingly in the configuration and in the test-apps (with what sample-count they are going to subscribe and how many samples they are holding/using).
### Estimates for realization
3 days (design + implementation)
### Category
- [ ] Affects Detailed Design
### Requirements / Architecture
- [x] Requirements / Architecture are not affected by this change?
Contributor guide
Assessment
This issue has not been assessed yet.