Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 759430 - media-sound/pulseaudio-13.0: Called __assert_sigpipe_ok 'unpack: failure unpacking pulseaudio-13.0.tar.xz'
Summary: media-sound/pulseaudio-13.0: Called __assert_sigpipe_ok 'unpack: failure unpa...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-10 23:49 UTC by segmentation fault
Modified: 2021-06-21 11:28 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description segmentation fault 2020-12-10 23:49:31 UTC
I wanted to rebuild pulseaudio-13.0 (I had merged it in past May without problems), but I encountered a failure during the unpack phase:

 * ERROR: media-sound/pulseaudio-13.0::gentoo failed (unpack phase):
 *   unpack: failure unpacking pulseaudio-13.0.tar.xz
 * 
 * Call stack:
 *               ebuild.sh, line  125:  Called src_unpack
 *             environment, line 5007:  Called default
 *      phase-functions.sh, line  855:  Called default_src_unpack
 *      phase-functions.sh, line  882:  Called __eapi0_src_unpack
 *        phase-helpers.sh, line  755:  Called unpack 'pulseaudio-13.0.tar.xz'
 *        phase-helpers.sh, line  520:  Called __unpack_tar 'xz -d'
 *        phase-helpers.sh, line  361:  Called __assert_sigpipe_ok 'unpack: failure unpacking pulseaudio-13.0.tar.xz'
 *   isolated-functions.sh, line   41:  Called die
 * The specific snippet of code:
 *              [[ $x -ne 0 && $x -ne ${PORTAGE_SIGPIPE_STATUS:-141} ]] && die "$@"
 * 

From the output I see that tar spits hundreds of "Permission denied" errors:

tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/scripts/benchmark_memory_usage.sh: Cannot open: No such file or directory
tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/scripts/benchmarks: Cannot mkdir: No such file or directory
tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/scripts/benchmarks/.gitignore: Cannot open: No such file or directory
tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/scripts/benchmarks/README: Cannot open: No such file or directory
tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/scripts/Dockerfile: Cannot open: No such file or directory
tar: pulseaudio-13.0/scripts: Cannot mkdir: Permission denied
...
tar: pulseaudio-13.0/m4: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/m4/lib-ld.m4: Cannot open: No such file or directory
tar: pulseaudio-13.0/m4: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/m4/progtest.m4: Cannot open: No such file or directory
tar: pulseaudio-13.0/m4: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/m4/ltsugar.m4: Cannot open: No such file or directory
tar: pulseaudio-13.0/m4: Cannot mkdir: Permission denied
tar: pulseaudio-13.0/m4/gettext.m4: Cannot open: No such file or directory
tar: pulseaudio-13.0/m4: Cannot mkdir: Permission denied
...

Remaking the puleaudio-13.0.xz file with

tar -xJf /usr/portage/distfiles/pulseaudio-13.0.tar.xz
tar --owner portage --group portage -cpJf pulseaudio-13.0.tar.xz pulseaudio-13.0

i.e. by trying to set portage.portage as the owner.group of the files and then using this .tar.xz file did NOT work.

Obviously, even though I was running the emerge command as root, the ebuild had trouble extracting other directories like 'scripts' or 'm4' (see above). I don't know what has changed in this respect since last time I instelled the package.


Workaround
==========

A workaround that works is to disable the 'userpriv' feature:

FEATURES="${FEATURES} -userpriv" emerge -av ...

Either I have overlooked something, or the ebuild may need to set

RESTRICT="userpriv"

I admit this looks strange, especially since it worked previously, but I wanted to report it nonetheless. It looks very similar to https://bugs.gentoo.org/458148 but I don't use any "aggressive" flags.


Some info
=========

Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.0/hardened, gcc-9.3.0, glibc-2.30-r8, 5.4.81-gentoo x86_64)
=================================================================
System uname: Linux-5.4.81-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-gentoo-2.6
KiB Mem:    XXXXXXXXX total,   XXXXXXXXX free
KiB Swap:   XXXXXX total,  XXXXXX free
Timestamp of repository gentoo: Mon, 11 May 2020 00:45:01 +0000
sh bash 5.0_p17
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
app-shells/bash:          5.0_p17::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.1::gentoo
dev-lang/python:          2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo
dev-util/cmake:           3.16.5::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.12.6::gentoo, 1.13.4-r2::gentoo, 1.14.1::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.33.1-r1::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo, 7.4.0-r2::gentoo, 7.5.0::gentoo, 8.3.0-r1::gentoo, 9.2.0-r2::gentoo, 9.3.0::gentoo
sys-devel/gcc-config:     2.2.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.30-r8::gentoo

Reproducible: Always

Steps to Reproduce:
1. emerge -1av =media-sound/pulseaudio-13.0
2. 
3.
Actual Results:  
Failure during unpack.

Expected Results:  
ebuild should not fail to extract the package.

Possibly set

RESTRICT="userpriv"
Comment 1 Matt Turner gentoo-dev 2020-12-13 03:08:02 UTC
Looks to me like you have some garbage in /var/tmp/portage that is causing the extraction to fail.
Comment 2 Thomas Deutschmann (RETIRED) gentoo-dev 2021-06-21 11:28:57 UTC
Not a problem with the package/ebuild itself. Like said in comment #1, check your PORTAGE_TMPDIR. Clean it and ensure that portage can write to it.