• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Openlog - Ахтунг!

  • Автор темы akat
  • Дата начала
A

akat

Вообщем пол года "боролись", пытаясь найти причину, казалось бы спонтанных, падений сервера.
Помог апгрейд сервера на 9-ку. При этом на консоле он стал выдавать:

[09A8:012D-033C] *** You are using LSI_INFO in LotusScript which is an undocumented feature only used in a controlled environment, and is unsupported
[09A8:012D-033C] ********************
[09A8:012D-033C] *** LSI_INFO(14) was found and is known to cause memory corruption, leading to server instability. Please remove all uses of this from your application.
[09A8:012D-033C] ********************
[09A8:012D-033C] **************************
[09A8:012D-033C] *** Agent : DoSubOnServer
[09A8:012D-033C] *** DB : db\base.nsf
[09A8:012D-033C] **************************

Далее, к первоисточнику:


Гуглим еще:

(проблема вскрылась еще в 2006, в марте...)


Что делать?
Установить NoLSIStackTrace=True в инициализации либы OpenLogFunctions (версии 1.5), и везде, где исползуется либа в ваших базах.

Минусы: теряем стек вызовов в поле Stack Trace лога. Но не смертельно и лучше чем спонтанные краши!

Ситуация краша возникает, когда логируется от имени сервера, например серверным агентом. Скорее, когда выполняется интенсивное логирование от имени сервера.
Если логируется в нотес-клиентах у юзеров, то проблем не возникает.
 
A

akat

Пасиб, за наводку)
1. Странно, но именно под 9-кой краши. На 8.5.х релизах краши тоже были.
Execute явно не используется. На 100% не уверен, т.к. много чужого кода.

2. Это всего лишь отключить console logging.
 
A

akat

Примерно так:
LotusScript.1100.AgentDBPath = db1.nsf
LotusScript.1100.AgentName = SystemShedule
LotusScript.1100.LSI_INFO_COUNT = 12
LotusScript.9D0.AgentDBPath = db2.nsf
LotusScript.9D0.AgentName = SystemShedule
LotusScript.9D0.LSI_INFO_COUNT = 14
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!