From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36139) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TpfMw-0007CG-3Z for qemu-devel@nongnu.org; Mon, 31 Dec 2012 08:25:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TpfMu-0007em-U2 for qemu-devel@nongnu.org; Mon, 31 Dec 2012 08:25:30 -0500 Received: from mail.profihost.ag ([85.158.179.208]:50358) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TpfMu-0007eg-If for qemu-devel@nongnu.org; Mon, 31 Dec 2012 08:25:28 -0500 Message-ID: <50E19246.1050706@profihost.ag> Date: Mon, 31 Dec 2012 14:25:26 +0100 From: Stefan Priebe MIME-Version: 1.0 References: <50DCC3AF.7020802@profihost.ag> <50DDDCB2.1060403@redhat.com> <50DDED1C.2020208@profihost.ag> <50DEF785.7030706@redhat.com> <50DEF89F.2090203@profihost.ag> <50DF04FA.6010404@redhat.com> <50DF09E5.7040309@profihost.ag> <50DF0B54.5020102@redhat.com> In-Reply-To: <50DF0B54.5020102@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] setting migrate_downtime results in halted vm (qemu 1.3) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel , Alexandre DERUMIER , Juan Quintela When i try to cancel a running migration with qemu git i get a segfault. BT: (gdb) bt #0 _wordcopy_bwd_aligned (dstp=140051233112024, srcp=140051233112016, len=529920) at wordcopy.c:298 #1 0x00007f61dd7c86da in *__GI_memmove (dest=0x7f6037bf5010, src=, len=38118264) at memmove.c:99 #2 0x00007f61e2e973c9 in buffered_flush (s=0x7f61e33a9e60) at migration.c:546 #3 0x00007f61e2e9746c in buffered_close (opaque=0x7f61e33a9e60) at migration.c:598 #4 0x00007f61e2f758ff in qemu_fclose (f=0x7f6044fc3200) at /opt/debianpackages/pve-squeeze.sources/pve-qemu-kvm/qemu-kvm/savevm.c:543 #5 0x00007f61e2e975b6 in migrate_fd_cleanup (s=0x7f61e33a9e60) at migration.c:277 #6 0x00007f61e2f7406b in handle_user_command (mon=0x7fffce7e3a90, cmdline=) at /opt/debianpackages/pve-squeeze.sources/pve-qemu-kvm/qemu-kvm/monitor.c:3945 #7 0x00007f61e2f74279 in qmp_human_monitor_command (command_line=0x7f604c9361b0 "migrate_cancel", has_cpu_index=false, cpu_index=140051576672336, errp=0x7fffce7e3f68) at /opt/debianpackages/pve-squeeze.sources/pve-qemu-kvm/qemu-kvm/monitor.c:664 #8 0x00007f61e2ecec07 in qmp_marshal_input_human_monitor_command (mon=, qdict=, ret=0x7fffce7e3ff0) at qmp-marshal.c:1505 #9 0x00007f61e2f6f53f in qmp_call_cmd (params=, cmd=, mon=) at /opt/debianpackages/pve-squeeze.sources/pve-qemu-kvm/qemu-kvm/monitor.c:4446 #10 handle_qmp_command (parser=, tokens=) at /opt/debianpackages/pve-squeeze.sources/pve-qemu-kvm/qemu-kvm/monitor.c:4512 #11 0x00007f61e2e9039c in json_message_process_token (lexer=0x7f61d0012470, token=0x7f60389d6c60, type=JSON_OPERATOR, x=, y=) at json-streamer.c:87 #12 0x00007f61e2e8ec60 in json_lexer_feed_char (lexer=0x7f61d0012470, ch=125 '}', flush=false) at json-lexer.c:303 #13 0x00007f61e2e8ee19 in json_lexer_feed (lexer=0x7f61d0012470, buffer=0x7fffce7e41f0 "}\277\370M`\177", size=1) at json-lexer.c:356 #14 0x00007f61e2f6d65e in monitor_control_read (opaque=, buf=0x7f6040000000 " ", size=529920) at /opt/debianpackages/pve-squeeze.sources/pve-qemu-kvm/qemu-kvm/monitor.c:4533 #15 0x00007f61e2ebedab in tcp_chr_read (opaque=0x7f61e4e1e610) at qemu-char.c:2325 #16 0x00007f61e2e8dac7 in qemu_iohandler_poll (readfds=0x7f61e37bc660, writefds=0x7f61e37bc6e0, xfds=, ret=) at iohandler.c:124 #17 0x00007f61e2e95f79 in main_loop_wait (nonblocking=) at main-loop.c:418 #18 0x00007f61e2f0f56c in main_loop () at vl.c:1768 #19 main (argc=, argv=, envp=) at vl.c:4047 Stefan Am 29.12.2012 16:25, schrieb Paolo Bonzini: > Il 29/12/2012 16:19, Stefan Priebe ha scritto: >>> >>> >>> I suppose it will be between 05e72dc5812a9f461fc2c606dff2572909eafc39 >>> and aa723c23147e93fef8475bd80fd29e633378c34d. >>> >>> Probably at 2dddf6f4133975af62e64cb6406ec1239491fa89, which was supposed >>> to be placed before switching to the migration thread (or even squashed >>> in it) but ended up much earlier when the project moved from me to Juan. >> >> You mean by bisecting between qemu 1.2 and 1.3? I retested qemu 1.2 and >> it wasn't 100% working for me there too. It worked fine until >> migrate_downtime 1s it breaks / vm just halts when i set it to 2s with >> qemu 1.2. So i don't really know where to start bisecting. As i have NO >> version where it worked perfectly. Except Qemu 1.3 with the patches >> backported from 1.4 this works fine. > > Bisect between the two commits I gave above. There probably will a > place when it starts failing reliably. > > Paolo >