как такое может быть вообще?
код примерно такой -
mov byte [ebx+15],0 ; тут ebx указывает на буффер в памяти
бла бла бла pthread_create
push 300000 call usleep add esp,4
push dword [ebx+10] ; тут всё тот же ebx
как бы всё работает... под нагрузкой код этот десятки тысяч раз обрабатывается нормально
но вот один раз вывесилось на push dword [ebx+10], причём ebx имел значение указывающее куда то в жопу (0xFF**)
если бы он изначально был неверный, то ошибка был бы на 10 инструкций раньше (см начало)
получается pthread_create или usleep изменили значение ebx - такое разве допускается?!