падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/NewMessage'), возвращает 0, SysErrorMessage(GetLastError) = Недостаточно памяти для обработки команды. И обработчик результата 0 вызывает исключение.
Аптайм у сервера почти год, Windows Server 2016 Datacenter 10.0.14393, приличное железо.
Предположил, что причина в заполненной Global atom table, запустили у них дамп GAT
<RegisteredWindowMessageCount>1767</RegisteredWindowMessageCount>
<GlobalAtomCount>404</GlobalAtomCount>
т.е. лимит в 16384 сообщения не достигнут.
При этом само сообщение 'Gp/OtlTaskEvents/NewMessage' в зарегистрированных есть.
Чтобы такое эдакое еще проверить? Потому что на перезагрузку сервера они вряд ли согласятся
'''wmic pagefileset get name, initialsize, maxsize'''
не, памяти полно и вирт и физической Виртуальная память Всего 1571499 Мб Свободно 235587 Мб
Судя по коду RtlAddAtomToAtomTable код STATUS_NO_MEMORY возвращается только в случае неуспешности выполнения RtlpAllocateAtom, а она является прямым кастом на кучу (прямо настоящую кучу а не то что здесь кучей считают) т.е. вызов RtlAllocateHeap + RtlProcessHeap неуспешны. Перевожу на наш. Памяти у тебя может быть много, а вот у кучи могут быть проблемы, только я вот не помню - куча в данном случае расширяемая или нет? такое ощущение что нет
да, я предположил, что у них закончилась системная куча, попросил значение из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems значение "windows" но его не увеличить без перезагрузки сервера
А тебе обязательно надо глобальные атомы арендовывать в больших количествах? Обычно достаточно одного атома на экземпляр программы, чтоб другие видели. А если нужно какой-то обмен сообщениями делать, то уж точно не через атомы.
Это не мне, это Omni thread library регистрирует свои сообщения, но это все вполне корректно, поломалось на одном из тысяч инсталляций софта. 10%клиентов приносят 90% проблем
Я так понял это не его а вот от этой либы https://github.com/gabr42/OmniThreadLibrary
Обсуждают сегодня