To my understanding message acknowledge deadlock problem is this:

In order to sync value X between A and B

* A sends X to B
* A waits for B to send acknowledgment to A so it makes sure B has latest X
* B waits for A to send acknowledgment of acknowledgment that B received their acknowledgment.
* and so on ...

How in real world applications we solve such problem? Do we just assume the infrastructure work and stop checking for acks?