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