From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51377) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SwXBN-0004wP-JG for qemu-devel@nongnu.org; Wed, 01 Aug 2012 07:33:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SwXBE-00074u-Qh for qemu-devel@nongnu.org; Wed, 01 Aug 2012 07:33:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31620) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SwXBE-00074p-Hv for qemu-devel@nongnu.org; Wed, 01 Aug 2012 07:33:32 -0400 Message-ID: <50191407.1050606@redhat.com> Date: Wed, 01 Aug 2012 19:33:27 +0800 From: Amos Kong MIME-Version: 1.0 References: <1343424728-22461-1-git-send-email-lcapitulino@redhat.com> <20120731114436.53be2610@doriath.home> In-Reply-To: <20120731114436.53be2610@doriath.home> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC 00/27]: add new error format List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: kwolf@redhat.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, armbru@redhat.com, pbonzini@redhat.com, eblake@redhat.com On 31/07/12 22:44, Luiz Capitulino wrote: > On Fri, 27 Jul 2012 18:31:41 -0300 > Luiz Capitulino wrote: > >> [Please, read below why this is an RFC] >> >> This series implements the 'Plan for error handling in QMP' as described >> by Anthony in this email: Tested with http://repo.or.cz/w/qemu/qmp-unstable.git/shortlog/refs/heads/error/new-format/v1 | bool error_is_type(Error *err, ErrorClass err_class, const char *fmt) | { | const char *error_class; | char *ptr; | char *end; | | if (!err) { | return false; | } | | ptr = strstr(fmt, "'class': '"); ^^^ "'class: '" doesn't exist in *fmt | assert(ptr != NULL); | (gdb) r Starting program: /home/devel/qemu/x86_64-softmmu/qemu-system-x86_64 --enable-kvm -monitor stdio -boot n -vnc :1 [Thread debugging using libthread_db enabled] [New Thread 0x7ffff1f3f700 (LWP 16427)] [New Thread 0x7fffe3dfe700 (LWP 16429)] QEMU 1.1.50 monitor - type 'help' for more information (qemu) migrate -d tcp:0:1234 qemu-system-x86_64: error.c:92: error_is_type: Assertion `ptr != ((void *)0)' failed. Program received signal SIGABRT, Aborted. 0x00007ffff4ed48a5 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff4ed48a5 in raise () from /lib64/libc.so.6 #1 0x00007ffff4ed6085 in abort () from /lib64/libc.so.6 #2 0x00007ffff4ecda1e in __assert_fail_base () from /lib64/libc.so.6 #3 0x00007ffff4ecdae0 in __assert_fail () from /lib64/libc.so.6 #4 0x00007ffff7ca86b9 in error_is_type (err=0x7ffff8bf0a90, err_class=ERROR_CLASS_GENERIC_ERROR, fmt=0x7ffff7f63030 "Connection can not be completed immediately") at error.c:92 #5 0x00007ffff7db645f in tcp_start_outgoing_migration (s=0x7ffff82ef6c0, host_port=0x7ffff8c1a064 "0:1234", errp=0x7fffffffc8f8) at migration-tcp.c:93 #6 0x00007ffff7db7d70 in qmp_migrate (uri=0x7ffff8c1a060 "tcp:0:1234", has_blk=false, blk=false, has_inc=false, inc=false, has_detach=false, detach=false, errp=0x7fffffffc8f8) at migration.c:431 #7 0x00007ffff7cabbf8 in hmp_migrate (mon=0x7ffff8bb4760, qdict=0x7ffff8c16de0) at hmp.c:948 #8 0x00007ffff7eb60e8 in handle_user_command (mon=0x7ffff8bb4760, cmdline=0x7ffff8bb4bd0 "migrate -d tcp:0:1234") at /home/devel/qemu/monitor.c:3882 #9 0x00007ffff7eb7ad4 in monitor_command_cb (mon=0x7ffff8bb4760, cmdline=0x7ffff8bb4bd0 "migrate -d tcp:0:1234", opaque=0x0) at /home/devel/qemu/monitor.c:4499 #10 0x00007ffff7df9d35 in readline_handle_byte (rs=0x7ffff8bb4bd0, ch=13) at readline.c:373 #11 0x00007ffff7eb7a0d in monitor_read (opaque=0x7ffff8bb4760, buf=0x7fffffffcae0 "\r", size=1) at /home/devel/qemu/monitor.c:4485 #12 0x00007ffff7ddcbf1 in qemu_chr_be_write (s=0x7ffff8baf580, buf=0x7fffffffcae0 "\r", len=1) at qemu-char.c:164 #13 0x00007ffff7dde022 in fd_chr_read (opaque=0x7ffff8baf580) at qemu-char.c:588 #14 0x00007ffff7ce8392 in qemu_iohandler_poll (readfds=0x7ffff87042e0, writefds=0x7ffff8704360, xfds=0x7ffff87043e0, ret=1) at iohandler.c:121 #15 0x00007ffff7db5aca in main_loop_wait (nonblocking=0) at main-loop.c:497 #16 0x00007ffff7dadb70 in main_loop () at /home/devel/qemu/vl.c:1560 #17 0x00007ffff7db463d in main (argc=8, argv=0x7fffffffdfe8, envp=0x7fffffffe030) at /home/devel/qemu/vl.c:3658 (gdb) frame 4 #4 0x00007ffff7ca86b9 in error_is_type (err=0x7ffff8bf0a90, err_class=ERROR_CLASS_GENERIC_ERROR, fmt=0x7ffff7f63030 "Connection can not be completed immediately") at error.c:92 92 assert(ptr != NULL); (gdb) l 87 if (!err) { 88 return false; 89 } 90 91 ptr = strstr(fmt, "'class': '"); 92 assert(ptr != NULL); 93 ptr += strlen("'class': '"); 94 95 end = strchr(ptr, '\''); 96 assert(end != NULL); -- Amos.