Hi,

Am Sat, Feb 22, 2025 at 05:48:41PM -0500, schrieb David Mandelberg:
> $ sudo apt-get --with-source /tmp/tmp.VtKyaCzPyr/Packages upgrade
> /usr/include/c++/14/bits/stl_vector.h:1130: std::vector<_Tp,
> _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp
> = pkgCacheGenerator::VersionExtra; _Alloc =
> std::allocator<pkgCacheGenerator::VersionExtra>; reference =
> pkgCacheGenerator::VersionExtra&; size_type = long unsigned int]: Assertion
> '__n < this->size()' failed.
> Afgebroken

Sadly, I can't reproduce this here…

Does it happen for you with (simulation mode, so no need for sudo):
    apt-get --with-source ./Packages upgrade -s dseomn-standard

If so, add one by one:
    -o Dir::state::status=/dev/null
    -o Dir::Etc::main=/dev/null -o Dir::Etc::parts=/dev/null
    -o Dir::etc::sourcelist=/dev/null
    -o Dir::etc::sourceparts=/dev/null

With the later two, the command should error out as it disables your
sources, so the packages dseomn-standard depends on will not be
available anymore.

I suspect its not crashing anymore if sources are disabled, so if you
could figure out which sources are needed to reproduce this would be
helpful. You can be either commenting out sources.list entries or adding
their Packages files from /var/lib/apt/lists to the apt call (before
your own Packages file). That isn't the same, the later might just be
easier to do but perhaps its doesn't trigger the problem. If we aren't
"lucky", its likely highly state dependent.

If so, a "silly" workaround might just be:
    -o APT::Cache-Start=$((200 * 1024 * 1024))
(the default for that option is ~25 MB currently)


> Description: dseomn-standard

I don't see something obviously wrong that should crash the parsers, but
that "description" is not what it should be in any sense of the word.


libapt7.0 did a bunch of std::string→std::string_view things and a crash
here might very well be a sign that either a string is not properly owned
any longer or you are lucky enough to hit a cache-growth problem that
are a pain to find and weed out.

In either case a backtrace for this crash would be useful. Please try
getting a coredump, preferably with -dbgsym packages installed.
(You might need to add a source for that… which might change the setup
 and hence makes the problem disappear)


> [your workaround]

I fear that has less to do with deb vs. Packages file and more with the
order in which deb files vs stanzas in the Packages file are parsed,
so that problem might mysteriously reappear ~ or is never to be seen
again ~ based on your luck.


Best regards

David Kalnischkies

Attachment: signature.asc
Description: PGP signature

Reply via email to