Вы не дали много информации. Однако, как и кто-то, кто занимается программированием в реальном времени для жизни, наиболее вероятными виновниками я ищу, когда такие вещи происходят:
- Использование неинициализированной памяти.
- A гонки состояние.
- Некоторые неясные комбинации выше.
Например, одна такая проблема, с которой я когда-то попал в разделяемую библиотеку, не будучи «разделенной», как я думал, и пытаюсь использовать дескриптор из одного процесса для индексации таблицы, которая еще не была инициализирована в второй процесс. В зависимости от того, как все началось, что может или не могло привести к тому, что важные данные еще в третьем процессе будут обработаны.
Мы должны видеть некоторый код, прежде чем сделать дикие домыслы. –
В вашем коде содержится что-то, что попадает в землю неопределенного поведения? –
Кто сказал, что компиляторы детерминированы? – AshleysBrain