void-linux / void-linux/void-packages

`./xbps-src -a i686 clean-repocache` -- assertion failed

Open
#29,561 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Shell
Stars
3.4k
Forks
2.8k
Avg merge
2d 5h
Merged PRs (30d)
299

Description

System
  • xuname:
    Void 5.10.23_1 x86_64-musl GenuineIntel notuptodate rrrnFFFFFFFFFFF
  • package:
    n/a
Expected behavior
$ ./xbps-src -a i686 clean-repocache

-- removes obsolete packages from hostdir/repocache-i686

Actual behavior
$ ls -1 hostdir/repocache-i686/ | wc -l
59
$ ./xbps-src -a i686 clean-repocache
Assertion failed: idx < pa->pa_count (portableproplib/prop_array.c: prop_array_remove: 754)
./xbps-src: line 710: 17412 Aborted                 $XBPS_REMOVE_CMD -C /dev/null -c $XBPS_HOSTDIR/repocache-${XBPS_TARGET_ARCH} -O
$ ./xbps-src -a i686 clean-repocache
Removed libunistring-devel-0.9.10_1.i686.xbps from cachedir (obsolete)
Removed readline-devel-8.1.000_1.i686.xbps from cachedir (obsolete)
Removed libltdl-devel-2.4.6_6.i686.xbps from cachedir (obsolete)
Removed less-563_1.i686.xbps from cachedir (obsolete)
Removed ncurses-devel-6.2_4.i686.xbps from cachedir (obsolete)
Removed libpcre-8.44_1.i686.xbps from cachedir (obsolete)
Removed cross-vpkg-dummy-0.37_1.i686.xbps from cachedir (obsolete)
Removed pkg-config-0.29.2_2.i686.xbps from cachedir (obsolete)
Removed libhistory8-8.1.000_1.i686.xbps from cachedir (obsolete)
Removed gc-devel-8.0.4_1.i686.xbps from cachedir (obsolete)
Removed libdb-5.3.28_8.i686.xbps from cachedir (obsolete)
Removed m4-1.4.18_2.i686.xbps from cachedir (obsolete)
Removed base-files-0.141_11.i686.xbps from cachedir (obsolete)
Removed libffi-devel-3.3_2.i686.xbps from cachedir (obsolete)
Removed texinfo-6.7_1.i686.xbps from cachedir (obsolete)
Removed gmp-6.2.1_1.i686.xbps from cachedir (obsolete)
Removed ncurses-libs-6.2_4.i686.xbps from cachedir (obsolete)
Removed libreadline8-8.1.000_1.i686.xbps from cachedir (obsolete)
Removed libffi-3.3_2.i686.xbps from cachedir (obsolete)
Removed libltdl-2.4.6_6.i686.xbps from cachedir (obsolete)
Removed libatomic_ops-7.6.10_1.i686.xbps from cachedir (obsolete)
Removed gmp-devel-6.2.1_1.i686.xbps from cachedir (obsolete)
Removed libunistring-0.9.10_1.i686.xbps from cachedir (obsolete)
Removed automake-1.16.2_2.i686.xbps from cachedir (obsolete)
Removed autoconf-2.69_9.i686.xbps from cachedir (obsolete)
Removed gc-8.0.4_1.i686.xbps from cachedir (obsolete)
Removed libatomic_ops-devel-7.6.10_1.i686.xbps from cachedir (obsolete)
Removed gdbm-1.19_1.i686.xbps from cachedir (obsolete)
Removed perl-5.32.1_2.i686.xbps from cachedir (obsolete)
$ ls -l hostdir/repocache-i686/
total 0
Steps to reproduce the behavior
  1. Build 5-10 packages for i686.
  2. Run ./xbps-src -a i686 clean-repocache.

The issue is not always reproducible.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing ./xbps-src -a i686 clean-repocache after building several i686 packages, then inspect the command at xbps-src line 710 and the reported portableproplib/prop_array.c assertion. Done means the command reliably completes and removes obsolete packages without aborting.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
build-system, cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.