Automounter floods ioctl and futex error messages

Hi!

I have a wondering regarding the syscalls automounter floods out when running strace on the process, are the below ioctl & futex messages bad? and is there any way to investigate em deeper?

[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 21240] ioctl(3, 0xffffffffc018937c, 0x417a8020) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21240] ioctl(3, 0xc018937d, 0x417a7f80) = 0
[pid 15949] clock_gettime(CLOCK_REALTIME, {1329902249, 906472000}) = 0
[pid 15949] futex(0x2b2f72968404, FUTEX_WAIT_PRIVATE, 1741469, {0, 999947000}) = -1 ETIMEDOUT (Connection timed out)
[pid 15949] futex(0x2b2f72968440, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 15949] clock_gettime(CLOCK_REALTIME, {1329902250, 908468000}) = 0
[pid 15949] futex(0x2b2f72968404, FUTEX_WAIT_PRIVATE, 1741471, {0, 999941000}) = -1 ETIMEDOUT (Connection timed out)
[pid 15949] futex(0x2b2f72968440, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 15949] clock_gettime(CLOCK_REALTIME, {1329902251, 910447000}) = 0
[pid 15949] futex(0x2b2f72968404, FUTEX_WAIT_PRIVATE, 1741473, {0, 999865000}) = -1 ETIMEDOUT (Connection timed out)
[pid 15949] futex(0x2b2f72968440, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 15949] clock_gettime(CLOCK_REALTIME, {1329902252, 912470000}) = 0
[pid 15949] futex(0x2b2f72968404, FUTEX_WAIT_PRIVATE, 1741475, {0, 999893000}) = -1 ETIMEDOUT (Connection timed out)
[pid 15949] futex(0x2b2f72968440, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 15949] clock_gettime(CLOCK_REALTIME, {1329902253, 914483000}) = 0
[pid 15949] futex(0x2b2f72968404, FUTEX_WAIT_PRIVATE, 1741477, {0, 999893000}) = -1 ETIMEDOUT (Connection timed out)
[pid 15949] futex(0x2b2f72968440, FUTEX_WAKE_PRIVATE, 1) = 0

What are you auto-mounting? NFS share? Resource temporarily unavailable could mean anything like full usage of memory, exceeding permitted number of processes, out of temporary storage, etc. What exactly are you doing here?

Hi!

Yes NFS shares via NetAPP filers.
got lots of RAM and /tmp so probably not, but maybe some kind of system resource value hitting the roof.

these messages flood by all the time even when the automounter aint doing much.

Okay, so are you able to mount the NFS share manually, without the automounter?

Yeah, but I'm also able to mount with automounter, just wondering why the heck all these syscalls flood :slight_smile:

futex objects are used to coordinate access to something. When a futex is negative it's cooperating process(es) are in a wait state, in the case of a file system it is probably code waiting for io requests to be queued. Note the -1 in the output. This means the process checking the futex is sleeping, then waking up checking the futex and going back to sleep. Polling is the term you want. The select() system call does this for example, if you want to understand polling - read the select man page. This appears to be mostly harmless.

ioctl is the primary inquiry and control interface between processes and filesystem drivers. EAGAIN is a valid return code meaning the resource is offline, not available, busy, waiting, etc. but anyway is not able to answer. This may be very like kids in a car asking the same question every 2 minutes: 'are we there yet?'

Find out what process those pids are, then read up on what those processes do.

IMO something is possibly wasting some cpu cycles and the resources required to move a process sleep/wake (like realtime timer), and depending on your configuration this may be of little importance. You may need some kind of upgrade/patch or configuration change. It is not really "normal" AFAIK.

admin_xor implied the workround: do not automount.