Cramac Posted March 25, 2017 Posted March 25, 2017 Приветствую. Есть сервер 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 Как вылечить? Вставить ник Quote
vlad11 Posted March 25, 2017 Posted March 25, 2017 Откатиться назад. И читать код во второй строчке. Вставить ник Quote
nuclearcat Posted March 25, 2017 Posted March 25, 2017 Скорее всего не поможет, у меня данный баг всплывает на всех ядрах подряд, причем похоже какой-то клиент или девайс, если появился, будет триггерить его постоянно, только на последнем (4.10+) более-менее перелопатили conntrack, и вроде как именно этот баг всплывает очень редко. Я тоже думал - обновление виновато, оказалось - нет. Вставить ник Quote
s.lobanov Posted March 25, 2017 Posted March 25, 2017 Скорее всего не поможет, у меня данный баг всплывает на всех ядрах подряд, причем похоже какой-то клиент или девайс, если появился, будет триггерить его постоянно, только на последнем (4.10+) более-менее перелопатили conntrack, и вроде как именно этот баг всплывает очень редко. Я тоже думал - обновление виновато, оказалось - нет. Переводя на русский для автора: ставьте 4.10.5 с kernel.org и если вдруг опять воспроизведётся, то писать в netdev@ . Вставить ник Quote
stalker86 Posted March 25, 2017 Posted March 25, 2017 У меня вообще интересно было... правда с дебиан 9 на ровном месте http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852941 так и остался в конечном счёте на ванилле. Вставить ник Quote
nuclearcat Posted March 25, 2017 Posted March 25, 2017 Кстати на свежих мамках можно не парится с 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 не спасает. Вставить ник Quote
stalker86 Posted March 25, 2017 Posted March 25, 2017 Окак... в смысле оно после перезагрузки сервера сохраняется (если не выключалось питание как таковое)? Вставить ник Quote
nuclearcat Posted March 25, 2017 Posted March 25, 2017 Я подозреваю, что питание тоже не проблема, я так понимаю пишет в флеш матери. pstore несколько разных: efi - UEFI NVRAM nvram - PPC NVRAM (не наш случай) erst - APEI ERST - ACPI v4.0 ramoops - built-in driver for storing in persistent RAM (врядли сработает) Вставить ник Quote
nuclearcat Posted March 25, 2017 Posted March 25, 2017 Еще может: 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. Вставить ник Quote
Igor Diakonov Posted March 25, 2017 Posted March 25, 2017 Уберите nfqfilter Для начала можно попробовать "num_threads = 1" в nfqfilter.ini. Вставить ник Quote
Cramac Posted March 26, 2017 Author Posted March 26, 2017 Пока сутки работает без nfqfilter. До нго появления в панику не падал Вставить ник Quote
zhenya` Posted March 26, 2017 Posted March 26, 2017 кто ж ставит нфк на тот же тазик. а так да, nfq с num_threads больше 1 паниковало. Вставить ник Quote
Cramac Posted March 26, 2017 Author Posted March 26, 2017 да, в nfq стоит 10 потоков. Вставить ник Quote
deniska00 Posted April 26, 2017 Posted April 26, 2017 "num_threads = 1" Вот это помогает, спасибо! Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.