Только на производственной машине у меня есть процесс sh в процессе. Я смог изолировать это на ParseFromString
вызов. Когда ParseFromString
не вызывается, процесс не создает sh. При вызове процесс в конечном итоге обработает sh: не в ParseFromString
, а после нескольких выходов из стека в одном потоке (поэтому я точно определил точное местоположение cra sh, где на самом деле ничего интересного не происходит), так что, вероятно, это плохая проблема выделения памяти. Это не воспроизводится ни в лаборатории, ни на производственном оборудовании с использованием WinDbg
. Ввод в ParseFromString
, как видно из дампа pretty-print (чистый текст, а не фактический двоичный ввод в метод), кажется нормальным без специальных символов или лишних пробелов. Двоичный файл на входе std::string
, конечно, имеет специальные символы.
Я хотел бы получить предложения о том, как продолжить расследование этого
Спасибо