A starts computation. If it halts A sends a result, otherwise it won't.
B sees the result in a finite time. If it doesn't, the program didn't halt.
If time is discrete, it won't fly I think. This works because there is no smallest time unit in gr.
We are working with different types of infinities. A's computational steps take, the further B goes in, less time. Sort of Zeno's paradox. It is easy to map all natural numbers between 0 and 1 on the real line. Just not 1 to 1.
There are more problems.
How to get the information out and how to survive the divergent blue shift, it is somewhat unclear. B cannot talk back. But still a cool find.