Design #1304
Investigate MessageGAM related Thread Blocking.
Status:
New
Priority:
Low
Assignee:
-
Start date:
30.09.2022
Due date:
% Done:
0%
Estimated time:
Description
The following issue has been observed multiple times, considering the following architecture:
- Application with 3 threads, T1@10ms, T2@500us and T3@500us
- T1 has a ConstantGAMT1 with two variables 'StatusDoneT2' and 'StatusDoneT3';
- T2 has a MessageGAMT2 which, on a given event A, writes to T1.ConstantGAMT1.StatusDoneT2;
- T3 has a MessageGAMT3 which, on a given event B, writes to T1.ConstantGAMT1.StatusDoneT3;
- Both events A & B can happen simultaneously or within a very small time interval.
- Segmentation Fault;
- EventConditionTrigger Thread in bad termination stage -> Blocked application;
- Split ConstantGAMT1 in two ConstantGAM, one for variable 'StatusDoneT2' and another for 'StatusDoneT3' and modify the variable paths on the MessageGAMs accordingly. After this modification, the reported issues were no longer observed (so far).
History
#1 Updated by Pedro Lourenco over 2 years ago
- File MESSAGEST2T3_SEGFAULT.JPG MESSAGEST2T3_SEGFAULT.JPG added
- File MESSAGEST2T3_INTERESTING.JPG MESSAGEST2T3_INTERESTING.JPG added
- File MESSAGEST2T3_BADSTAGE.JPG MESSAGEST2T3_BADSTAGE.JPG added
The missing files.