У меня есть программа, которая извлекает текст из PDF-файлов. Он выполняется как запланированная задача в Windows Server 2008.
Я использую библиотеку ByteScout PDF Extractor SDK, основанную на Tesseract.
С момента запуска в ноябре прошлого года программа успешно извлекла текст из более чем 50 000 PDF-файлов из разных источников.
Недавно он завис на одном PDF-файле, а затем и на втором, из того же источника в том же визуальном формате.
Я могу воссоздать проблему, используя тривиальную 12-строчную программу. Я отправил эту программу поставщику, но запуск этой программы в их среде работает (не зависает).
Итак, я провел несколько экспериментов, и вот тут-то и возникает странность.
Программа работает на моем ПК (Windows 7), если я подключаюсь к ней по протоколу RDP, но не при входе в систему напрямую. Это поведение повторяется на других ПК с Windows 7 в нашей среде.
Он работает на сервере 2008, если я использую RDP, но не как запланированное задание.
Он работает в Windows 10, независимо от того, подключен ли я к удаленному рабочему столу или вошел в систему напрямую.
Если я смотрю программу в Process Monitor, когда она зависает, я вижу, что она снова и снова открывает и читает C:\Windows\Fonts\times.ttf.
Если бы он работал только с использованием RDP, я бы подумал, не связана ли причина с неудачным использованием ускорения графики или чем-то подобным, но, учитывая, что он не работает как запланированное задание, где его тоже нет, я думаю это тупик.
У кого-нибудь есть предложения, куда смотреть дальше?