The conflict will not be noticed during the ID portion. But it will be noticed during the message portion, assuming the two transmitters are sending different messages. But by then it is too late to recover gracefully. The damage has already been done. When a conflict is detected during the ID portion, the less dominant transmitter can stop transmitting without corrupting the message. In principle, it would be possible for this to happen during the message too. The more "dominant message" would get through. But the CAN bus is not designed to implement this sort of error recovery. I think the reason is timing. The ID field is short enough that two independent transmitters that start at the same time will stay in sync close enough during the ID so that arbitration works. But if you add in the message portion, now the small difference in transmission rates could make the two transmitters drift far enough out of synchronization that it becomes impossible to reliably detect bus conflict in time to prevent damage to the data. So they don't even both trying, but as Emb4U said, this becomes a more serious error and causes one of the transmitters to be switched off semi-permanently.it may be
but i have one question. how transmitter node get to know that the message is destroyed outside and why? if both has sane id why one get accepted?
I have a another answar which was strike in my mind ,when the two node having same identifier,and when the identifiers will go for the arbitration the bus will think there is a one identifier because the the identifiers are look like same.And then, when the arbitration will be complete, one will be discarded automatically after the arbitration.
The statement is mostly wrong.When two nodes sends same identifier in a same time to access to the another node then one node will go to the busoff condition.