Повідомлення створено: 19. 12. 2011 [14:25]
|
Some0ne
Vadim Kardash
Автор теми
Зареєстрован(а) с: 23.09.2009
Повідомлення: 28
|
Доброго времени суток.
обнаружилась следующая проблема:
имеется "сервер" (AltLinux5.1 ядро Linux-2.6.30-std-def-alt15) на котором запущена демон OpenSCADA (0.7.2)
через какое-то время после запуска, может быть неделя, скада перестаёт отвечать
по запросу: service oscadad status
ответ: openscada is dead, but susbsystem is locked
а в системном журнале имеется запись:
kernel: [268456.770545] openscada[20689]: segfault at 7fff886faf68 ip 00007fff886faf68 sp 00007fff5e17f5f8 error 15
подскажите в чем может быть дело, или какую ещё информацию нужно предоставить.
|
Повідомлення створено: 19. 12. 2011 [14:42]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"Some0ne" wrote:
kernel: [268456.770545] openscada[20689]: segfault at 7fff886faf68 ip 00007fff886faf68 sp 00007fff5e17f5f8 error 15
подскажите в чем может быть дело, или какую ещё информацию нужно предоставить.
Получаем корку и достаём перечень предсмертных вызовов: http://wiki.oscada.org/Doc/OtchjotOSboe
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 19. 12. 2011 [15:06]
|
Some0ne
Vadim Kardash
Автор теми
Зареєстрован(а) с: 23.09.2009
Повідомлення: 28
|
Достаточно ли будет добавить
ulimit -c unlimited
в /etc/init.d/oscadad
start()
{
export LANG=ru_RU.UTF-8
export LANGUAGE=ru_RU.UTF-8
ulimit -c unlimited
start_daemon --lockfile "$LOCKFILE" --expect-user root -- $OPENSCADA $ARGS
RETVAL=$?
return $RETVAL
}
и перезапустить демон?
|
Повідомлення створено: 19. 12. 2011 [16:20]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"Some0ne" wrote:
Достаточно ли будет добавить
ulimit -c unlimited
Недостаточно. Нужно проверить/установить значение в /proc/sys/kernel/core_pattern. В случае с ALTLinux точно нужно устанавливать.
Кроме того из режима демона мне ни разу не удавалось получить корку. Поэтому заходим от root, вызываем "screen" в нём вызываем:
$ export LANG=ru_RU.UTF-8
$ ulimit -c unlimited
$ openscada
Затем нажимаем Ctr+A, D
После этого OpenSCADA продолжит работу, как демон и при крушении будет создана корка в /var/spool/openscada. Мало того можно войти назад ($ screen -r) и увидеть сообщения в консоли, перед падением.
P.S. Если будет, при запуске, ругаться на отсутствие экрана, то спрячьте куда нибудь файл модуля /usr/lib/openscada/ui_QTStarter.so
Learn, learn and learn better than work, work and work.
|