QEMU crashes when virtio network cards are used together with e1000 network cards
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Expired
|
Undecided
|
Unassigned |
Bug Description
QEMU version: QEMU emulator version 2.2.50, Copyright (c) 2003-2008 Fabrice Bellard
QEMU GIT version: ab0302ee764fd70
Configure flags: ./configure --enable-kvm --prefix=
Linux version: Ubuntu 14.04.1 LTS
Kernel version: 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Problem:
QEMU crashes when using one (or more) virtio network cards together with one (or more) e1000 (and possibly others) network cards when those cards are bound to a linux bridge. When the cards are *not* bound to a bridge QEMU does not crash.
Bridge configuration:
iface bridge0 inet dhcp
bridge_ports eth1
bridge_stp off
bridge_fd 0
Start-up command (including binding the network cards to the bridge + strace logging):
./qemu-
-netdev tap,id=
-device virtio-
-netdev tap,id=
-device e1000,bootindex
brctl addif bridge0 net_1_1; \
brctl addif bridge0 net_1_2; \
ifconfig net_1_1 0.0.0.0 up; \
ifconfig net_1_2 0.0.0.0 up; \
sleep 2; \
strace -p `ps x |grep qemu-system-x86_64 |grep -v grep|awk '{print $1}'` -o /tmp/qemu-
Kernel log:
Dec 24 11:12:08 bramws kernel: [12466.885581] device net_1_1 entered promiscuous mode
Dec 24 11:12:08 bramws kernel: [12466.886238] device net_1_2 entered promiscuous mode
Dec 24 11:12:08 bramws kernel: [12466.887084] bridge0: port 2(net_1_1) entered forwarding state
Dec 24 11:12:08 bramws kernel: [12466.887089] bridge0: port 2(net_1_1) entered forwarding state
Dec 24 11:12:08 bramws kernel: [12466.888940] bridge0: port 3(net_1_2) entered forwarding state
Dec 24 11:12:08 bramws kernel: [12466.888947] bridge0: port 3(net_1_2) entered forwarding state
Dec 24 11:12:29 bramws kernel: [12488.026376] bridge0: port 2(net_1_1) entered disabled state
Dec 24 11:12:29 bramws kernel: [12488.026820] device net_1_1 left promiscuous mode
Dec 24 11:12:29 bramws kernel: [12488.026832] bridge0: port 2(net_1_1) entered disabled state
Dec 24 11:12:29 bramws kernel: [12488.049636] bridge0: port 3(net_1_2) entered disabled state
Dec 24 11:12:29 bramws kernel: [12488.050058] device net_1_2 left promiscuous mode
Dec 24 11:12:29 bramws kernel: [12488.050074] bridge0: port 3(net_1_2) entered disabled state
Strace log: (full log attached)
ppoll([{fd=13, events=
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
ppoll([{fd=13, events=
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
read(5, "\1\0\0\0\0\0\0\0", 512) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
ppoll([{fd=13, events=
ppoll([{fd=13, events=
read(6, "\2\0\0\0\0\0\0\0", 16) = 8
ppoll([{fd=13, events=
read(6, 0x7fff697320e0, 16) = -1 EAGAIN (Resource temporarily unavailable)
ppoll([{fd=13, events=
futex(0x7f011c8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f011aa
ppoll([{fd=13, events=
tgkill(7779, 7784, SIGUSR1) = 0
futex(0x7f011aa
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
read(5, "\2\0\0\0\0\0\0\0", 512) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
ppoll([{fd=13, events=
ppoll([{fd=13, events=
read(6, "\2\0\0\0\0\0\0\0", 16) = 8
ppoll([{fd=13, events=
read(6, 0x7fff697320e0, 16) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f011aa
ppoll([{fd=13, events=
+++ killed by SIGABRT +++
What does qemu say when aborting?