haha... logic error? It's a bug either way and your program could have some serious flaws. If it was for medical use and that flaw had the result of killing somebody you should be counting your lucky stars because no one would look at your code to see your "logic error". (which would be called involuntary manslaughter)
Obviously if the int's are not using that data they can't cause any problems but thats a weak assumption. You never know when or how it might happen unless you explicitly state it... but only in highly optimized code would it be worth doing that way. The general practice is to disable interrupts.
But I can give several examples. Program context has nothing to do with it. You are not saving the stream. In fact many serious flaws have resulted because of such things(and they take various forms).
The general idea is
partially Modify data interrupt completely modify data
if the interrupt depends on the data, then since it interrupted it before it was completely modified the data of the data might be invalid(and usually is) and the code will not function as predicted.
A simple real example
global int x = 4