Skip to content

2024 06 25 Eclipse iceoryx developer meetup

Mathias Kraus edited this page Jun 25, 2024 · 4 revisions

Eclipse iceoryx developer meetup to discuss #2193 and #325

Date: 2024/06/25

Time: 17:00 CET

Link: https://app.element.io/jitsi.html#conferenceDomain=meet.element.io&conferenceId=JitsiVtfrqukadefbqiqfxryxabai&userId=&roomId=!AooDAAwkyNWwkMElpt%3Agitter.im&roomName=eclipse%2Ficeoryx&startWithAudioMuted=true&startWithVideoMuted=true&language=en

https://giphy.com/gifs/hail-hypnotoad-rou0CTAp6Z8VW/fullscreen

Issues to be discussed

Attendees

  • Mathias Kraus, ekxide IO GmbH
  • Graham
  • Niclas
  • Hrudhansh

Agenda

  1. Discuss the root cause of #2193 and #325
  2. Possible solutions
  3. Word distribution

Minutes

1.1 The keep alive thread does not wake up after the system time changes

  • the thread is waiting in a semaphore timed_wait call
  • timed_wait requires the CLOCK_REALTIME which is affected by changes in the local time
  • additionally the heartbeat is send as timestamp
    • the timestamp uses the monotonic clock
    • jumps into the future can still happen with the monotonic clock
    • when RouDi checks for the last heartbeat, it might have a timestamp after a jump which is too far into the future compared to the heartbeat timestamp

2.1 Possible solution for the monitoring issue

  • create a timer_create abstraction
  • use that abstraction in combination with a blocking semaphore wait instead of the semaphore timed_wait
  • use a counter for the heartbeat instead of the timestamp
    • add a mechanism for RouDi to check when the counter does not change for some time to detect unresponsive applications

2.2 Possible solution for locking issue

3.1 ekxide might be contracted to fix the monitoring issue

3.2 Graham is looking into implementing the workaround

  • Mathias checks if the workaround is feasible and gives some hints on how to proceed
Clone this wiki locally