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

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

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

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

Linux, Падает Http

  • Автор темы turumbay
  • Дата начала
T

turumbay

Суть: регулярно падает процесс http. Внешний эффект как от sudo killall http - процесс отсутсвует в списке запущенных ( ps -u notes ), 80-й порт не занят.
Все остальные задачи работают нормально, базы открываются в клиенте и все такое...

Перезапустить задачу(lo http, tell http restart) не получается, т.к. домино считает что http запущен( sh ta пишет HTTP Server Listen for connect requests on TCP Port:80)

В логах (/var/log/ и доминошных) тишина, nsd не собирается.
Памяти достаточно(http занимает порядка 1Gb виртуальной памяти, свободно в момент падения > 10Gb).
Устойчиво воспроизводится на различных debian дистрибутивах (32 и 64) и различных domino ( r8.5.3, r9.0 )

Советовали посмотреть в сторону OOM killer, но он как вроде бы должен оставлять следы в kern.log, чего не наблюдается...

Собственно http задача поднята ради OSGI( крутица некое web приложение, заинсталенное через tell http osgi install ). Там вроде тоже ничего не течет(снимал heap dump - ничего подозрительного, в динамике хип не растет), ошибок JVM нет

Падает бессистемно, но регулярно. Падения не зависят от нагрузки. Повторюсь - все выглядит так, как будто кто-то дал killall http.

Понимаю, что данных маловато, но таки вопрос: куда бы еще посмотреть?
 

aameno2

Lotus Team
27.01.2009
732
137
BIT
131
1. ulimit ?
2. В workspace логах тишина?
3. 9ка с последним фп? Там как раз про http было
4. Сервер опубликован в инет?
5. Всего памяти выделено под домино сколько?
 
T

turumbay

1. ulimit ?
2. В workspace логах тишина?
3. 9ка с последним фп? Там как раз про http было
4. Сервер опубликован в инет?
5. Всего памяти выделено под домино сколько?
1. все выставлено согласно известной техноте, в консоли пишет что доволен
2. тишина
3. девятку попробовал как крайнее средство - качал триал с ibm.com, конкретную версию к сожалению не помню. Дело было в апреле... Конкретно щаз воюю с Server, Release 8.5.3, September 15, 2011, ubuntu server 12.10TLS 32bit. Пробовал на vds-ке(hetzner, 64bit, centos6) и в aws(ubuntu server 64 + domino 9.0) - картина та же.
4. торчит наружу, но не напрямую. перед domino стоит апач в режиме mod-proxy. апач пропускает запрос только на конкретный сервлет(а-ля spring dispatch servlet), который установлен через osgi и является точкой входа в веб-приложение. Кроме этого, апач обеспечивает ssl и заворачивает http на https. Т.е. фактически кишки домины наружу не видны, доступа к базам снаружи нет.
5. HTTPJVMMaxHeapSize=512M, если вы про это. Если нет, то куда еще имеет смысл смотреть по памяти?

Оно почти очевидно, что проблемы вызваны osgi-ным сервлетом, но вот хоть убей, не пойму как исправлять. Не за что зацепиться. Как можно уложить http задачу, чтобы не оставалось следов?
Нативных вызовов в сервлете нету(кроме ессно notes.jar). Пробовал запускать во внешнем osgi контейнере (felix) и цепляться к домино локально - все стабильно работает. Так бы и оставил, но нужна штатная авторизация, поэтому пришлось пихать внутрь domino.

а в домлоге что?
И в домлоге ничего криминального. Левых подключений нет (домен второго уровня, сервис не публичный, хотя и торчит наружу )
 

aameno2

Lotus Team
27.01.2009
732
137
BIT
131
Пробовали кореляцию с логами в апаче по времени падения? Почему про апач, у меня тоже он фронтом стоял. Сам апач был жив а вот доминошный http клали.
И кстати, не все он (апач) редиректил.
HTTPJVMMaxHeapSize выставлять больше пробовали?
И всего памяти под сервер выделенно сколько?
 
T

turumbay

Пробовали кореляцию с логами в апаче по времени падения?
HTTPJVMMaxHeapSize выставлять больше пробовали?
Обычно падает когда к нему никто не обращается.
Память увеличивать не пробовал, но ее похоже хватает. В R9 по дефолту вроде 1gb выделен под http jvm - не помогало.
Хип не растет, намеков на OutOfMemoryError нетту.
И всего памяти под сервер выделенно сколько?
Сорри, не очень понимаю вопрос. Физически стоит 16Gb, свопа нет(девелоперская машина), настройки домино "из коробки", notes.ini не трогал ( только JIT включил )

