Зависание системы

PPPoE related questions
Post Reply
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Зависание системы

Post by core »

Здравствуйте.

Есть Accel-PPP, запущенный как PPPoE-сервер на VLAN. Есть клиент, подключенный через этот VLAN. При пропадании интерфейса-влана из системы сервер (вся система) зависает.

В логах при этом ничего или мусор.

Система - последняя версия CentOS 7.
Accel-PPP - из git, полученный по инструкции.
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Для того чтобы воспроизвести достаточно создать влан, подключить пользователя по PPPoE, затем удалить влан, например командой "ifdown xxx" или "systemctl restart network"
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Если нужна более подробная информация, скажите, что именно?
nik247
Posts: 108
Joined: 11 Oct 2014, 15:57

Re: Зависание системы

Post by nik247 »

А можете объяснить, почему у Вас происходит "При пропадании интерфейса-влана из системы"?
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Конечно, потому что я сам его удаляю (например в случае если больше не нужно чтобы конкретный PPPoE-сервер работал на определенном влане). Или когда перезапускаю сервис network - все вланы пропадают а потом снова появляются.
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Зависание системы

Post by dimka88 »

core wrote:Конечно, потому что я сам его удаляю (например в случае если больше не нужно чтобы конкретный PPPoE-сервер работал на определенном влане).
Тогда уж и accel-ppp стоп/старт делайте. Конечно же хочется такой гибкости от accel-ppp, но это не целесообразно, моё мнение.
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Понятное дело что можно сначала остановить Accel-PPP или отключить работу на определенном интерфейсе через accel-cmd, но это лишь способ обойти проблему. Мне кажется что останов влана или другого сетевого интерфейса не должен приводить к зависанию всей системы.
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Кстати не знаю связано это или нет, но при попытке перезагрузить сервер с accel-ppp, в случае если он длительное время поработал, даже если сначала вручную остановить accel-ppp - система молча виснет.
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Вот еще информация:

1) Проблема не связана с VLAN, т.к. если запустить сервер на Ethernet-интерфейсе без вланов и сделать ip link set ens32 down - происходит зависание
2) Мне удалось воспроизвести ошибку на другой системе (виртуальная машина с CentOS 7 на vsphere), так что не похоже чтобы это была аппаратная проблема на конкретном компьютере.
3) На виртуалке сработал kdump, и вот что было в конце его лога:

Code: Select all

[   99.742598] BUG: unable to handle kernel NULL pointer dereference at 0000000000000398
[   99.743003] IP: [<ffffffffa0255c67>] pppoe_release+0x157/0x1a0 [pppoe]
[   99.743233] PGD 7bd6f067 PUD 7bd6e067 PMD 0
[   99.743438] Oops: 0000 [#1] SMP
[   99.743677] Modules linked in: pptp gre pppoe pppox ppp_generic slhc coretemp crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev aesni_intel lrw gf
128mul glue_helper ablk_helper cryptd vmw_balloon serio_raw pcspkr i2c_piix4 vmw_vmci shpchp parport_pc parport ext4 mbcache jbd2 sr_mod cdrom ata_generic pata_acpi sd_
mod crc_t10dif crct10dif_common vmwgfx drm_kms_helper ttm ata_piix drm i2c_core e1000 libata vmw_pvscsi floppy
[   99.745255] CPU: 2 PID: 2004 Comm: accel-pppd Not tainted 3.10.0-229.14.1.el7.x86_64 #1
[   99.745606] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 06/22/2012
[   99.746377] task: ffff8800368a2220 ti: ffff880079820000 task.ti: ffff880079820000
[   99.746804] RIP: 0010:[<ffffffffa0255c67>]  [<ffffffffa0255c67>] pppoe_release+0x157/0x1a0 [pppoe]
[   99.747797] RSP: 0018:ffff880079823e40  EFLAGS: 00010202
[   99.748476] RAX: 0000000000000000 RBX: ffff880079884000 RCX: ffff880079823fd8
[   99.749005] RDX: 0000000000000020 RSI: 0000000000000000 RDI: ffff880079884070
[   99.749557] RBP: ffff880079823e70 R08: 0000000000000000 R09: 0000000000000000
[   99.750094] R10: ffff880072025bb0 R11: ffff88007a02e110 R12: ffffffffa0258280
[   99.750686] R13: ffff880072025b80 R14: ffff8800675f3f00 R15: ffff88007c639a20
[   99.751248] FS:  00007f72fdbbd700(0000) GS:ffff88007fd00000(0000) knlGS:0000000000000000
[   99.751833] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   99.752437] CR2: 0000000000000398 CR3: 0000000036faf000 CR4: 00000000000407e0
[   99.753102] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   99.753753] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   99.754389] Stack:
[   99.755026]  0000000800000001 ffff880072025b80 ffffffffa0258280 ffff880072025bb0
[   99.755718]  ffff8800675f3f00 ffff88007c639a20 ffff880079823e90 ffffffff814e2baf
[   99.756417]  ffff88007a02e100 0000000000000008 ffff880079823ea0 ffffffff814e2c22
[   99.757125] Call Trace:
[   99.757854]  [<ffffffff814e2baf>] sock_release+0x1f/0x80
[   99.758601]  [<ffffffff814e2c22>] sock_close+0x12/0x20
[   99.759831]  [<ffffffff811c8579>] __fput+0xe9/0x270
[   99.759836]  [<ffffffff811c883e>] ____fput+0xe/0x10
[   99.759842]  [<ffffffff81093b47>] task_work_run+0xa7/0xe0
[   99.759849]  [<ffffffff81013b0c>] do_notify_resume+0x9c/0xb0
[   99.759855]  [<ffffffff8161463d>] int_signal+0x12/0x17
[   99.759877] Code: 4b 6c 0f 94 c0 84 c0 75 43 31 c0 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d c3 66 2e 0f 1f 84 00 00 00 00 00 48 8b 83 30 03 00 00 <48> 8b 80 98 03 0
0 00 65 ff 08 48 c7 83 30 03 00 00 00 00 00 00
[   99.759884] RIP  [<ffffffffa0255c67>] pppoe_release+0x157/0x1a0 [pppoe]
[   99.759886]  RSP <ffff880079823e40>
[   99.759887] CR2: 0000000000000398
core
Posts: 34
Joined: 16 Sep 2015, 19:30

Re: Зависание системы

Post by core »

Похоже что это связано вот с этим багом:

http://www.spinics.net/lists/netdev/msg344055.html

После применения предложенного патча проблема больше не проявляется.
Post Reply