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