Jump to content
Калькуляторы

ubuntu уходит в kernel panic

Приветствую.

Есть сервер accel-ppp, nat, шейпер, nfqfilter

 

после обновления стал падать в kernel panic.

Через netconsole решил записать вывод:

[ 7680.513658] ------------[ cut here ]------------

[ 7680.517104] kernel BUG at /build/linux-W6HB68/linux-4.4.0/net/netfilter/nf_nat_core.c:395!

[ 7680.521891] invalid opcode: 0000 [#1] SMP

[ 7680.526274] Modules linked in: nfnetlink_queue binfmt_misc ufs qnx4 hfsplus hfs minix ntfs msdos jfs xfs netconsole configfs nf_conntrack_netlink arc4 ppp_mppe act_police sch_ingress cls_u32 sch_sfq sch_htb pptp gre pppoe pppox xt_nat xt_REDIRECT nf_nat_redirect iptable_nat nf_nat_ipv4 nf_nat ipt_REJECT nf_reject_ipv4 nf_conntrack_ipv4 nf_defrag_ipv4 ts_kmp xt_set xt_recent xt_conntrack nf_conntrack xt_string xt_TCPMSS xt_tcpudp xt_NFQUEUE iptable_mangle ip_set_hash_ip ip_set nfnetlink ipt_NETFLOW(OE) iptable_filter ip_tables x_tables ipmi_ssif gpio_ich coretemp kvm joydev input_leds irqbypass i7core_edac edac_core ipmi_si ipmi_msghandler 8250_fintek shpchp lpc_ich mac_hid ib_iser rdma_cm iw_cm ib_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ipoe(OE) autofs4 btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear igb hid_generic e1000e dca usbhid ptp pata_acpi hid pps_core i2c_algo_bit fjes

[ 7680.591782] CPU: 6 PID: 30325 Comm: nfqfilter Tainted: G OE 4.4.0-62-generic #83-Ubuntu

[ 7680.602347] Hardware name: Intel Corporation S3420GP/S3420GP, BIOS S3420GP.86B.01.00.0042.042920102218 04/29/2010

[ 7680.614324] task: ffff88063ff172c0 ti: ffff88061c998000 task.ti: ffff88061c998000

[ 7680.626705] RIP: 0010:[<ffffffffc04a62ee>] [<ffffffffc04a62ee>] nf_nat_setup_info+0x2fe/0x310 [nf_nat]

[ 7680.639547] RSP: 0018:ffff88061c99b568 EFLAGS: 00010202

[ 7680.652430] RAX: 0000000000000080 RBX: ffff8806166dcb40 RCX: 0000000000000000

[ 7680.665411] RDX: 0000000000000080 RSI: ffff88061c99b618 RDI: ffff8806166dcb40

[ 7680.679661] RBP: ffff88061c99b608 R08: 0000000000000014 R09: 0000000000000002

[ 7680.693372] R10: 0000000000000aa8 R11: 000000004801a8c0 R12: ffffffff81ef56c0

[ 7680.706951] R13: 0000000000000000 R14: ffff88061c99b618 R15: ffff8806405edae8

[ 7680.721843] FS: 00007f727bfff700(0000) GS:ffff88065fd80000(0000) knlGS:0000000000000000

[ 7680.740394] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

[ 7680.756993] CR2: 0000556bb921ed10 CR3: 000000063dd82000 CR4: 00000000000006e0

[ 7680.772317] Stack:

[ 7680.787829] 000000003702a8c0 0000000000000000 d1cde2c2000223c2 0000000000000000

[ 7680.804580] 000609f200000000 000000002635febc 0000000000000000 d1cde2c2000223c2

[ 7680.821157] ffff88063ee25f40 00000000000000f5 ffff880623fba400 0000000055a03370

[ 7680.837729] Call Trace:

[ 7680.855276] [<ffffffff81723e66>] ? __skb_flow_dissect+0x6a6/0x9f0

[ 7680.872838] [<ffffffffc04c00b1>] xt_snat_target_v0+0x71/0x90 [xt_nat]

[ 7680.893569] [<ffffffffc0382d75>] ipt_do_table+0x2f5/0x710 [ip_tables]

[ 7680.914198] [<ffffffffc0420680>] ? netflow_target+0x260/0xff0 [ipt_NETFLOW]

[ 7680.934734] [<ffffffffc043f0a8>] ? hash_ip4_kadt+0xa8/0xd0 [ip_set_hash_ip]

[ 7680.956185] [<ffffffffc0382dbd>] ? ipt_do_table+0x33d/0x710 [ip_tables]

[ 7680.977733] [<ffffffffc04b603f>] iptable_nat_do_chain+0x1f/0x30 [iptable_nat]

[ 7681.000029] [<ffffffffc04b17e1>] nf_nat_ipv4_fn+0x181/0x220 [nf_nat_ipv4]

[ 7681.021834] [<ffffffffc04b6020>] ? iptable_nat_ipv4_fn+0x20/0x20 [iptable_nat]

[ 7681.044924] [<ffffffffc04b194a>] nf_nat_ipv4_out+0x4a/0xf0 [nf_nat_ipv4]

[ 7681.065923] [<ffffffffc04b6085>] iptable_nat_ipv4_out+0x15/0x20 [iptable_nat]

[ 7681.086222] [<ffffffff817640a2>] nf_iterate+0x62/0x80

[ 7681.107270] [<ffffffff81764133>] nf_hook_slow+0x73/0xd0

[ 7681.127659] [<ffffffff817714bf>] ip_output+0xcf/0xe0

[ 7681.148641] [<ffffffff81770920>] ? __ip_flush_pending_frames.isra.39+0x90/0x90

[ 7681.169589] [<ffffffff8176d0ad>] ip_forward_finish+0x4d/0x70

[ 7681.191150] [<ffffffff8176d469>] ip_forward+0x399/0x480

[ 7681.212658] [<ffffffff8176d060>] ? ip_frag_mem+0x50/0x50

[ 7681.233909] [<ffffffff8176b0f2>] ip_rcv_finish+0x92/0x320

[ 7681.255530] [<ffffffff8176525c>] nf_reinject+0xcc/0x180

[ 7681.276189] [<ffffffffc0656909>] nfqnl_recv_verdict+0x299/0x3a0 [nfnetlink_queue]

[ 7681.297349] [<ffffffff814243e0>] ? nla_parse+0xa0/0x100

[ 7681.317720] [<ffffffffc035f250>] ? nfnetlink_net_exit_batch+0x70/0x70 [nfnetlink]

[ 7681.337719] [<ffffffffc035f37f>] nfnetlink_rcv_msg+0x12f/0x220 [nfnetlink]

[ 7681.357856] [<ffffffffc035f250>] ? nfnetlink_net_exit_batch+0x70/0x70 [nfnetlink]

[ 7681.377350] [<ffffffff81761664>] netlink_rcv_skb+0xa4/0xc0

[ 7681.396734] [<ffffffffc035f857>] nfnetlink_rcv+0x287/0x51b [nfnetlink]

[ 7681.415029] [<ffffffff8175e6dc>] ? netlink_lookup+0xdc/0x140

[ 7681.432749] [<ffffffff81760e1f>] netlink_unicast+0x12f/0x1b0

[ 7681.450563] [<ffffffff81761341>] netlink_sendmsg+0x4a1/0x5f0

[ 7681.467131] [<ffffffff8139ebc1>] ? aa_sock_msg_perm+0x61/0x150

[ 7681.483468] [<ffffffff8170fae8>] sock_sendmsg+0x38/0x50

[ 7681.499949] [<ffffffff81710591>] ___sys_sendmsg+0x281/0x290

[ 7681.515440] [<ffffffff81100759>] ? get_futex_key+0x239/0x2a0

[ 7681.530801] [<ffffffff81100970>] ? futex_wake+0x90/0x170

[ 7681.546119] [<ffffffff810ef740>] ? __hrtimer_init+0x90/0x90

[ 7681.561208] [<ffffffff811036f7>] ? do_futex+0x107/0x540

[ 7681.576122] [<ffffffff8122c985>] ? __fget_light+0x25/0x60

[ 7681.591236] [<ffffffff81710ee1>] __sys_sendmsg+0x51/0x90

[ 7681.606343] [<ffffffff81710f32>] SyS_sendmsg+0x12/0x20

[ 7681.621158] [<ffffffff818385f2>] entry_SYSCALL_64_fastpath+0x16/0x71

[ 7681.635585] Code: e8 48 1e 39 c1 e9 29 fe ff ff 48 83 8b 80 00 00 message repeated 2 times: []10 e9 db fd ff ff 31 c0 eb b8 48 81 8b 80 00 00 message repeated 3 times: []01 00 00 e9 13 fe ff ff <0f> 0b e8 bb ad bd c0 90 66 2e 0f 1f 84 00 00 message repeated 4 times: []66 66 message repeated 2 times: []

[ 7681.666631] RIP [<ffffffffc04a62ee>] nf_nat_setup_info+0x2fe/0x310 [nf_nat]

[ 7681.681765] RSP <ffff88061c99b568>

[ 7681.734054] ---[ end trace e33fd93bee724b53 ]---

[ 7681.755248] Kernel panic - not syncing: Fatal exception in interrupt

[ 7681.772571] Kernel Offset: disabled

[ 7681.795998] Rebooting in 10 seconds..

[ 7691.716696] ACPI MEMORY or I/O RESET_REG.

 

# uname -a

Linux nas 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

# lsb_release

No LSB modules are available.

root@nas:~# lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 16.04.2 LTS

Release: 16.04

Codename: xenial

 

Как вылечить?

Share this post


Link to post
Share on other sites

Откатиться назад.

И читать код во второй строчке.

Share this post


Link to post
Share on other sites

Скорее всего не поможет, у меня данный баг всплывает на всех ядрах подряд, причем похоже какой-то клиент или девайс, если появился, будет триггерить его постоянно, только на последнем (4.10+) более-менее перелопатили conntrack, и вроде как именно этот баг всплывает очень редко.

Я тоже думал - обновление виновато, оказалось - нет.

Share this post


Link to post
Share on other sites

Скорее всего не поможет, у меня данный баг всплывает на всех ядрах подряд, причем похоже какой-то клиент или девайс, если появился, будет триггерить его постоянно, только на последнем (4.10+) более-менее перелопатили conntrack, и вроде как именно этот баг всплывает очень редко.

Я тоже думал - обновление виновато, оказалось - нет.

 

Переводя на русский для автора: ставьте 4.10.5 с kernel.org и если вдруг опять воспроизведётся, то писать в netdev@ .

Share this post


Link to post
Share on other sites

Кстати на свежих мамках можно не парится с netconsole. Точно какие опции не помню, но где-то так:

CONFIG_EFI_VARS_PSTORE=y

CONFIG_PSTORE=y

CONFIG_PSTORE_ZLIB_COMPRESS=y

CONFIG_PSTORE_CONSOLE=y

CONFIG_PSTORE_PMSG=y

Главное:

CONFIG_PSTORE_RAM=y

И кажется

CONFIG_ACPI_APEI_ERST_DEBUG

Если заработало в dmesg будет:

[ 0.673656] pstore: using zlib compression

[ 0.673858] pstore: Registered erst as persistent store backend

Потом, после паники:

mount -t pstore - /sys/fs/pstore

и там будут файлики с сохраненным месседжем с паникой.

Ибо часто, когда отлаживаются баги сети, netconsole не спасает.

Share this post


Link to post
Share on other sites

Окак...

в смысле оно после перезагрузки сервера сохраняется (если не выключалось питание как таковое)?

Share this post


Link to post
Share on other sites

Я подозреваю, что питание тоже не проблема, я так понимаю пишет в флеш матери.

pstore несколько разных:

efi - UEFI NVRAM

nvram - PPC NVRAM (не наш случай)

erst - APEI ERST - ACPI v4.0

ramoops - built-in driver for storing in persistent RAM (врядли сработает)

Share this post


Link to post
Share on other sites

Еще может:

commit 7826d11cf44c53ff294e20ffe4365c068089054a

Author: Ian Kumlien <ian.kumlien@gmail.com>

Date: Mon Jan 2 09:18:35 2017 +0100

 

flow_dissector: Update pptp handling to avoid null pointer deref.

 

[ Upstream commit d0af683407a26a4437d8fa6e283ea201f2ae8146 ]

 

__skb_flow_dissect can be called with a skb or a data packet, either

can be NULL. All calls seems to have been moved to __skb_header_pointer

except the pptp handling which is still calling skb_header_pointer.

Share this post


Link to post
Share on other sites

Уберите nfqfilter

 

Для начала можно попробовать "num_threads = 1" в nfqfilter.ini.

Share this post


Link to post
Share on other sites

Пока сутки работает без nfqfilter. До нго появления в панику не падал

Share this post


Link to post
Share on other sites

кто ж ставит нфк на тот же тазик.

а так да, nfq с num_threads больше 1 паниковало.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this