https://bugzilla.novell.com/show_bug.cgi?id=653421 https://bugzilla.novell.com/show_bug.cgi?id=653421#c0 Summary: Double free() for PoolMember::myPool _global Classification: openSUSE Product: openSUSE 11.4 Version: Factory Platform: i686 OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: libzypp AssignedTo: zypp-maintainers@forge.provo.novell.com ReportedBy: kkaempf@novell.com QAContact: qa@suse.de Found By: Development Blocker: --- Testing libzypp-bindings (git master, last commit 65d1e5a3 "remove garbage :(", satsolver git master, commit 63145db, version 0.16.1) with minimal coverage (most .i files commented out, no active initialization of libzypp) fails to exit cleanly after loading the bindings. (The bindings are basically empty and not making any calls into libzypp except for global constructors and destructors) valgrind shows ~PoolImpl @ 0x4f1d8e0, _pool @ 0x46a3738 ==11480== Invalid free() / delete / delete[] ==11480== at 0x4026996: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==11480== by 0x4D95410: sat_free (util.c:83) ==11480== by 0x4D840EB: pool_free (pool.c:83) ==11480== by 0x4D45659: zypp::sat::detail::PoolImpl::~PoolImpl() (PoolImpl.cc:208) ==11480== by 0x41987CE: __run_exit_handlers (in /lib/libc-2.11.2.so) ==11480== by 0x419882C: exit (in /lib/libc-2.11.2.so) ==11480== by 0x40AF8B2: ruby_stop (in /usr/lib/libruby.so.1.8.7) ==11480== by 0x40AF915: ruby_run (in /usr/lib/libruby.so.1.8.7) ==11480== by 0x804871C: main (in /usr/bin/ruby) ==11480== Address 0x4f1d8e0 is 0 bytes inside data symbol "_ZZN4zypp3sat6detail10PoolMember6myPoolEvE7_global" 0x4f1d8e0 is the value of the 'this' pointer for PoolImpl Dropping the static _global declaration makes the double free go away. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.