[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#725401: libapt-pkg4.12: Crash in pkgCache::DepIterator::IsIgnorable



On Sat, Oct 5, 2013 at 12:26 PM, D Haley <mycae@gmx.com> wrote:
> pkgCache::DepIterator::IsIgnorable(pkgCache::PrvIterator const&) const () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12
[…]
>         Examining with strace, I found that the program was crashing after opening the file /etc/apt/sources.list.d/autopkgtest.list. Removing this file prevented the crash.

These two claims conflict in so far as the file parsing is not done
(or at least not for this bt-moment) anywhere near the IsIgnoreable call.

That disabling a source fixes the problem is more an indication of some
pointer-magic going mad while the cache is created and later crashes
appear "at random" at whoever follows the bad pointer/data.

$ ls -hl /var/cache/apt/*.bin

I presume both files are bigger than ~20 MB?


Could you remove both files (as root) and (as normal user) run:
$ apt-get -s -o APT::Cache-Start=200000000 whatever-command-segfaults-for-you
(^ I really hope those files were smaller than 200 MB ;) )

Is it still segfaulting? (It shouldn't if I am right with my suspicion)

Beware also: Running with gdb can "fix" or delay the segfault, so try it with
a core file and check that the segfault with gdb is actually the same you see
without (the hidden cause is likely the same, but the backtrace might not).

Those segfaults tend to disappear with any change to the files parsed,
so please create a backup of the files in /var/lib/apt/lists, any file://
source you have and the file /var/lib/dpkg/status for later in any case.


Best regards

David Kalnischkies


Reply to: