Nejde o race condition (timing bug), ale o false-assumption / over-optimalization.
viz:
https://github.com/DavidBuchanan314/parallel-png-proposal/issues/3Soubor PNG obsahuje segmenty, na ktere se odkazuje indexem z tabulky. Pokud mate paralelni dekoder, kazde vlakno si jede svoji malou cast - od urciteho offsetu. Pokud mate single thread dekoder, tak se indexova tabulka ignoruje a procesuje se cely soubor sekvencne.
Chyba je spise na strane single thread dekoderu, ktery namisto toho, aby vstup rozsekal podle indexu na segmenty s omezenou delkou, procesuje vse co mu prijde - i kdyby indexova tabulka byla zkonstruovana takovym zpusobem, ze budou v souboru diry ktere se nemaji dekodovat.