unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Nils Gillmann <ng0@n0.is>
To: Leo Famulari <leo@famulari.name>
Cc: guix-devel@gnu.org
Subject: Re: Redefining the maximum path length [Fwd: Re: [GNUnet-developers] using $TMPDIR instead of /tmp]
Date: Sun, 6 May 2018 19:27:46 +0000	[thread overview]
Message-ID: <20180506192746.kgovlw3drfhofhkt@abyayala> (raw)
In-Reply-To: <20180506191118.GA1898@jasmine.lan>

Leo Famulari transcribed 2.5K bytes:
> On Sun, May 06, 2018 at 06:59:23PM +0000, Nils Gillmann wrote:
> > we did some changes in GNUnet where my part of the job reminded me again
> > of the path length Linux has as default.
> > 
> > I know there's at least (only?) 1 file in the Linux kernel which defines
> > the path length. Where else would we need to apply changes as a distro?
> > 
> > I think if there are really no serious implications of extending the length,
> > we should make the path longer. Not just for GNUnet. To avoid future annoyance.
> > 
> > What do you think? And if you are against it, what should I look into
> > that supports keeping the arbitrary short number we have now?
> 
> If we are interested in discussing this change, we need some more
> information for the discussion to be fruitful.
> 
> Specifically, we need to know how the path limit is set and used in the
> Linux source code [0]. From there, we will be more able to evaluate the
> feasibility and impact of the change.
> 
> This will also help us to understand why the limit exists. Perhaps the
> limitation is required by Linux across the full set of platforms (libc
> and filesystems) it aims to support, but not for the platforms supported
> by Guix.
> 
> Finally, it will be helpful for the rest of guix-devel to understand why
> we'd want to make this change. So far, the path length limit 
> of 4096 characters seems long enough for us...

Hi Leo,

I have inserted a build log of a failing test from
GNUnet commit f13af7e7281064380def70d0b4392b4351211655

This is the limitation I experience, when the tests are not running
in /tmp but in $TMPDIR. $GNUNET_TMP's first choice is to select $TMPDIR
when it exists.


I'll look more into the rest of your email and the problem itself next
week. I can imagine that it is platform specific but guessing won't
help.

> [0] My understanding is that the PATH_MAX macro from limits.h sets a
> 4096 "character" limit.


==================================================
   gnunet 0.11.0: src/statistics/test-suite.log
==================================================

# TOTAL: 5
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test_gnunet_statistics.py
===============================

Preparing: Starting service...
TEST: Bad argument checking...PASS
TEST: Set value...PASS
TEST: Set another value...PASS
TEST: Viewing all stats...FAIL: unexpected output:
      osystem                                              other:               43
    subsystem                                               test:               42
!test-statistics-api                                             test-3:                3

FAIL test_gnunet_statistics.py (exit status: 1)






Human addition:
make[4]: *** [Makefile:1074: test-suite.log] Error 1
make[4]: Leaving directory '/tmp/guix-build-gnunet-git1.drv-0/source/src/statistics'
make[3]: *** [Makefile:1182: check-TESTS] Error 2
make[3]: Leaving directory '/tmp/guix-build-gnunet-git1.drv-0/source/src/statistics'
make[2]: *** [Makefile:1281: check-am] Error 2
make[2]: Leaving directory '/tmp/guix-build-gnunet-git1.drv-0/source/src/statistics'
make[1]: *** [Makefile:550: check-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-gnunet-git1.drv-0/source/src'
make: *** [Makefile:591: check-recursive] Error 1
phase `set-path-for-check' failed after 29.2 seconds
note: keeping build directory `/tmp/guix-build-gnunet-git1.drv-0'
builder for `/gnu/store/daqbvvd3zq2w1aw6w4yz5qm7s5k247ap-gnunet-git1.drv' failed with exit code 1
@ build-failed /gnu/store/daqbvvd3zq2w1aw6w4yz5qm7s5k247ap-gnunet-git1.drv - 1 builder for `/gnu/store/daqbvvd3zq2w1aw6w4yz5qm7s5k247ap-gnunet-git1.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/daqbvvd3zq2w1aw6w4yz5qm7s5k247ap-gnunet-git1.drv' failed




With this we get filenames like:
/tmp/guix-build-gnunet-git1.drv-0/gnunet/test-gnunet-statistics/.local/share/gnunet/statistics.dat
which is an average length. When you just do it in /tmp, you won't experience any difficulties.

I need to spin up a Debian testmachine, but I guess that other chroots won't hit the limit early
and often.

running guix build -f guix-env.scm in the source of gnunet, on commit 964f78df05ce848b96908ad0b931dfec1e182348
will enable you to reproduce my examle case.

  reply	other threads:[~2018-05-06 19:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-06 18:59 Redefining the maximum path length [Fwd: Re: [GNUnet-developers] using $TMPDIR instead of /tmp] Nils Gillmann
2018-05-06 19:11 ` Leo Famulari
2018-05-06 19:27   ` Nils Gillmann [this message]
2018-05-06 19:49     ` Leo Famulari
2018-05-06 20:17       ` Nils Gillmann
2018-05-07  5:03         ` Pjotr Prins
2018-05-07 16:37           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180506192746.kgovlw3drfhofhkt@abyayala \
    --to=ng0@n0.is \
    --cc=guix-devel@gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).