Есть смутное ощущение, что имеется кореляция со способом запуска сервера. Похоже(но не уверен), что все случаи падения возникали после запуска domino из-под ssh.
Вчера стартовал domino из консоли сервера(физический доступ, tty) - вроде бы не валится, по крайней мере ночь простоял (15k запросов в domlog). Оно такое может быть? В чем разница между сессиями login и ssh?
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">top, сортировка по virtual memory</div></div><div class="sp-body"><div class="sp-content">
Код:
top - 11:01:47 up 22:33, 6 users, load average: 4.21, 1.76, 0.69
Tasks: 279 total,  1 running, 278 sleeping,  0 stopped,  0 zombie
%Cpu(s): 0.4 us, 0.4 sy, 0.0 ni, 98.9 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 16511312 total, 8056568 used, 8454744 free,  259944 buffers
KiB Swap:		0 total,		0 used,		0 free, 5415032 cached

PID USER	 PR NI VIRT RES SHR S %CPU %MEM	TIME+ COMMAND
26719 turumbay 20  0 1162m 597m 39m S  0.7 3.7  4:03.88 java
23808 notes	 20  0 1098m 161m 58m S  1.0 1.0  23:16.49 http
23555 notes	 20  0 505m 65m 48m S  0.3 0.4  0:49.30 server
23809 notes	 20  0 469m 61m 44m S  0.0 0.4  0:13.13 ldap
23585 notes	 20  0 468m 86m 70m S  0.3 0.5  1:00.10 event
23799 notes	 20  0 467m 34m 19m S  0.3 0.2  0:06.59 update
23801 notes	 20  0 466m 31m 16m S  0.0 0.2  0:28.40 router
23915 notes	 20  0 463m 23m 9316 S  0.0 0.1  0:04.68 amgr
23802 notes	 20  0 462m 31m 17m S  0.0 0.2  0:06.81 amgr
23804 notes	 20  0 460m 135m 121m S  0.0 0.8  0:25.49 adminp
23810 notes	 20  0 459m 27m 13m S  0.0 0.2  0:07.04 rnrmgr
23807 notes	 20  0 459m 27m 13m S  0.0 0.2  0:05.20 sched
23800 notes	 20  0 459m 29m 15m S  0.0 0.2  0:04.06 replica
 

aameno2

Lotus Team
27.01.2009
732
137
BIT
131
А если скрипт rc_domino?
Про память, сорри, подумал что виртуалка.
Включайте дебаг
 
T

turumbay

А если скрипт rc_domino?
через init.d? не пробовал. девелоперская машина, сервер поднимается/укладывается вручную. если простоит до понедельника, буду считать причиной падений способ запуска - тогда обязательно проверю автозапуск. спасибо за наводку.
Включайте дебаг
А можно поподробнее? Кого дебажить: linux, domino, java?
 

Мыш

Lotus Team
12.02.2008
1 219
29
BIT
66
turumbay, а на железо не грешите? Подобные эффекты наблюдал при битой памяти...
 

Мыш

Lotus Team
12.02.2008
1 219
29
BIT
66
А debug_threadid и debug_initterm пробовали ставить? Хотя вряд ли, конечно, покажет, если так вот тихо помирает. Мож, какая-то база сурово побилась? Был в практике почти фантастический случай - RAID-контроллер сломался так хитро, что периодически (!) писал на диск всякую лабуду (в лотусовые базы, в том числе). Серверные задачи тоже тихо помирали. Базы-то перенесли на другое железо, а, ессно, по фигу уже - побились...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
ssh - не детачит вывод и сетевые задержки могут (теоретически) тормознуть процесс, а вот реакция процесса - это вопрос ;)
запущайте через screen (если не делать "правильно" - через скрипты с перенаправлением ввода/вывода)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
"о птичках"...
ежели сервант стартует без резолвинга имени - хттп не стартанет я с этим сталкивался
как-то было - внутренний днс стартовал позже домины - хттп не стартовал
 
T

turumbay

Есть смутное ощущение, что имеется кореляция со способом запуска сервера. Похоже(но не уверен), что все случаи падения возникали после запуска domino из-под ssh.
Вчера стартовал domino из консоли сервера(физический доступ, tty) - вроде бы не валится, по крайней мере ночь простоял (15k запросов в domlog).
Ощущение переросло в уверенность: http падает при запуске domino из-под ssh. При запуске из консоли (или автозапуске через rc.d) все путем.
Т.к. в данном случае ехать важнее, чем шашечки - выяснение причин такого поведения откладывается на неопределенное время. Проблема решена, всем спасибо за участие.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
http падает при запуске domino из-под ssh
я пояснил возможную причину, скрипты детачат вывод (или перенаправляют в файло/null), егоже детачит и screen
т.е. если надо одноразово пустить - пользуйте screen
screen -S somename
создает консоль с именем somename
screen -x somename
подключается к существующей (можно из разных мест и одновременно)
Ctrl-A, D - отключение от консоли
ну собсно все это есть в манах и гугле :)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
дополню...
если в автоматическом режиме (т.е. взаимодействовать предполагается несразу)
screen -dmS domino domino-launch
и чиста позырить на консоль и порулить sreen -x domino
где domino-launch - скрипт для запуска домины прописанный в путя (либо в тек. каталоге, тоды ./domino-launch)
 
Мы в соцсетях:

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