I just happen to have this valgrind spewage so I'll pass it along:

==8285== ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 113 from 6)
==8285== 
==8285== 1 errors in context 1 of 8:
==8285== Invalid free() / delete / delete[]
==8285==    at 0x42697EE: rpmioFreePoolItem (rpmmalloc.c:205)
==8285==    by 0x41AE2D8: mireFreeAll (mire.c:102)
==8285==    by 0x40BF7CF: rpmFreeRpmrc (rpmrc.c:1005)
==8285==    by 0x4097415: rpmcliFini (poptALL.c:550)
==8285==    by 0x804B53D: main (rpmqv.c:1061)
==8285==  Address 0x548ed54 is 12 bytes inside a block of size 792 alloc'd
==8285==    at 0x40250AB: realloc (in 
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==8285==    by 0x40BE27C: defaultMachine (rpmrc.c:616)
==8285==    by 0x40BEF59: rpmSetMachine (rpmrc.c:836)
==8285==    by 0x40BF2DE: rpmRebuildTargetVars.clone.0 (rpmrc.c:920)
==8285==    by 0x40BFB32: rpmReadConfigFiles (rpmrc.c:1108)
==8285==    by 0x409715B: rpmcliConfigured (poptALL.c:196)
==8285==    by 0x4097E19: rpmcliInit (poptALL.c:793)
==8285==    by 0x804AB85: main (rpmqv.c:385)

Line numbers are wrto rpm-5_4 code at this moment. rpm-5_3
is likely almost exactly identical.

The issue isn't critical solely because rpm doesn't segfault
on every exit. What's

But the above isn't "correct" either for several reasons,
only one of which is libcpuinfo wire-up related (the refcounts
on mire obejctes used both as an "object" and as an "array"
are the fundamental design flaw which makes it rather tricky
to get the reference counts Just Right. What's missing
is a refcnt++ somewhere if this were a normal rpm object).

I will look when I get a chance. ATM, I am narrowly focussed on --json
imports into a MongoDB somehow this week.

hth

73 de Jeff
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to