Файлы журналов, поврежденные символами NUL и текстом из других процессов

Я запускаю Wind River Linux 4.3 на встроенном одноплатном компьютере Freescale (SBC). Выход из uname -a :

 Linux ge101 2.6.34.10-myname-grsec-WR4.3.0.0_cgl #1 SMP PREEMPT Mon Aug 26 01:35:35 PDT 2013 ppc ppc ppc GNU/Linux 

Существует несколько модулей / процессов и создаются файлы журналов, которые меня интересуют:

  1. Модуль ядра, записывающий в / var / log / messages
  2. Приложение пользовательского пространства, которое имеет свой stdout, перенаправленный в файл журнала. Это приложение автоматически запускается при загрузке с помощью скрипта init.d. Скрипт делает это следующим образом: nohup ${executable_name} -C ${configfile_name} >> ${logfile} 2>&1 &
  3. Это же приложение пользовательского пространства записывает другие данные в отдельный файл в файловой системе SBC.
  4. Сценарий Python с использованием модуля logging для записи в файл журнала.

Я вижу странную проблему, когда эти 4 файла журнала иногда «повреждаются» следующим образом:

  • Везде между 78-309 символами NUL вставляются в файл журнала
  • В него вставлен текст из другого файла журнала (40 строк)
  • Когда это произойдет, в файле журнала есть фрагмент данных

Кроме того, есть некоторые экземпляры, в которые вставлены только символы NUL, и текст из других журналов не смешивается.

В файле журнала порядка 100 тыс. Строк это поведение происходит 7-9 раз.

Символы NUL сами по себе были бы довольно легко удалены во время последующей обработки. Однако неожиданные данные, появляющиеся из других файлов, разбивают скрипты разбора. И, конечно же, недостающий фрагмент данных является самым неприятным.

Кто-нибудь знает, что может вызвать это странное поведение?