guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Redefining the maximum path length [Fwd: Re: [GNUnet-developers] usi


From: Nils Gillmann
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

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 via email to

[Prev in Thread] Current Thread [Next in Thread]