RPM Community Forums

Mailing List Message of <rpm-devel>

Re: [CVS] RPM: rpm-5_2: rpm/rpmio/ rpmio.c

From: Jeff Johnson <n3npq@mac.com>
Date: Thu 12 Nov 2009 - 01:20:17 CET
Message-id: <FBE6A7D6-1C9B-4170-92FF-E8E760B118C3@mac.com>

On Nov 11, 2009, at 5:58 PM, Per Øyvind Karlsen wrote:

>
>
> Do you have a reproducer for whatever prompted this change?
>  --> fd 0xb4a3c30 ++ 4 Fclose at rpmio.c:2464    | LIBIO  
> 0xb4a11f0(-1) fdno -1 | LZD 0xb4e36b8 fdno 9 | UFD -1 fp (nil)
>
> ==>     xzdClose(0xb4a3c30) rc 0        | LIBIO 0xb4a11f0(-1) fdno  
> -1 | LZD 0xb4e36b8 fdno 9 | UFD -1 fp (nil)
> XZDIO:     255 reads,  2084744 total bytes in 9.019816 secs
> --> fd 0xb4a3c30 -- 4 open (xzdClose) at xzdio.c:466    | LIBIO  
> 0xb4a11f0(-1) fdno -1 | LZD 0xb4e36b8 fdno 9 | UFD -1 fp (nil)
> ==32090== Invalid read of size 4
> ==32090==    at 0x5C699E0: fileno (fileno.c:37)
> ==32090==    by 0x5582B3D: fdbg (rpmio.c:234)
> ==32090==    by 0x558D35A: rpmioFreePoolItem (rpmmalloc.c:182)
> ==32090==    by 0x55865B5: Fclose (rpmio.c:2526)
> ==32090==    by 0x5085DD1: rpmpsmStage (psm.c:2536)
> ==32090==    by 0x5085570: rpmpsmStage (psm.c:2792)
> ==32090==    by 0x50ADB8E: rpmtsRun (transaction.c:1865)
> ==32090==    by 0x509DD25: rpmcliInstallRun (rpminstall.c:327)
> ==32090==    by 0x509F7FC: rpmcliInstall (rpminstall.c:697)
> ==32090==    by 0x404A18: main (rpmqv.c:963)
> ==32090==  Address 0xb4a11f0 is 0 bytes inside a block of size 280  
> free'd
> ==32090==    at 0x4C2231D: free (vg_replace_malloc.c:323)
> ==32090==    by 0x5C61C5C: fclose@@GLIBC_2.2.5 (iofclose.c:88)
> ==32090==    by 0x558658F: Fclose (rpmio.c:2524)
> ==32090==    by 0x5085DD1: rpmpsmStage (psm.c:2536)
> ==32090==    by 0x5085570: rpmpsmStage (psm.c:2792)
> ==32090==    by 0x50ADB8E: rpmtsRun (transaction.c:1865)
> ==32090==    by 0x509DD25: rpmcliInstallRun (rpminstall.c:327)
> ==32090==    by 0x509F7FC: rpmcliInstall (rpminstall.c:697)
> ==32090==    by 0x404A18: main (rpmqv.c:963)
> --> fd 0xb4a3c30 -- 3 fopencookie (Fclose) at rpmio.c:2526      |  
> LIBIO 0xb4a11f0(-1) fdno -1 | LZD 0xb4e36b8 fdno 9 | UFD -1 fp (nil)
> ==>     fdClose(0xb4a3c30) rc fffffffffffffffe  | UFD -1 fp (nil)
>
> Happened with:
> [root@localhost rpm-5.2.DEVEL]# valgrind  --track-origins=yes .libs/ 
> rpm --rpmiodebug -Uvh --force ~peroyvind/ 
> lib64directfb1.4_0-1.4.2-2mdv2010.1.x86_64.rpm
>
> Prolly' happens whenever using --rpmiodebug..?
>

We sorted this on #rpm IRC.

Yes, the issue is likely only when --rpmiodebug is used.

if switching fdPop() <-> fdFree() "fixes", that's as good as any other  
known fix atm.

I'll look at sorting the issue with fdbg() the next time I hack on  
network transport
get back to finishing up PIGZ integration for parallel compress/ 
decompress.

Thanks for supplying the info so that I could understand the change.

73 de Jeff



  • application/pkcs7-signature attachment: smime.p7s
Received on Thu Nov 12 01:20:56 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.