EC2062

2 minute readReference

Synopsis

WARNING EC2062: [agent]: agent reports: [Error mounting filesystem (command ‘mount’) at “[path]”: [error]

Description

On Linux or Solaris, the indicated agent was unable to mount the Electric File System (EFS) at the specified location. The text at the end of the error message gives the specific operating system error code. This condition is considered a warning rather than an error, because emake may still use other agents, even if this agent is not working as expected.

Reasons

The most common manifestation of this error ends with “Invalid argument” as the operating system error. For example:

  • WARNING EC2062: agent-1: agent reports [Error mounting filesystem (command ‘mount’) at “/home/build”: Invalid argument

This particular form of the error usually indicates that the agent failed to cleanup EFS mountpoints from a previous build. This may happen if, for example, a build specified an emake root on an NFS partition, but the permissions on the path leading to that mount point changed during the build such that the agent could no longer access the path to unmount the EFS at the end of the build.

Fixes

The simplest fix is usually to reboot the affected host. However, if that is not practical you may also try to recover the system manually. On Linux, use these steps:

  • Shutdown the agent service of the affected host.

  • Use cat /proc/mounts to find any lingering instances of the EFS, identified by the filesystem type efs100.

  • Manually unmount any filesystems thus discovered.

Note that manually unmounting the filesystem may be difficult: whatever problem prevented the agent from unmounting automatically will probably prevent you from unmounting manually as well. In that case you’ll need to resolve whatever problem is preventing the unmount before unmounting; or, you may prefer to simply reboot the system.

As a convenience, on Linux the following command pipeline can be used to cleanup all lingering EFS mountpoints: cat /proc/mounts | grep /efsroots | awk '{print $2}' | tac | xargs umount.