Bug #106114 Lost signals on ARM
Submitted: 8 Jan 2022 12:49 Modified: 15 Sep 2023 10:19
Reporter: Mikael Ronström Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:8.0.27 OS:Any
Assigned to: CPU Architecture:ARM

[8 Jan 2022 12:49] Mikael Ronström
Description:
When executing signals at high speed a set of signals can sometimes be dropped.
Probably ARM is missing yet one more memory barrier at some point.
A workaround is to enable use of mutex for signal sending in mt.cpp

How to repeat:
Run test_event -r 5000 -n Bug30780 T1 on ARM

Suggested fix:
Activate use of mutexes for internal signal sending in mt.cpp
[19 Jan 2022 16:10] MySQL Verification Team
Hi Mikael,

Thanks for the report. You are reproducing this only on ARM cpu ?

thanks
Bogdan
[19 Jan 2022 16:48] Mikael Ronström
Yep, only reproduced on ARM CPUs and only at fairly high load.
[15 Sep 2023 9:45] Ole John Aske
Posted by developer:
 
Believe this to be fixed by patch for Bug#33650674 Missing memory barriers - Apple M1 

Also see Bug#33589359 Fix PB2 release build issues on Apple ARM
[15 Sep 2023 10:19] Mikael Ronström
Great work Ole John, this explains why I still have some rare issues
when running RonDB 21.04 (based on MySQL 8.0.23 with my patches for
ARM support) and see no such issues with RonDB 22.10 that is based on
MySQL 8.0.34 and thus uses those patches of yours.