S390x Adding APT Sources - No usable temporary directory found - /tmp ENOSPC

https://travis-ci.org/github/google/snappy/jobs/687681456
https://travis-ci.org/github/MariaDB/server/jobs/687470429

touch: cannot touch '/tmp/apt-key-gpghome.awyHQGKW4U/pubring.gpg': No space left on device

0.17s0.01ssed: couldn't open temporary file /etc/apt/sources.list.d/sedN8LRop: No space left on device

0.04s0.00s0.01s0.00s0.00s/home/travis/.travis/job_stages: line 158: /tmp/hosts.tmp: No space left on device

0.00s0.00s0.05s/home/travis/.travis/job_stages: line 173: /tmp/hosts_127_0_0_1: No space left on device

/home/travis/.travis/job_stages: line 174: /tmp/hosts_sans_127_0_0_1: No space left on device

at adding a repository stage:

Traceback (most recent call last):

  File "/usr/bin/apt-add-repository", line 107, in <module>

    sp = SoftwareProperties(options=options)

  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 130, in __init__

    self.apt_key = AptAuth(rootdir=rootdir)

  File "/usr/lib/python3/dist-packages/softwareproperties/AptAuth.py", line 49, in __init__

    self.tmpdir = tempfile.mkdtemp()

  File "/usr/lib/python3.6/tempfile.py", line 499, in mkdtemp

    prefix, suffix, dir, output_type = _sanitize_params(prefix, suffix, dir)

  File "/usr/lib/python3.6/tempfile.py", line 269, in _sanitize_params

    dir = gettempdir()

  File "/usr/lib/python3.6/tempfile.py", line 437, in gettempdir

    tempdir = _get_default_tempdir()

  File "/usr/lib/python3.6/tempfile.py", line 372, in _get_default_tempdir

    dirlist)

FileNotFoundError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/home/travis/build']

The command "sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"" failed and exited with 1 during .

The “No space left on device” resp. “Disk quota exceeded” affects all the non-intel platforms (arm64, s390x, ppc64le), presumably because they share some common infrastructure code and hence also the bugs in that. Unfortunately, Travis CI staff has failed to respond to this or even just acknowledge this or a multitude of other problems on these three platforms. :frowning:
Related posts on this topic:

1 Like

yes, seen and hit those too. Saw, probably one of those, that arm64 got an increase. This is slightly odder as its the /tmp that’s full from the start rather than the main build space. Maybe its just the first thing that’s hit.

Ruby project is observing the following error on s390x job too.
Do you think it comes from the same reason with others?

https://travis-ci.org/github/ruby/ruby/jobs/682520961#L177

+ sudo -E apt-add-repository -y ppa:ubuntu-toolchain-r/test
Traceback (most recent call last):
...
FileNotFoundError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/home/travis/build/ruby/ruby']

https://travis-ci.org/github/ruby/ruby/jobs/690823780#L103

/home/travis/.travis/job_stages: line 427: mtu.jsonpatch: No space left on device
/home/travis/.travis/job_stages: line 428: daemon.json: No space left on device
mv: cannot stat 'daemon.json': No such file or directory
resolvconf
tee: /etc/resolvconf/resolv.conf.d/tail: No space left on device

I think it is likely that this is the same issue, yes. They seem to have fixed (or at least improved) the issue for Arm64, but apparently the same fix was not applied to s390x.

Likewise, the bug where some Python directories were owned in root apparently was fixed for Arm64, but not for s390x.