Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 576328 - dev-libs/wayland-1.10.0-r1 fails tests due to a too long socket path
Summary: dev-libs/wayland-1.10.0-r1 fails tests due to a too long socket path
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-03 08:46 UTC by tka
Modified: 2017-04-10 01:03 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,66.00 KB, text/plain)
2016-03-03 08:46 UTC, tka
Details
test-suite.log (test-suite.log,14.09 KB, text/plain)
2016-03-03 08:47 UTC, tka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tka 2016-03-03 08:46:06 UTC
Created attachment 427280 [details]
build.log

make  check-TESTS
make[3]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
make[4]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
PASS: array-test
PASS: client-test
FAIL: display-test
FAIL: connection-test
PASS: event-loop-test
PASS: fixed-test
PASS: list-test
PASS: map-test
PASS: os-wrappers-test
FAIL: sanity-test
PASS: socket-test
FAIL: queue-test
PASS: signal-test
PASS: resources-test
PASS: message-test
PASS: headers-test
PASS: cpp-compile-test
make[5]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
make  all-recursive
make[6]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
make[7]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
make[7]: Leaving directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
make[6]: Leaving directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
make[5]: Leaving directory '/var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0-abi_x86_64.amd64'
============================================================================
Testsuite summary for wayland 1.10.0
============================================================================
# TOTAL: 17
# PASS:  13
# SKIP:  0
# XFAIL: 0
# FAIL:  4
# XPASS: 0
# ERROR: 0
============================================================================


The common pattern for the failing tests is

