COVESA / vsomeip

An implementation of Scalable service-Oriented MiddlewarE over IP
Mozilla Public License 2.0
1.09k stars 678 forks source link

Major Minor Version Issue in VSOMEIP #531

Closed manojkumarms1999 closed 10 months ago

manojkumarms1999 commented 11 months ago

Hello Everyone, Sharing an issue, that occured on VSOMEIP

Issue : An offer is sent from an Service with a major minor Version 1:1 everytime, but VSOMEIP stack find, "Available = false" for Service version 1.1, then after 16 ms "Available = true" --- logs -- 07:38:01.123 : vsomeip : ON_AVAILABLE(3d1e): [001e.0001:1.1] // 3d1e is ServiceX

07:38:01.123 Someip-XService: onAvailabilityCallback Called Service_X

07:38:01.124 : XServiceX: onAvailabilityEvent, isAvailable = [false], majorVersion = [1], minorVersion = [1] // supposed to be true_ reported available=true 16ms

07:38:01.140 XServiceX: onAvailabilityEvent, isAvailable = [true], majorVersion = [1], minorVersion = [1] //becomes true_

image ---end of logs --- The logic is written on Service X, is like

first check minor =1 and then minor =0, if minor=1 is marked not available

07:38:01.126 : XService_X: onAvailabilityEvent, isAvailable = [true], majorVersion = [1], minorVersion = [0] image since this reports true the underlying services will work only with 1:0 not on 1:1

Suspection : Race condition at vSOMEIP, vSOMEIP stack returned first "Available = false" (on_availability) for Service version 1.1 and then "Available = true" some 16 ms after, whereas OFFER for Service version 1.1 was received.


Stack Version : vSomeIP 3.1.20 Environment : on sleep wakeup scenario between 2 ECU's which uses same SOMEIP Stack 3.1.20.3 Occurence of the issue : Frequent Refered docs : "AUTOSAR SOMEIP spec "Different Minor version shall be compatible with each other" https://www.autosar.org/fileadmin/standards/foundation/1-4/AUTOSAR_PRS_SOMEIPProtocol.pdf https://www.autosar.org/fileadmin/standards/classic/22-11/AUTOSAR_SWS_ServiceDiscovery.pdf

Thank You

fcmonteiro commented 11 months ago

Hi @manojkumarms1999, can you retest this with the latest vSomeIP 3.3.8? We have dropped suport for vSomeIP 3.1.x