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

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

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

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

Как определить выгрузился ли агент полностью?

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
В общем есть агент, скорее всего скриптовый с большим количеством какого-то там кода.
Как можно определить выгрузился ли он полностью?
Это вообще даже чисто теоритически возможно?
Агент может содержать свои самописные классны, сорваться по ошибке и часть памяти он таким макаром точно ужрёт.
Агент может делать репликацию и тем самым тоже будет сорван, если не справится по таймауту.
Агент может делать синхронизацию по ODBC/JDBC и т.д. и опять тако сорвется.
Ну и т.д.
В общем есть ли какой-то LS скрипт, который в состоянии это определить и не сработать ложно, когда агент менеджер кешируют часть базы(зачем он это делает тоже не понятно)???

Решения типа постоянного мониторинга памяти, загрузки и прочего не интересует.
Интересует исключительно определение постфакта, что агент "весь не вышел"
Да и куда это повесить, терминейт агента как по мне не поможет, так как не говорит о полной выгрузке, использовать связку агент запускает агента?
 
A

Akupaka

А есть ли подтверждение того, что проблема вообще существует?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Akupaka
вот когда смогу создать такой механизм сразу и сообщу, есть ли такая проблема и чем конркретнее она может быть вызвана
 

duchan

Green Team
20.09.2006
127
11
BIT
107
например, если агент серверный, то можно с консоли "посмотреть" чем агент менеджер занимается...
см.NotesSession.SendConsoleCommand ;)

ну или как-то вытащить agent log - правда прямых способов для этого не помню, через API походу только...
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
например, если агент серверный, то можно с консоли "посмотреть" чем агент менеджер занимается...
см.NotesSession.SendConsoleCommand

ну или как-то вытащить agent log - правда прямых способов для этого не помню, через API походу только...
ни то ни другое не обьясняет мне факт, почему к концу дня процессы nAmgr.exe сьедают по гигу вируальной памяти и нет ни одного средства это сбросить кроме как выгрузить Amgr
 

duchan

Green Team
20.09.2006
127
11
BIT
107
ни то ни другое не обьясняет мне факт, почему к концу дня процессы nAmgr.exe сьедают по гигу вируальной памяти и нет ни одного средства это сбросить кроме как выгрузить Amgr
ну, как мне видится, тут скорее проблема не столько агентов, сколько агентменеджера, теряющего память, и версии сервера....
некоторые версии теряли память и не только, лечилось только апгрейдом сервера...

Все доступные программные средства в лотусе интерпритируемые среды, сам по себе агент упасть не может, падает агентменеджер его выполняющий. так же агентменеджер отвечает за сбор "мусора" - освобожденной памяти, так что если агент недовыполнился то агентменеджер должен ВСЕ подчистить, если он этого не делает, значит проблема в нем, значит надо его менять на более "свежую" или работающую версию, а это только вместе с сервером.... :)
 
A

akat

ToxaRat,
а в ваших агентах есть вызовы COM-объектов, или других инородных лотусу тел?:)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
AlexeyKatyushyn
агенты не обязательно мои, это общая конценция, которую я тоже хочу контролировать :)
 
A

akat

это общая конценция, которую я тоже хочу контролировать wink.gif

Если провести аналогию, то в случае разработки веб-приложения (не на Домине) и использования плагинов в браузере, вы бы хотели конроллировать, что плагин отработал и выгрузился:facepalm:

ИМХО, КЕСАРЕВО - КЕСАРЮ...
Т.е. скорее вопросы к IBM.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Если провести аналогию, то в случае разработки веб-приложения (не на Домине) и использования плагинов в браузере, вы бы хотели конроллировать, что плагин отработал и выгрузился

ИМХО, КЕСАРЕВО - КЕСАРЮ...
Т.е. скорее вопросы к IBM.
данный вопрос я рассматриваю и как в контектсте своего анализатора - https://codeby.net/threads/31210.html
и как в контексте своей СЭД, которую любым доступным мне способом пытаюсь сделать совершеннее

врядли ИБМ может помочь мне решить этот вопрос, так как все их мануалы, редбуки и прочее я уже читал