error: socket path "/var/tmp/portage/dev-libs/wayland-1.10.0-r1/temp/runtime-dir/wayland-tests/wayland-test-25338-145699396773102" plus null terminator exceeds 108 bytes
connection-test: /var/tmp/portage/dev-libs/wayland-1.10.0-r1/work/wayland-1.10.0/tests/test-compositor.c:333: display_create: Assertion `stat == 0 && "Failed adding socket"' failed.



# emerge --info '=dev-libs/wayland-1.10.0-r1::gentoo'
Portage 2.2.27 (python 3.4.3-final-0, hardened/linux/amd64/no-multilib, gcc-5.3.0, glibc-2.22-r2, 4.4.3 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.4.3-x86_64-Intel-R-_Core-TM-_i7-3720QM_CPU_@_2.60GHz-with-gentoo-2.2
KiB Mem:    16399584 total,  11432464 free
KiB Swap:   17825788 total,  17825788 free
Timestamp of repository gentoo: Thu, 03 Mar 2016 08:00:01 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo
dev-util/cmake:           3.4.3::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.5::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.7.4::gentoo, 4.9.3::gentoo, 5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

local
    location: /var/lib/portage-local/local
    masters: gentoo
    priority: 0

testing
    location: /var/lib/portage-local/testing
    masters: gentoo
    priority: 1

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mtune=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -mtune=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs cgroup collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 acl acpi alsa amd64 avx berkdb bzip2 cairo caps cdda cddb cdparanoia cli cracklib crypt cups cxx dbus dri dts dvd fam ffmpeg fftw flac fontconfig foomaticdb gdbm gif gimp gmp gnutls gtk hardened iconv icu idn ipv6 jpeg justify lame lcms libnotify lzma mad matroska mmap mmx mmxext modules mp3 mpeg ncurses networkmanager nptl ogg opengl openmp pam pcre pie png policykit ppds readline sasl sdl seccomp session sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssp ssse3 startup-notification svg tcpd theora threads tiff truetype udev udisks unicode upower vaapi vorbis wayland x264 xattr xcb xml xtpax xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="i965 intel nouveau" XFCE_PLUGINS="power" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


 # emerge -pqv '=dev-libs/wayland-1.10.0-r1::gentoo'
[ebuild     U ] dev-libs/wayland-1.10.0-r1 [1.10.0] USE="-doc -static-libs"
Comment 1 tka 2016-03-03 08:47:10 UTC
Created attachment 427282 [details]
test-suite.log
Comment 2 Mart Raudsepp gentoo-dev 2016-03-03 12:09:44 UTC
socket path length has a limit of 108 bytes imposed by the structure they are defined (man unix). So they can't be created in such a long path. So we'll need to see if we can safely create them in $TMP or something instead of whatever env path (maybe one of $XDG_*) it is using, or pointing that variable to higher up in /tmp or something.
And at worst we could disable these subtests I suppose.
Another option could be to shorten those suffix numbers somehow to fit in the 108 limit most of the time in the common /var/tmp/ case.
As it happens, it being a revision bump, adding the "-r1" to the path is what triggered this compared to 1.10.0 :S
Comment 3 Paolo Pedroni 2016-06-22 12:45:47 UTC
It happens in dev-libs/wayland-1.9.0 as well:

make  check-TESTS
make[3]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
make[4]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
PASS: client-test
PASS: fixed-test
PASS: array-test
PASS: list-test
PASS: map-test
PASS: headers-test
PASS: queue-test
PASS: event-loop-test
PASS: message-test
PASS: resources-test
PASS: signal-test
FAIL: display-test
PASS: connection-test
PASS: socket-test
PASS: os-wrappers-test
FAIL: sanity-test
make[5]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
make  all-recursive
make[6]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
make[7]: Entering directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
make[7]: Leaving directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
make[6]: Leaving directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
make[5]: Leaving directory '/var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0-abi_x86_32.x86'
============================================================================
Testsuite summary for wayland 1.9.0
============================================================================
# TOTAL: 16
# PASS:  14
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=wayland&version=1.9.0
============================================================================
Makefile:1873: recipe for target 'test-suite.log' failed

test-suite.log excerpt:
FAIL: display-test
==================

unable to open lockfile /var/tmp/portage/dev-libs/wayland-1.9.0/temp/runtime-dir/wayland-tests/wayland-test-16016-1466599078889477.lock check permissions
display-test: /var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0/tests/test-compositor.c:313: display_create: Assertion `stat == 0 && "Failed adding socket"' failed.
test "threading_read_after_error_tst":  signal 6, fail.
----------------------------------------
unable to open lockfile /var/tmp/portage/dev-libs/wayland-1.9.0/temp/runtime-dir/wayland-tests/wayland-test-16046-1466599078895543.lock check permissions
display-test: /var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0/tests/test-compositor.c:313: display_create: Assertion `stat == 0 && "Failed adding socket"' failed.
test "threading_read_eagain_tst":       signal 6, fail.
[....]
FAIL: sanity-test
=================

unable to open lockfile /var/tmp/portage/dev-libs/wayland-1.9.0/temp/runtime-dir/wayland-tests/wayland-test-16043-1466599078892573.lock check p
ermissions
sanity-test: /var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0/tests/test-compositor.c:313: display_create: Assertion `stat == 0 && "F
ailed adding socket"' failed.
test "tc_timeout3_tst": signal 6, fail.
----------------------------------------
unable to open lockfile /var/tmp/portage/dev-libs/wayland-1.9.0/temp/runtime-dir/wayland-tests/wayland-test-16052-1466599078894503.lock check p
ermissions
sanity-test: /var/tmp/portage/dev-libs/wayland-1.9.0/work/wayland-1.9.0/tests/test-compositor.c:313: display_create: Assertion `stat == 0 && "F
ailed adding socket"' failed.
test "tc_timeout2_tst": signal 6, pass.
----------------------------------------
Timeout was set to 1 second from now.
Test timed out.
Client 'timeout_tst' was killed by signal 6
Comment 4 Paolo Pedroni 2016-06-22 15:10:09 UTC
(In reply to Paolo Pedroni from comment #3)
> It happens in dev-libs/wayland-1.9.0 as well:

Please disregard my comment, it's a different issue altogether. Sorry for the bugspam...
Comment 5 Mart Raudsepp gentoo-dev 2017-04-10 01:03:07 UTC
I've shortened the TMPDIR subdir name used from "runtime-dir" to "xdr" and with 1.13.0 they at least fit now with /var/tmp as well. But I'm afraid they'll not fit if we happen to have a 1.13.0-r1 or similar. I'm not sure what to do further to avoid that; maybe making the subdir one char or removing the subdir altogether and let it create its wayland-tests-123456 subdir directcly in $T if the dir permissions are fine, or try to use /tmp. But maybe it's fine for now with the subdir reduction and we hope -r1's are never needed... :)

commit bd72168fbd11f8bd055b92a75aa9e73f14eb5b7a
Author: Mart Raudsepp <leio@gentoo.org>
Date:   Mon Apr 10 02:27:41 2017 +0300

    dev-libs/wayland-9999: Port to EAPI-6
    
    Also try to address socket path 108 byte limit restriction caused test
    failures by cutting down the XDG_RUNTIME_DIR subdir length.
    Wayland tests used to create a wayland-tests/ subdir under it, but since
    before 1.13.0 it creates a wayland-tests-RANDOM/ subdir (RANDOM is 6
    random characters), which makes tests fail on socket path length even with
    PORTAGE_TMPDIR=/tmp, let alone /var/tmp.
    I think shortening the subdir from "runtime-dir" to "xdr" makes it fit
    in both cases, unless we are dealing with a 1.xx.y-r1 revision, in which
    case /var/tmp might fail.

commit 73068fd11c4219214b4eb0989948fa4c8b9f651f
Author: Mart Raudsepp <leio@gentoo.org>
Date:   Mon Apr 10 04:00:39 2017 +0300

    dev-libs/wayland: bump to 1.13.0
    
    Gentoo-bug: 611062