From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Vernon Subject: Re: Memory leak in migration on Xen 4.4 Date: Fri, 20 Nov 2015 15:22:57 +0000 Message-ID: <564F3AD1.5030205@cam.ac.uk> References: <1447944676.5647.77.camel@citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070107000903060404050300" Return-path: In-Reply-To: <1447944676.5647.77.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell , xen-devel Cc: Ian Jackson List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------070107000903060404050300 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hello, On 19/11/15 14:51, Ian Campbell wrote: > Following on from IRC conversation regarding an issue similar to [0] (which > was reported by someone else). > > I've implemented the missing hypercall support in valgrind, see attached > which applies to SVN r15732. This is migrating cleanly (i.e. no > "README_MISSING_SYSCALL_OR_IOCTL" spew) for me with the attached > suppression file which knocks out one known (benign) issue. I applied this patch to unstable's valgrind, and have now performed a migration in both directions (see attached). > With this things appear pretty clean using the Jessie packages for > everything. Just a few k lost or remaining reachable at the end (see > attached logs). Can I suggest you try the kernel from jessie-backports? That's what I'm using; I have kernel 4.2.0 (I needed this because 3.6 from jessie doesn't support some of my hardware when running Xen). This is a 1G guest again, and you'll see that receiving version gets through over 4G. Regards, Matthew --------------070107000903060404050300 Content-Type: text/x-log; name="xsl_receive.log" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="xsl_receive.log" =3D=3D17035=3D=3D Memcheck, a memory error detector =3D=3D17035=3D=3D Copyright (C) 2002-2015, and GNU GPL'd, by Julian Sewar= d et al. =3D=3D17035=3D=3D Using Valgrind-3.11.0 and LibVEX; rerun with -h for cop= yright info =3D=3D17035=3D=3D Command: /usr/lib/xen-4.4/bin/libxl-save-helper.orig --= restore-domain 6 9 1 0 2 0 0 1 0 1 0 0 =3D=3D17035=3D=3D Parent PID: 17034 =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D Warning: set address range perms: large range [0x395dc0= 40, 0x795dc040) (defined) =3D=3D17035=3D=3D Warning: set address range perms: large range [0x795dd0= 40, 0xb95dd040) (defined) =3D=3D17035=3D=3D Warning: set address range perms: large range [0xb95de0= 40, 0xf93de040) (undefined) =3D=3D17035=3D=3D Warning: set address range perms: large range [0xf93df0= 00, 0x1393df000) (defined) =3D=3D17035=3D=3D Warning: set address range perms: large range [0xf93df0= 00, 0x1393df000) (noaccess) =3D=3D17035=3D=3D Warning: set address range perms: large range [0x395dc0= 28, 0x795dc058) (noaccess) =3D=3D17035=3D=3D Warning: set address range perms: large range [0x795dd0= 28, 0xb95dd058) (noaccess) =3D=3D17035=3D=3D Warning: set address range perms: large range [0xb95de0= 28, 0xf93de058) (noaccess) =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D HEAP SUMMARY: =3D=3D17035=3D=3D in use at exit: 2,098,392 bytes in 4 blocks =3D=3D17035=3D=3D total heap usage: 2,822 allocs, 2,818 frees, 4,342,79= 7,896 bytes allocated =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D 8 bytes in 1 blocks are definitely lost in loss record = 1 of 4 =3D=3D17035=3D=3D at 0x4C28CA0: malloc (vg_replace_malloc.c:299) =3D=3D17035=3D=3D by 0x4C2B04F: realloc (vg_replace_malloc.c:785) =3D=3D17035=3D=3D by 0x5064405: ??? (in /usr/lib/x86_64-linux-gnu/libx= enguest-4.4.so) =3D=3D17035=3D=3D by 0x5063E02: ??? (in /usr/lib/x86_64-linux-gnu/libx= enguest-4.4.so) =3D=3D17035=3D=3D by 0x5065ADB: xc_domain_restore (in /usr/lib/x86_64-= linux-gnu/libxenguest-4.4.so) =3D=3D17035=3D=3D by 0x4014AF: ??? (in /usr/lib/xen-4.4/bin/libxl-save= -helper.orig) =3D=3D17035=3D=3D by 0x54C6B44: (below main) (libc-start.c:287) =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D 24 bytes in 1 blocks are still reachable in loss record= 2 of 4 =3D=3D17035=3D=3D at 0x4C28CA0: malloc (vg_replace_malloc.c:299) =3D=3D17035=3D=3D by 0x401774: ??? (in /usr/lib/xen-4.4/bin/libxl-save= -helper.orig) =3D=3D17035=3D=3D by 0x401456: ??? (in /usr/lib/xen-4.4/bin/libxl-save= -helper.orig) =3D=3D17035=3D=3D by 0x54C6B44: (below main) (libc-start.c:287) =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D 1,208 bytes in 1 blocks are still reachable in loss rec= ord 3 of 4 =3D=3D17035=3D=3D at 0x4C28CA0: malloc (vg_replace_malloc.c:299) =3D=3D17035=3D=3D by 0x4E4A08A: ??? (in /usr/lib/x86_64-linux-gnu/libx= enctrl-4.4.so) =3D=3D17035=3D=3D by 0x4017CC: ??? (in /usr/lib/xen-4.4/bin/libxl-save= -helper.orig) =3D=3D17035=3D=3D by 0x401456: ??? (in /usr/lib/xen-4.4/bin/libxl-save= -helper.orig) =3D=3D17035=3D=3D by 0x54C6B44: (below main) (libc-start.c:287) =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D 2,097,152 bytes in 1 blocks are definitely lost in loss= record 4 of 4 =3D=3D17035=3D=3D at 0x4C28CA0: malloc (vg_replace_malloc.c:299) =3D=3D17035=3D=3D by 0x5065806: xc_domain_restore (in /usr/lib/x86_64-= linux-gnu/libxenguest-4.4.so) =3D=3D17035=3D=3D by 0x4014AF: ??? (in /usr/lib/xen-4.4/bin/libxl-save= -helper.orig) =3D=3D17035=3D=3D by 0x54C6B44: (below main) (libc-start.c:287) =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D LEAK SUMMARY: =3D=3D17035=3D=3D definitely lost: 2,097,160 bytes in 2 blocks =3D=3D17035=3D=3D indirectly lost: 0 bytes in 0 blocks =3D=3D17035=3D=3D possibly lost: 0 bytes in 0 blocks =3D=3D17035=3D=3D still reachable: 1,232 bytes in 2 blocks =3D=3D17035=3D=3D suppressed: 0 bytes in 0 blocks =3D=3D17035=3D=3D=20 =3D=3D17035=3D=3D For counts of detected and suppressed errors, rerun wit= h: -v =3D=3D17035=3D=3D ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 = from 0) --------------070107000903060404050300 Content-Type: text/x-log; name="xsl_send.log" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="xsl_send.log" =3D=3D6331=3D=3D Memcheck, a memory error detector =3D=3D6331=3D=3D Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward= et al. =3D=3D6331=3D=3D Using Valgrind-3.11.0 and LibVEX; rerun with -h for copy= right info =3D=3D6331=3D=3D Command: /usr/lib/xen-4.4/bin/libxl-save-helper.orig --s= ave-domain 8 9 0 0 1 0 0 12 8 72 =3D=3D6331=3D=3D Parent PID: 6330 =3D=3D6331=3D=3D=20 =3D=3D6331=3D=3D Warning: set address range perms: large range [0xa292000= , 0x2a692000) (defined) =3D=3D6331=3D=3D Warning: set address range perms: large range [0x395dc00= 0, 0x795dc000) (defined) =3D=3D6331=3D=3D Warning: set address range perms: large range [0x395dc00= 0, 0x795dc000) (noaccess) =3D=3D6331=3D=3D Warning: set address range perms: large range [0xa292000= , 0x2a692000) (noaccess) =3D=3D6331=3D=3D=20 =3D=3D6331=3D=3D HEAP SUMMARY: =3D=3D6331=3D=3D in use at exit: 1,232 bytes in 2 blocks =3D=3D6331=3D=3D total heap usage: 697 allocs, 695 frees, 38,370,651 by= tes allocated =3D=3D6331=3D=3D=20 =3D=3D6331=3D=3D 24 bytes in 1 blocks are still reachable in loss record = 1 of 2 =3D=3D6331=3D=3D at 0x4C28CA0: malloc (vg_replace_malloc.c:299) =3D=3D6331=3D=3D by 0x401774: ??? (in /usr/lib/xen-4.4/bin/libxl-save-= helper.orig) =3D=3D6331=3D=3D by 0x40128C: ??? (in /usr/lib/xen-4.4/bin/libxl-save-= helper.orig) =3D=3D6331=3D=3D by 0x54C6B44: (below main) (libc-start.c:287) =3D=3D6331=3D=3D=20 =3D=3D6331=3D=3D 1,208 bytes in 1 blocks are still reachable in loss reco= rd 2 of 2 =3D=3D6331=3D=3D at 0x4C28CA0: malloc (vg_replace_malloc.c:299) =3D=3D6331=3D=3D by 0x4E4A08A: ??? (in /usr/lib/x86_64-linux-gnu/libxe= nctrl-4.4.so) =3D=3D6331=3D=3D by 0x4017CC: ??? (in /usr/lib/xen-4.4/bin/libxl-save-= helper.orig) =3D=3D6331=3D=3D by 0x40128C: ??? (in /usr/lib/xen-4.4/bin/libxl-save-= helper.orig) =3D=3D6331=3D=3D by 0x54C6B44: (below main) (libc-start.c:287) =3D=3D6331=3D=3D=20 =3D=3D6331=3D=3D LEAK SUMMARY: =3D=3D6331=3D=3D definitely lost: 0 bytes in 0 blocks =3D=3D6331=3D=3D indirectly lost: 0 bytes in 0 blocks =3D=3D6331=3D=3D possibly lost: 0 bytes in 0 blocks =3D=3D6331=3D=3D still reachable: 1,232 bytes in 2 blocks =3D=3D6331=3D=3D suppressed: 0 bytes in 0 blocks =3D=3D6331=3D=3D=20 =3D=3D6331=3D=3D For counts of detected and suppressed errors, rerun with= : -v =3D=3D6331=3D=3D ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 1 f= rom 1) --------------070107000903060404050300 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------070107000903060404050300--