NetSys / bess

BESS: Berkeley Extensible Software Switch
Other
313 stars 156 forks source link

Kernel crash when creating a VPort #1002

Open JanonWang opened 4 years ago

JanonWang commented 4 years ago

I met a problem when following the guide of 'Hooking up BESS Ports' to create a VPort on my host. But it always failed. I check the log and find: [ 555.804466] general protection fault: 0000 [#1] SMP NOPTI [ 555.807998] RIP: 0010:sn_host_do_tx_batch+0x1c0/0x660 [bess]

My host is ubuntu 18.04 with 4.15.0-109-generic kernel.

The full trace is as follows:


Jul 13 12:11:59 tatan kernel: [ 475.110341] bess - sndrv_init():41 vport kernel module loaded Jul 13 12:13:20 tatan kernel: [ 555.796182] bess - sn_register_netdev():904 eth_test: registered - 42:0a:a0:a5:2a:7c txq 1 rxq 1 Jul 13 12:13:20 tatan kernel: [ 555.804466] general protection fault: 0000 [#1] SMP NOPTI Jul 13 12:13:20 tatan kernel: [ 555.804634] Modules linked in: bess(OE) xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo xt_addrtype iptable_filter iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack br_netfilter bridge stp llc aufs overlay nls_iso8859_1 intel_rapl skx_edac x86_pkg_temp_thermal coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel joydev input_leds intel_cstate intel_rapl_perf ioatdma ipmi_si dca ipmi_devintf shpchp ipmi_msghandler mei_me lpc_ich mei mac_hid acpi_power_meter sch_fq_codel ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq Jul 13 12:13:20 tatan kernel: [ 555.806861] libcrc32c raid1 raid0 multipath linear ses enclosure scsi_transport_sas hid_generic aesni_intel i40e aes_x86_64 crypto_simd cryptd glue_helper usbhid ptp megaraid_sas hid ahci pps_core libahci [last unloaded: bess] Jul 13 12:13:20 tatan kernel: [ 555.807493] CPU: 24 PID: 0 Comm: swapper/24 Tainted: G OE 4.15.0-109-generic #110-Ubuntu Jul 13 12:13:20 tatan kernel: [ 555.807777] Hardware name: Huawei 1288H V5/BC11SPSC0, BIOS 6.86 08/31/2019 Jul 13 12:13:20 tatan kernel: [ 555.807998] RIP: 0010:sn_host_do_tx_batch+0x1c0/0x660 [bess] Jul 13 12:13:20 tatan kernel: [ 555.808171] RSP: 0018:ffff8cba1f0038e8 EFLAGS: 00010246 Jul 13 12:13:20 tatan kernel: [ 555.808333] RAX: 00008ba9c1000240 RBX: 0000000000000000 RCX: 00008ba9c1000300 Jul 13 12:13:20 tatan kernel: [ 555.808555] RDX: 000000000000005a RSI: ffff8cb176865d80 RDI: ffff8cba1f003a9c Jul 13 12:13:20 tatan kernel: [ 555.808776] RBP: ffff8cba1f003a50 R08: 0000000000000001 R09: 0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.808999] R10: 0000000000000000 R11: 00000000fffffffe R12: 0000000000000001 Jul 13 12:13:20 tatan kernel: [ 555.809220] R13: ffff8cba12ca5100 R14: 0000000000000000 R15: ffff8cba12ca5100 Jul 13 12:13:20 tatan kernel: [ 555.809444] FS: 0000000000000000(0000) GS:ffff8cba1f000000(0000) knlGS:0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.809697] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 13 12:13:20 tatan kernel: [ 555.809874] CR2: 00007f4c0004cff8 CR3: 00000007c100a006 CR4: 00000000007606e0 Jul 13 12:13:20 tatan kernel: [ 555.810096] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.810318] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Jul 13 12:13:20 tatan kernel: [ 555.810540] PKRU: 55555554 Jul 13 12:13:20 tatan kernel: [ 555.810627] Call Trace: Jul 13 12:13:20 tatan kernel: [ 555.810703] Jul 13 12:13:20 tatan kernel: [ 555.810774] ? ttwu_do_wakeup+0x1e/0x140 Jul 13 12:13:20 tatan kernel: [ 555.810890] ? ttwu_do_activate+0x77/0x80 Jul 13 12:13:20 tatan kernel: [ 555.811011] ? try_to_wake_up+0x59/0x4a0 Jul 13 12:13:20 tatan kernel: [ 555.811140] ? slab_free+0x153/0x2d0 Jul 13 12:13:20 tatan kernel: [ 555.811254] ? default_wake_function+0x12/0x20 Jul 13 12:13:20 tatan kernel: [ 555.811395] ? wake_up_common+0x73/0x130 Jul 13 12:13:20 tatan kernel: [ 555.811522] sn_host_do_tx+0x37/0x140 [bess] Jul 13 12:13:20 tatan kernel: [ 555.811660] ? ep_poll_callback+0x23c/0x290 Jul 13 12:13:20 tatan kernel: [ 555.811785] sn_start_xmit+0xd4/0x3b0 [bess] Jul 13 12:13:20 tatan kernel: [ 555.811924] dev_hard_start_xmit+0xa8/0x210 Jul 13 12:13:20 tatan kernel: [ 555.812049] dev_queue_xmit+0x6ad/0x7f0 Jul 13 12:13:20 tatan kernel: [ 555.812176] ? ndisc_constructor+0x22b/0x340 Jul 13 12:13:20 tatan kernel: [ 555.812307] dev_queue_xmit+0x10/0x20 Jul 13 12:13:20 tatan kernel: [ 555.812418] ? dev_queue_xmit+0x10/0x20 Jul 13 12:13:20 tatan kernel: [ 555.812538] neigh_resolve_output+0x120/0x1d0 Jul 13 12:13:20 tatan kernel: [ 555.812674] ip6_finish_output2+0x1b8/0x590 Jul 13 12:13:20 tatan kernel: [ 555.812804] ? pcpu_block_update_hint_alloc+0x1ba/0x1f0 Jul 13 12:13:20 tatan kernel: [ 555.812964] ip6_finish_output+0x13a/0x1b0 Jul 13 12:13:20 tatan kernel: [ 555.820651] ? ip6_finish_output+0x13a/0x1b0 Jul 13 12:13:20 tatan kernel: [ 555.828374] ip6_output+0x6c/0x120 Jul 13 12:13:20 tatan kernel: [ 555.836097] ? dst_cow_metrics_generic+0x2e/0xf0 Jul 13 12:13:20 tatan kernel: [ 555.843795] NF_HOOK.constprop.33+0x45/0xb0 Jul 13 12:13:20 tatan kernel: [ 555.851448] ? icmp6_dst_alloc+0x104/0x160 Jul 13 12:13:20 tatan kernel: [ 555.858644] mld_sendpack+0x167/0x210 Jul 13 12:13:20 tatan kernel: [ 555.865581] mld_ifc_timer_expire+0x1a0/0x2c0 Jul 13 12:13:20 tatan kernel: [ 555.872292] ? igmp6_timer_handler+0x80/0x80 Jul 13 12:13:20 tatan kernel: [ 555.878931] call_timer_fn+0x30/0x130 Jul 13 12:13:20 tatan kernel: [ 555.885138] run_timer_softirq+0x3f3/0x430 Jul 13 12:13:20 tatan kernel: [ 555.891103] ? ktime_get+0x43/0xb0 Jul 13 12:13:20 tatan kernel: [ 555.896816] ? lapic_next_deadline+0x26/0x30 Jul 13 12:13:20 tatan kernel: [ 555.902319] do_softirq+0xe4/0x2d4 Jul 13 12:13:20 tatan kernel: [ 555.907625] irq_exit+0xc5/0xd0 Jul 13 12:13:20 tatan kernel: [ 555.912959] smp_apic_timer_interrupt+0x79/0x140 Jul 13 12:13:20 tatan kernel: [ 555.918064] apic_timer_interrupt+0x90/0xa0 Jul 13 12:13:20 tatan kernel: [ 555.923137] Jul 13 12:13:20 tatan kernel: [ 555.928091] RIP: 0010:native_safe_halt+0x12/0x20 Jul 13 12:13:20 tatan kernel: [ 555.933106] RSP: 0018:ffffac9480603e80 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff11 Jul 13 12:13:20 tatan kernel: [ 555.938251] RAX: ffffffffa4fc1800 RBX: 0000000000000018 RCX: 0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.943463] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.948651] RBP: ffffac9480603e80 R08: ffffffffffffffff R09: 0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.953721] R10: ffffac9480603e20 R11: 000001568d456d60 R12: 0000000000000018 Jul 13 12:13:20 tatan kernel: [ 555.958704] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Jul 13 12:13:20 tatan kernel: [ 555.963624] ? __sched_text_end+0x1/0x1 Jul 13 12:13:20 tatan kernel: [ 555.968532] default_idle+0x20/0x100 Jul 13 12:13:20 tatan kernel: [ 555.973475] arch_cpu_idle+0x15/0x20 Jul 13 12:13:20 tatan kernel: [ 555.978313] default_idle_call+0x23/0x30 Jul 13 12:13:20 tatan kernel: [ 555.983409] do_idle+0x172/0x1f0 Jul 13 12:13:20 tatan kernel: [ 555.988318] cpu_startup_entry+0x73/0x80 Jul 13 12:13:20 tatan kernel: [ 555.993251] start_secondary+0x1ab/0x200 Jul 13 12:13:20 tatan kernel: [ 555.998215] secondary_startup_64+0xa5/0xb0 Jul 13 12:13:20 tatan kernel: [ 556.003182] Code: ff ff 48 8b bd c0 fe ff ff 4c 8b 2c d8 48 8b 05 ef 9b 01 e5 48 8d 8c 02 00 02 00 00 48 8d 84 02 40 01 00 00 41 8b 95 80 00 00 00 <66> 89 10 8b 14 9f 48 89 cf 89 50 02 41 8b 95 80 00 00 00 41 2b Jul 13 12:13:20 tatan kernel: [ 556.014047] RIP: sn_host_do_tx_batch+0x1c0/0x660 [bess] RSP: ffff8cba1f0038e8 Jul 13 12:13:20 tatan kernel: [ 556.019672] ---[ end trace e24770c3c3f7d475 ]---

JanonWang commented 4 years ago

It is strange that all goes well when I follow the guide of 'Hooking up BESS Ports' and operate on a VM. But I faied to do it on a bare mental server.