а вот ответ такого вида, хоть направил меня куда-то:
Код:
Re: Hidden functions in LotusScript: Lsi_info() 
I was interested to learn about the lsi_info() function recently, but could not seem to find any documentation on it, except for 3 parameters for LS memory. I wrote a small chunk of script (in a web agent) to test the function, as follows: 

For i=0 To 255 
Print Cstr(i) & "=" & Lsi_info(i) & "<BR>" 
Next 


Unfortunately it's almost impossible to speculate on the meaning of each of the 
variables, so was near useless. I have discovered though (correct me if my 
guess is wrong): 


lsi_info(2) = The name of the currently executing function 
lsi_info(6) = The version of LotusScript running (!?) 
lsi_info(9) = Current language (en for english) 
lsi_info(12) = The name of the function that called this one 


These I have seen documented on Notes.net: 
lsi_info(50) = LS memory allocated 
lsi_info(51) = LS memory allocated from OS 
lsi_info(52) = LS blocks used
 
N

nvyush

а вот ответ такого вида, хоть направил меня куда-то:
Советую почитать:
Если не отбило охоту использовать Lsi_info, то на 255 доступные команды не заканчиваются:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Const LSI_INFO</div></div><div class="sp-body"><div class="sp-content">Public Const LSI_INFO_SOURCE_LINE = 1 'current line number
Public Const LSI_INFO_PROC = 2 'name of current procedure
Public Const LSI_INFO_MODULE = 3 'name of current module
Public Const LSI_INFO_VERSION = 6 'LotusScript version number
Public Const LSI_INFO_LANGUAGE = 9 'language setting
Public Const LSI_INFO_COUNTRY = 10 'country or region setting
Public Const LSI_INFO_CALLPROC = 12 'name of calling procedure
Public Const LSI_INFO_CALLMODULE = 13 'name of calling module
Public Const LSI_INFO_MEMORY = 50 'LotusScript memory allocated
Public Const LSI_INFO_MEMORY_OS = 51 'LotusScript memory allocated from OS
Public Const LSI_INFO_MEMORY_BLOCKS = 52 'LotusScript blocks used
Public Const LSI_INFO_TICKS_PER_SEC = 98 'clock ticks per second
Public Const LSI_INFO_TICKS = 99 'current clock ticks
Public Const LSI_INFO_PROCESS_ID = 400 'process ID
Public Const LSI_INFO_LINE = 420 'current line number
Public Const LSI_INFO_CALLLINE = 430 'line number of calling module
Public Const LSI_INFO_PLATFORM = 440 'platform information
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
nvy
о, чем дальше копаешь тем больше интересного узнаёшь

а есть где-то полный список по этой функции?
 
N

nvyush

а есть где-то полный список по этой функции?
В IBM :). То что выложил — компиляция из разных источников и "научный тык". Баловался со скриптом, похожим на вышеприведённый, только где-то до 5000, дальше заленился. Всё интересное/полезное привёл, остальное либо нули, либо не поддаётся интерпретации.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0

полный скисок, спасибо OKEN
 
H

hosm

не думаю, что полный=)
ссылку взяла с форума интертраста, кто-то из форумчан недавно давал ссылку на тот топик.
Ссылку записала в codebase - есть там тема про недокументированное.
Если что, ищите там... и дополняйте.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
в продолжение темы

( 14.07.2010 10:32:30 ) Взятие статистики...
( 14.07.2010 10:32:30 ) LS memory allocated: 13101224
( 14.07.2010 10:32:30 ) LS memory allocated from OS: 37971110
( 14.07.2010 10:32:30 ) LS blocks used: 166864
......море гомнокода.....
( 14.07.2010 10:36:27 ) LS memory allocated: 15339344
( 14.07.2010 10:36:27 ) LS memory allocated from OS: 42718374
( 14.07.2010 10:36:27 ) LS blocks used: 190524

как бы в трансе, должно же быть наоборот, а оно не только память не сьело а наоборот кучу освободило? :)
 
Y

Yakov

Почему должно быть наоборот? По состоянию на 14.07.2010 10:36:27 потребление памяти увеличилось по сравнению с 14.07.2010 10:32:30.
 
Мы в соцсетях:

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