Ian,
All of my NFS based root file system computers operate without mice or
keyboards. I read a few posts which claim that /dev/random might not
provide any data on these type of machines.
In my rc.local, I have simply removed /dev/random and created a link
from random to /dev/urandom.
Now everything works just fine!!
Thanks for all your patience on this thread.
Jim
Jim Duda wrote:
> Ian,
>
> I cannot explain why, but I wasn't able to get any debug message via
> SYSLOG, however, I found that by using msg(""), I was able to add my own
> debugging.
>
> I finally figured out the root cause of the hang. The program was
> blocked down inside replicate.d, at the read of /dev/random.
>
> I have both /dev/random and /dev/urandom.
>
> By simply replacing /dev/random with /dev/urandom in replicate.c, my
> hang problem was resolved and automount works just great.
>
> Does that make any sense?
>
> Jim
>
> Ian Kent wrote:
>> On Fri, 2008-01-04 at 21:46 -0500, Jim Duda wrote:
>>> Ian,
>>>
>>> On the machine that don't work properly, I get this from showmount.
>>>
>>> asterisk> showmount
>>> Broken pipe
>> That doesn't look very good.
>> It may be an indication that RPC is somehow not right on the machine.
>> I would expect output like (assuming the machine isn't actually being
>> used as an NFS server):
>> showmount: RPC: Program not registered
>>
>> Maybe the problem is as simple as portmap or rpcbind not running on the
>> machine. But then I'd expect showmount to just return nothing.
>>
>>> Does that mean anything to you?
>>>
>>> Note that in my auto.master file, I have /net commented out ...
>>>
>>> Jim
>>>
>>> Ian Kent wrote:
>>>> On Thu, 2008-01-03 at 22:48 -0500, Jim Duda wrote:
>>>>> Ian,
>>>>>
>>>>> Here in spawn.c
>>>>>
>>>>> errp = 0;
>>>>> do {
>>>>> while ((errn =
>>>>> read(pipefd[0], errbuf + errp, ERRBUFSIZ -
>>>>> errp)) == -1
>>>>> && errno == EINTR);
>>>> I'm not sure this really says much except that autofs is waiting for
>>>> mount(8) (or umount(8) as the case may be) to complete.
>>>>
>>>> Usually you will see a mount process running if mount isn't completing,
>>>> in which case, it becomes a matter of working out why mount can't
>>>> complete the mount. If we were logging debug info then usually we would
>>>> be able to get the mount command used which is often helpful. OTOH, if
>>>> there isn't any process (either mount or another automount process) then
>>>> perhaps mount has seg faulted and autofs is waiting for a reply but,
>>>> usually, if that happens the daemon gets a signal and continues with
>>>> what looks like a successful mount which it often really isn't.
>>>>
>>>>> Jim Duda wrote:
>>>>>> Ian,
>>>>>>
>>>>>> I do have daemon.*, I got it backwards in the last post.
>>>>>>
>>>>>> I downloaded autofs-5.0.2.tar.gz, do you want me to download 5.1.31 ?
>>>>>>
>>>>>> Jim
>>>>>>
>>>>>> Ian Kent wrote:
>>>>>>> On Thu, 2008-01-03 at 20:55 -0500, Jim Duda wrote:
>>>>>>>> Ian,
>>>>>>>>
>>>>>>>> Adding *.daemon simply resulted in the same information being dumped
>>>>>>>> to
>>>>>>>> the syslog file, however, twice. So, no new information.
>>>>>>> That should be daemon.* and usually you would log it to a different file
>>>>>>> when adding a syslog entry like that but I don't think that will make
>>>>>>> any difference.
>>>>>>>
>>>>>>> I can't remember how logging to a syslog server works now but does the
>>>>>>> syslog configuration on the server also limit what is logged?
>>>>>>>
>>>>>>>> Once automount gets wedged, I cannot use gdb to interrogate the
>>>>>>>> threads,
>>>>>>>> I cannot break into the program after it's wedged.
>>>> I haven't seen that behavior before and I've debugged some really broken
>>>> code in the early version 5 development. Perhaps this is something other
>>>> than just autofs?
>>>>
>>>>>>>> I'm by no means a power gdb user.
>>>>>>> Me nether.
>>>>>>>
>>>>>>>> I did:
>>>>>>>>
>>>>>>>> set detach-on-fork off, simply based on a recommended help from ddd.
>>>>>>>>
>>>>>>>> I traced the program all the way down into mount_bind.c, in the
>>>>>>>> mount_init function, then into spawn.c, where it did the first fork.
>>>>>>>> The program was wedged in spawn.c on line 186 at the first do while
>>>>>>>> loop
>>>>>>>> after the fork.
>>>>>>>>
>>>>>>>> The program though do_read_master, mod->lookup_int, then into
>>>>>>>> open_mount
>>>>>>>> for "nfs" before it got to the first spawn.
>>>>>>>>
>>>>>>>> I don't know how helpful any of this information is for you in helping
>>>>>>>> me determine what is different about my funky root file system which
>>>>>>>> causes a lockup, but thanks for trying.
>>>>>>> I'm not sure either but one thing is sure, problems are almost always
>>>>>>> different from what you think they are when you finally get hard
>>>>>>> evidence.
>>>>>>>
>>>>>>> In autofs-5.0.1-31, line 186 corresponds to an if statement?
>>>>>>>
>>>>>>> How about we try getting rid of a recent patch to this area of the code
>>>>>>> and rebuild autofs and see if that helps. The one I have in mind is
>>>>>>> close to the chopping block already.
>>>>>>>
>>>>>>> In particular:
>>>>>>>
>>>>>>> [EMAIL PROTECTED] F-7]$ cvs diff -u autofs.spec
>>>>>>> Index: autofs.spec
>>>>>>> ===================================================================
>>>>>>> RCS file: /cvs/pkgs/rpms/autofs/F-7/autofs.spec,v
>>>>>>> retrieving revision 1.221
>>>>>>> diff -u -r1.221 autofs.spec
>>>>>>> --- autofs.spec 21 Dec 2007 10:21:18 -0000 1.221
>>>>>>> +++ autofs.spec 4 Jan 2008 02:20:20 -0000
>>>>>>> @@ -127,7 +127,7 @@
>>>>>>> %patch35 -p1
>>>>>>> %patch36 -p1
>>>>>>> %patch37 -p1
>>>>>>> -%patch38 -p1
>>>>>>> +#%patch38 -p1
>>>>>>> %patch39 -p1
>>>>>>>
>>>>>>> %build
>>>>> _______________________________________________
>>>>> autofs mailing list
>>>>> [email protected]
>>>>> http://linux.kernel.org/mailman/listinfo/autofs
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs