4 ms·
A classical race condiction double bug. What happens here is there is a a special case of the data. So other routine of processing the data is used. It causes
by tomaszs 7y ago
A classical race condiction double bug. What happens here is there is a a special case of the data. So other routine of processing the data is used.
It causes a race condition that results in proving incomplete data to the next step of the process.
There is surely logic to prevent it from happening. But the data initially used the bad routine so no one expects the race condition to occur.
And at the end we have a bad routine that processes data badly because data are bad and incomplete. This routine does not expect how it receives the data and in what time.
In a result rendering breaks, but for the logic of the code it seems fine. So the error block is displayed. Gor GPU rendering it is a black box.
What is interesting if you did deep enought to find all these 3 issues that cause it each of them separately is fine. It is what they do together causes the issue.
Very nasty thing to track. And also fix. Because on a high level there is little to about it. And a workaround is mostly to detect the situation and process data slightly different way to avoid the issue, or to just do processing two times in a rather hacky way.