← Back to team overview

kernel-packages team mailing list archive

[Bug 1214500] Re: consistent failure with overlayfs and unix sockets

 

Still there in 14.04.

Please be advised, this bug breaks the SSH ControlMaster feature, which
in turn breaks Android builds.

I am trying to use LXC containers (snapshot clones using overlayfs) to
build Android (12.04 container on a 14.04 host).  Android's build
utility "repo" is a python script that uses SSH with an SSH
ControlMaster (shared SSH session using a FIFO socket).  It creates a
master connection like this:

  ssh -M -N -p 29422 -o ControlPath=/tmp/ssh-ujjH6W/master-%r@%h:%p my-
upstream-android.mirror.com

...and then it reuses that connection to do a git pull (from gerrit) for
100+ git repos (called "projects" in Android lingo).

Since pipes don't work, running "./repo sync" results in a bunch of
errors like this:

Control socket connect(/tmp/ssh-ujjH6W/master-jenkins.fromseattle@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx): Connection refused
Control socket connect(/tmp/ssh-ujjH6W/master-jenkins.fromseattle@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx): Connection refused
Control socket connect(/tmp/ssh-ujjH6W/master-jenkins.fromseattle@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx): Connection refused
...etc...

This error message was hard to diagnose and find.  I had to know to look
for "LXC Unix Sockets", specifically leaving out the terms Android,
repo, ssh, etc. Even then it was the fifth Google result down.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1214500

Title:
  consistent failure with overlayfs and unix sockets

Status in “linux” package in Ubuntu:
  Confirmed

Bug description:
  Seems like overlayfs and unix sockets are not playing well. It might
  be racy, as it fails consistently on my laptop with an SSD, whereas
  for smoser it only failed a single time.

  Steps to reproduce:

  REL="precise"
  $ sudo lxc-create -n source-$REL-amd64 -t ubuntu-cloud -- \
     --release=$REL --arch=amd64

  ## clone via overlayfs ##
  $ sudo lxc-clone --snapshot -B overlayfs -o source-$REL-amd64 -n $REL-overlayfs-01

  $ sudo lxc-start -n $REL-overlayfs-01

  
  ### inside ###
  $ sudo apt-get update && sudo apt-get install supervisor -y

  $ sudo service supervisor stop
  $ sudo sed -i.dist 's,var/run/*supervisor.sock,srv/supervisor.sock,' /etc/supervisor/supervisord.conf
  $ sudo service supervisor start
  $ sudo supervisorctl maintail
  unix:///srv/supervisor.sock refused connection

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1214500/+subscriptions