Падает 1.11.0

IPoE related questions
_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Падает 1.11.0

Post by _longhorn_ »

Добрый день!
Используем accel-ppp, после обновления с 1.9.0 до 1.11.0 начались регулярные падения, интервал разный, в среднем раз в два-три дня. Используем модули ipoe и vlan-mon, включены unit_cache=1000 и soft-terminate=1.
accel собран с -DCMAKE_BUILD_TYPE=Debug и -DMEMDEBUG=TRUE, в sysctl kernel.core_uses_pid=1 и kernel.core_pattern=/root/core-%e-%p, ulimit -c unlimited, однако при падении core-дамп не создается. Ядра 4.4.18 и 3.14.74, Debian 8 amd64.
Подскажите, что подкрутить, чтобы хотя-бы сохранить корку? Заметили, что значительно быстрее падает при попытке завершить сессию, особенно несколько сразу.
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Падает 1.11.0

Post by dimka88 »

_longhorn_ wrote: Подскажите, что подкрутить, чтобы хотя-бы сохранить корку?
dmesg информирует о сигфолте?
accel-ppp запущен от имени суперпользователя?
accel-ppp что в логе оставил, последние строк 5?
_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Re: Падает 1.11.0

Post by _longhorn_ »

В dmesg тишина, accel-ppp запускается от рута, в логе все штатно.
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Падает 1.11.0

Post by dimka88 »

_longhorn_ wrote:В dmesg тишина
Насколько мне не изменяет память, запись о сигфолтах по умолчанию всегда попадает в dmesg.
Значит делаем по старинке, на данной машине создаем файл file.c следующего содержания

Code: Select all

int main() {
  *(char *)0 = 0;
  return 0;
}
компилируем

Code: Select all

 gcc file.c
запускаем ./a.out

Смотрим есть ли сообщение в dmesg, ищем корку.
_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Re: Падает 1.11.0

Post by _longhorn_ »

В dmesg попало:

Code: Select all

[Tue Aug 23 12:39:56 2016] a.out[12955]: segfault at 0 ip 00000000004004bf sp 00007ffd045b9110 error 6 in a.out[400000+1000]
А корки почему-то нет...
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Падает 1.11.0

Post by dimka88 »

Выполните

Code: Select all

ulimit -c unlimited
Потом посмотрите результат выполнения

Code: Select all

ulimit -c
должно быть unlimited вместо 0.
Добавте в /etc/sysctl.conf

Code: Select all

kernel.core_uses_pid = 1
kernel.core_pattern = /root/core-%e-%p
Примените

Code: Select all

sysctl -p
снова запустите ./a.out и сделайте

Code: Select all

ls /root/
_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Re: Падает 1.11.0

Post by _longhorn_ »

Теперь есть, спасибо. Проблема была в ulimit -c unlimited, sysctl до этого уже менял. Теперь будем сидеть и ждать пока упадет снова.
_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Re: Падает 1.11.0

Post by _longhorn_ »

Упал вчера утром. Что любопытно, в dmesg тишина, в логах пусто, ну и корки тоже нету. Ума не приложу что делать...
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Падает 1.11.0

Post by dimka88 »

Как вариант стоит рассмотреть запуск процесса через gdb, возможно в SCREEN.
_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Re: Падает 1.11.0

Post by _longhorn_ »

Если подскажите как это делается или хотя-бы с чего начать то буду признателен :)
Post Reply