From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42808) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDDAu-0002TY-PZ for qemu-devel@nongnu.org; Thu, 09 Jul 2015 10:51:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDDAt-0000Y8-Cl for qemu-devel@nongnu.org; Thu, 09 Jul 2015 10:51:44 -0400 Received: from hall.aurel32.net ([2001:bc8:30d7:100::1]:39807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDDAt-0000Y3-6G for qemu-devel@nongnu.org; Thu, 09 Jul 2015 10:51:43 -0400 Date: Thu, 9 Jul 2015 16:51:39 +0200 From: Aurelien Jarno Message-ID: <20150709145139.GB21010@aurel32.net> References: <1436278368-13449-1-git-send-email-pbonzini@redhat.com> <1436278368-13449-11-git-send-email-pbonzini@redhat.com> <559E4A35.80205@de.ibm.com> <559E528D.60500@de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <559E528D.60500@de.ibm.com> Subject: Re: [Qemu-devel] qcow crypto changes crash on migration (was: [PULL 10/12] block: convert qcow/qcow2 to use generic cipher API) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christian Borntraeger Cc: qemu-devel@nongnu.org, Paolo Bonzini , "Dr. David Alan Gilbert" , Juan Quintela On 2015-07-09 12:53, Christian Borntraeger wrote: > Forgot some CCs (patch author and migration folks) > > > Am 09.07.2015 um 12:17 schrieb Christian Borntraeger: > > Am 07.07.2015 um 16:12 schrieb Paolo Bonzini: > >> From: "Daniel P. Berrange" > >> > >> Switch the qcow/qcow2 block driver over to use the generic cipher > >> API, this allows it to use the pluggable AES implementations, > >> instead of being hardcoded to use QEMU's built-in impl. > >> > >> Signed-off-by: Daniel P. Berrange > >> Message-Id: <1435770638-25715-10-git-send-email-berrange@redhat.com> > >> Signed-off-by: Paolo Bonzini > > > > For whatever reason this breaks migration(or virsh restore) > > from guests that were created with an older version of QEMU. > > > > > > > > Thread 1 (Thread 0x3fffb856bd0 (LWP 32226)): > > #0 0x0000000080354a54 in qcrypto_cipher_free (cipher=0x0) at /home/cborntra/REPOS/qemu/crypto/cipher-builtin.c:357 > > #1 0x00000000802ca912 in qcow2_close (bs=0x80a0cea0) at /home/cborntra/REPOS/qemu/block/qcow2.c:1477 > > #2 0x00000000802caa32 in qcow2_invalidate_cache (bs=0x80a0cea0, errp=0x81a3fc58) at /home/cborntra/REPOS/qemu/block/qcow2.c:1509 > > #3 0x000000008029bac0 in bdrv_invalidate_cache (bs=0x80a0cea0, errp=0x81a3fd08) at /home/cborntra/REPOS/qemu/block.c:3135 > > #4 0x000000008029bbe6 in bdrv_invalidate_cache_all (errp=0x81a3fdd0) at /home/cborntra/REPOS/qemu/block.c:3160 > > #5 0x000000008021de50 in process_incoming_migration_co (opaque=0x80acaae0) at /home/cborntra/REPOS/qemu/migration/migration.c:160 > > #6 0x00000000802ab96a in coroutine_trampoline (i0=0, i1=-2137149984) at /home/cborntra/REPOS/qemu/coroutine-ucontext.c:80 > > #7 0x000003fffc463ca2 in __makecontext_ret () from /lib64/libc.so.6 > > Backtrace stopped: previous frame identical to this frame (corrupt stack?) This is the same kind of backtrace I got on a MIPS host (see my other mail). The reason is that a NULL pointer is dereferenced before testing it is non NULL in qcrypto_cipher_free. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net