Red Hat Bugzilla – Bug 103200
Intermittent hangup (stall) on smbfs mount
Last modified: 2007-04-18 12:57:11 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225
Description of problem:
When mounting samba shares, the mount program intermittently hangs up after
mounting a share. A "Cntl-C" will clear the hangup and the share is mounted,
however, this command obviously wil not work reproducibly in shell scripts. This
is true in both an i686 system and a dual athlon smp system. Both systems worked
properly before upgrade from RH 8.0 to RH 9.0.
This problem has been reported by several others. Incidents were reported in
Google and in the RH Digest. References:
1. Samba With RH 9.0 (redhat digest 8260)
2. Re: Samba With RH 9.0 (redhat digest 8282)
Version-Release number of selected component (if applicable):
kernel 2-4.20 (all revs 08 through 20). SMP as well as i686.
Always. 2 boxes have this problem, but windoze and RH 7.1 thru 8.0 boxen have NO
Steps to Reproduce:
1. mount -t smbfs \\somebox\ashare\ ... etc
2. mount -t smbfs \\somebox\ashare\ ... etc
3. mount -t smbfs \\somebox\ashare\ ... etc
It never consistently succeeds four times in a row
Expected Results: mount should return in all cases, rather than in 1 to 3 of
strace is fair to middling useless here, since there is no difference between
the successful and unsucessful attempts except that the successful oners
On my system, the mount command *always* stalls, if I use filesystem type
"smbfs". However, if I use "-t smb", I have no problems at all. pam_mount uses
"-t smbfs", which is quite a problem for me.
So, which one is more correct, "smbfs" or "smb"?
Update: It actually doesn't matter if you use "smb" or "smbfs"; the problem
exists in both cases.
I've narrowed the problem down to the smbmount program. The parent process gets
futex(0x4212f1c8, FUTEX_WAIT, -2, NULL...
A child process later does kill on the parent process, but since the parent
process is waiting for the futex, the process does not die.
I have no idea *why*, though. The code looks OK. Inserting sleep(1) basically
anywhere in the code solves the problem. My guess is that this is a NPTL/futex
Here's a work-around:
1) Create /sbin/mount.smbfs_no_nptl with this content:
exec smbmount "$@"
2) Mount with "-t smbfs_no_nptl".
*** This bug has been marked as a duplicate of 97743 ***
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.