qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] FreeBSD guest causes host kernel warning


From: Brian Rak
Subject: [Qemu-discuss] FreeBSD guest causes host kernel warning
Date: Fri, 11 Jul 2014 14:11:27 -0400
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

We've been seeing an issue with FreeBSD 10 x64 guests where they frequently cause kernel warnings on the host. We're using QEMU 2.0.0, on a variety of kernels (we've been seeing this on everything from 2.6.32 all the way up to 3.15.5).

We're using a bridged networking setup, and the qemu command line looks like this:

/usr/libexec/qemu-kvm -name guest1 -S -machine pc-i440fx-1.7,accel=kvm,usb=off -cpu Haswell -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=16,threads=2 -uuid 8cb1d42c-4930-48f6-bd0f-468449aa06ed -no-user-config -nodefaults -chardev socket,id=charmonitor,path=//var/lib/libvirt/qemu/guest1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/dev/vmimages/guest1,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=27,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:78:50:aa,bus=pci.0,addr=0x3,rombar=1,romfile=/usr/share/gpxe/virtio-net.rom -device usb-tablet,id=input0 -vnc 127.0.0.1:18333 -k en-us -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -object rng-random,id=rng0,filename=/dev/random -device virtio-rng-pci,rng=rng0,bus=pci.0,addr=0x6 -msg timestamp=on

I do not have detailed reproduction steps here. We have multiple unique hosts/guests seeing this issue, and I haven't been able to find any sort of pattern. I've tried setting up a new FreeBSD guest, but have not been able to consistently duplicate this issue yet. My understanding here is the guest is passing a packet to the host that hasn't been checksummed, but that requests offload. I don't fully understand how this is supposed to work though, so I could be mistaken.

I have been able to find varying other reports of this in the past, but no one seems to have come up with any solutions (only workarounds at best):

http://thr3ads.net/freebsd-stable/2012/11/2115047-kvm-vlan-virtio-problem
http://lists.ovirt.org/pipermail/users/2014-February/021723.html
https://bugzilla.redhat.com/show_bug.cgi?id=1047693

The kernel warning looks like this:

------------[ cut here ]------------
WARNING: CPU: 4 PID: 18032 at net/core/dev.c:2233 skb_warn_bad_offload+0xc3/0xd0() igb: caps=(0x00000001900043b3, 0x0000000000000000) len=2934 data_len=0 gso_size=1440 gso_type=5 ip_summed=0 Modules linked in: ipmi_devintf xt_physdev ebt_arp ebt_ip ebtable_nat ebtables cls_fw sch_sfq sch_htb tun kvm_intel kvm 8021q garp xfs libcrc32c nfnetlink_queue nfnetlink_log nfnetlink bluetooth rfkill bridge stp llc xt_CHECKSUM iptable_mangle xt_comment ipt_REJECT xt_multiport iptable_filter ip_tables ip6t_REJECT ip6table_filter ip6_tables ipv6 joydev iTCO_wdt iTCO_vendor_support ipmi_si ipmi_msghandler pcspkr i2c_i801 sg lpc_ich shpchp igb dca ptp pps_core hwmon ext4 jbd2 mbcache sd_mod crc_t10dif crct10dif_common video ahci libahci xhci_hcd ast ttm drm_kms_helper sysimgblt sysfillrect syscopyarea dm_mirror dm_region_hash dm_log dm_mod CPU: 4 PID: 18032 Comm: qemu-kvm Tainted: G W 3.15.5-1.el6.elrepo.x86_64 #1
Hardware name: Supermicro X10SLE-F/HF/X10SLE, BIOS 1.1a 12/03/2013
 00000000000008b9 ffff88081fd035d8 ffffffff8163ba90 00000000000008b9
 ffff88081fd03628 ffff88081fd03618 ffffffff8106c30c ffffc90007a6bfe0
 0000000000000000 ffff8807f46d0000 ffff8807f46d0000 0000000000000000
Call Trace:
 <IRQ>  [<ffffffff8163ba90>] dump_stack+0x49/0x61
 [<ffffffff8106c30c>] warn_slowpath_common+0x8c/0xc0
 [<ffffffff8106c3f6>] warn_slowpath_fmt+0x46/0x50
 [<ffffffff8156ce93>] skb_warn_bad_offload+0xc3/0xd0
 [<ffffffff81561c7f>] ? __kfree_skb+0x3f/0xc0
 [<ffffffff81574699>] __skb_gso_segment+0x89/0xe0
 [<ffffffff81574876>] dev_hard_start_xmit+0x186/0x640
 [<ffffffff81594f5a>] sch_direct_xmit+0xfa/0x1d0
 [<ffffffff81574f2f>] __dev_queue_xmit+0x1ff/0x4f0
 [<ffffffff81575240>] dev_queue_xmit+0x10/0x20
 [<ffffffffa02bd612>] br_dev_queue_push_xmit+0x82/0xb0 [bridge]
 [<ffffffffa02c5680>] br_nf_dev_queue_xmit+0x20/0x90 [bridge]
 [<ffffffffa02c64b8>] br_nf_post_routing+0x2d8/0x300 [bridge]
 [<ffffffffa02bd590>] ? deliver_clone+0x60/0x60 [bridge]
 [<ffffffff815a357e>] nf_iterate+0x8e/0xc0
 [<ffffffff815f1c9c>] ? fib_table_lookup+0x2cc/0x340
 [<ffffffffa02bd590>] ? deliver_clone+0x60/0x60 [bridge]
 [<ffffffff815a37ad>] nf_hook_slow+0x7d/0x150
 [<ffffffffa02bd590>] ? deliver_clone+0x60/0x60 [bridge]
 [<ffffffffa02c56f0>] ? br_nf_dev_queue_xmit+0x90/0x90 [bridge]
 [<ffffffffa02bdb43>] br_forward_finish+0x43/0x60 [bridge]
 [<ffffffffa02c58a8>] br_nf_forward_finish+0x1b8/0x1d0 [bridge]
 [<ffffffffa02c6178>] br_nf_forward_ip+0x3a8/0x410 [bridge]
 [<ffffffffa02bdb00>] ? br_flood_deliver+0x20/0x20 [bridge]
 [<ffffffff815a357e>] nf_iterate+0x8e/0xc0
 [<ffffffffa02bdb00>] ? br_flood_deliver+0x20/0x20 [bridge]
 [<ffffffff815a37ad>] nf_hook_slow+0x7d/0x150
 [<ffffffffa02bdb00>] ? br_flood_deliver+0x20/0x20 [bridge]
 [<ffffffffa02bd6e4>] __br_forward+0xa4/0x100 [bridge]
 [<ffffffffa02be800>] ? NF_HOOK.clone.0+0x70/0x70 [bridge]
 [<ffffffffa02bd7d6>] br_forward+0x96/0xb0 [bridge]
 [<ffffffffa02be800>] ? NF_HOOK.clone.0+0x70/0x70 [bridge]
 [<ffffffffa02be997>] br_handle_frame_finish+0x197/0x3f0 [bridge]
 [<ffffffffa02be800>] ? NF_HOOK.clone.0+0x70/0x70 [bridge]
 [<ffffffffa02c6790>] br_nf_pre_routing_finish+0x2b0/0x370 [bridge]
 [<ffffffffa02c64e0>] ? br_nf_post_routing+0x300/0x300 [bridge]
 [<ffffffffa02c4986>] NF_HOOK_THRESH+0x56/0x60 [bridge]
 [<ffffffffa02c5d2b>] br_nf_pre_routing+0x2fb/0x3a0 [bridge]
 [<ffffffff815a357e>] nf_iterate+0x8e/0xc0
 [<ffffffffa02be800>] ? NF_HOOK.clone.0+0x70/0x70 [bridge]
 [<ffffffff815a37ad>] nf_hook_slow+0x7d/0x150
 [<ffffffffa02be800>] ? NF_HOOK.clone.0+0x70/0x70 [bridge]
 [<ffffffffa02bed8c>] br_handle_frame+0x19c/0x240 [bridge]
 [<ffffffffa02bebf0>] ? br_handle_frame_finish+0x3f0/0x3f0 [bridge]
 [<ffffffff81572fa5>] __netif_receive_skb_core+0x1e5/0x620
 [<ffffffff81573407>] __netif_receive_skb+0x27/0x70
 [<ffffffff81573553>] process_backlog+0x103/0x200
 [<ffffffff81573d62>] net_rx_action+0x112/0x2a0
 [<ffffffff8107111c>] __do_softirq+0xfc/0x2b0
 [<ffffffff8164a81c>] do_softirq_own_stack+0x1c/0x30
 <EOI>  [<ffffffff81070e75>] do_softirq+0x55/0x60
 [<ffffffff81571e19>] netif_rx_ni+0x39/0x70
 [<ffffffffa04994e0>] tun_get_user+0x310/0x6c0 [tun]
 [<ffffffffa0499995>] tun_chr_aio_write+0x85/0xa0 [tun]
 [<ffffffff811ffefa>] ? fsnotify+0x1ba/0x2c0
 [<ffffffff811beb9d>] do_sync_readv_writev+0x4d/0x80
 [<ffffffff811c0128>] do_readv_writev+0xc8/0x2c0
 [<ffffffff810a5b06>] ? update_curr+0x196/0x1e0
 [<ffffffff811bebd0>] ? do_sync_readv_writev+0x80/0x80
 [<ffffffff811c0357>] vfs_writev+0x37/0x50
 [<ffffffff811c0496>] SyS_writev+0x56/0xf0
 [<ffffffff81648ee9>] system_call_fastpath+0x16/0x1b
---[ end trace 0c83a21c3f21912d ]---

Any suggestions on how I'd even begin to fix this? The usual suggestions here (disable various forms of offload) don't appear to work, though I've only tried them from the host. I do not have the ability to make changes on the guests, unless I can manage to reproduce this on a new guest.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]