Bugzilla – Bug 320
'Operation would block' using 'passwd' authentication on a Tru64 5.1B Cluster
Last modified: 2012-03-15 15:31:57 MDT
Currently cant configure 1.6.9 - 1.6.9p18 to use 'sia' so opted for 'passwd' authentication. On a Tru64 UNIX 5.1B Cluster (How cluster operations should REALLY be designed) using 'passwd' authentication sudo activation results in the following: # sudo ls sudo: unable to execute /sbin/ls: Operation would block Points to note: A 1.6.8p12 build of sudo with working 'sia' authentication works correctly on the Cluster. The 1.6.9p18 'passwd' build of sudo works fine under a non-clustered Tru64 5.1B system. Logging from the 1.6.9p18 on the cluster reports attempted command running: Nov 26 15:21:49 : root : TTY=pts/0 ; PWD=/usr/users/justyn/sudo/sudo-1.6.9p18 ; USER=root ; COMMAND=/sbin/ls
That's very odd as it indicates that the execve() system call failed. EWOULDBLOCK is a strange errno to get back.
I'll debug the code and see what happens
My cluster has been dismantled for a week while it is relocated. I've got access to another one but I've managed to find some more information. I've not tried a work around yet. [EWOULDBLOCK] [Tru64 UNIX] Indicates that another thread in the process is already performing an execlp() or execvp() operation. and A process that has called a PVM routine may fail if it calls execl, execv, execle, execve, execlp, or execvp. The exec routine returns EWOULDBLOCK. The problem can be avoided if the process calls fork, and calls the exec routine in the child process.
I believe this is fixed in sudo 1.8.x by virtue of the command being run in a sub-process. If that is not the case, please re-open the bug.