Why this Turing machine can't be an acceptor for the following language? Given the following language -
$L=\left\{\left\langle M_{1}, M_{2}\right\rangle \mid\left\langle M_{1}\right\rangle \notin L\left(M_{2}\right) \vee\left\langle M_{2}\right\rangle \notin L\left(M_{1}\right) \text { and are TM } M_{1}, M_{2}\right\}$
I know it's in CO-RE but why this is not a good acceptor for the above language?
On input $&lt;M1,M2&gt;$

In parallel simulate M1 on $&lt;M2&gt;$ and M2 on $&lt;M1&gt;$
if one rejects, accept.
if both accept , reject.

according to definition of being acceptor of a language, for any input x that belongs to the language the acceptor accepts which it does it at phase 1. for any input which doesn't belongs to the language we either reject or not halt which is also the case.
what am i missing?
You are not considering the fact that $M_1(M_2)$ and/or $M_2(M_1)$ might not halt. When this happens your Turing machine for $L$ will be stuck executing step 1.