qemu exits with -11 when connecting to a port redirect before the service starts listening
Bug #932539 reported by
Stéphane Graber
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned | ||
qemu-kvm (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
This was detected initially as a crash in the auto upgrade tester.
The code of the upgrade tester basically spawns a kvm instance in the background with a port redirect from localhost:54322 to tcp:22 in the VM, then wait for that port to allow for a ssh connection before continuing the upgrade testing.
In the past (Oneiric), all worked well but since Precise, we now get qemu exitting with -11 at every single test :(
A quick reproducer is:
- start a VM that has openssh-server installed with: -net user,hostfwd=
- immediately start "ssh -p 54322 127.0.0.1" before the VM starts booting (BIOS/GRUB state)
Then wait for sshd to start in the VM and qemu will exit with -11.
Changed in qemu: | |
status: | New → Confirmed |
To post a comment you must log in.
Starting program: /usr/bin/kvm -drive file=delme.img -m 512 -vnc :1 -net nic,model=virtio -net user,hostfwd= tcp::2222- :22 64-linux- gnu/libthread_ db.so.1" .
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_
[New Thread 0x7fffee443700 (LWP 11818)]
[New Thread 0x7fffedc42700 (LWP 11819)]
[New Thread 0x7fffc605d700 (LWP 11825)]
Program received signal SIGSEGV, Segmentation fault. 0x555556329430) at slirp/if.c:194 output. c:84 output. c:456 timer.c: 242 0x555556329430) at slirp/tcp_ timer.c: 88 0x7fffffffda30, writefds= 0x7fffffffdab0, 0x7fffffffdb30, select_error=0) at slirp/slirp.c:433 <optimized out>) at main-loop.c:465 buildd/ qemu-kvm- 1.0+noroms/ vl.c:1482 buildd/ qemu-kvm- 1.0+noroms/ vl.c:3523
0x00005555556812f3 in slirp_insque (a=0x0, b=0x555556329498) at slirp/misc.c:27
27 slirp/misc.c: No such file or directory.
(gdb) where
#0 0x00005555556812f3 in slirp_insque (a=0x0, b=0x555556329498) at slirp/misc.c:27
#1 0x000055555567fc18 in if_start (slirp=
#2 0x0000555555680d50 in ip_output (so=0x555556628b00, m0=0x555556629800) at slirp/ip_
#3 0x0000555555686850 in tcp_output (tp=0x555556628bb0) at slirp/tcp_
#4 0x0000555555688133 in tcp_timers (timer=0, tp=0x555556628bb0) at slirp/tcp_
#5 tcp_slowtimo (slirp=
#6 0x00005555556835d8 in slirp_select_poll (readfds=
xfds=
#7 0x000055555565536d in main_loop_wait (nonblocking=
#8 0x00005555555c060f in main_loop () at /build/
#9 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>)
at /build/