This question already has an answer here:
My understanding of the halting problem in layman's terms is that there is no algorithm which will accept an arbitrary program as input and return true if it halts and false if it does not.
For a Turing machine does the question, "Does this Turing machine halt for all inputs?" always have an answer in the first place?
E.g. the algorithm "If this machine halts, then loop. Otherwise halt." seems to suggest that the answer is no. Is there something wrong with this example? Is there a canonical example?