info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Info-cvs] CVS loginfo bug


From: Peter Kennard
Subject: Re: [Info-cvs] CVS loginfo bug
Date: Wed, 20 Sep 2000 09:15:42 -0700

Nope I have tested this.  I rebooted the server box. It fails when it tries
to write the lock and while it is "waiting" on the lock, the lock files do
not exist which indicates some sort of bug.

because the script stimulates the bug when run with "bash" and not when run
with "sh" it has all the symptoms of a memory environment or thread timing
bug.  

The actual operation (commit) was successful after I used (control C) to
break out of the message wait loop.  The bug also showed up when I
commented out the actual code in the script run with bash.


At 11:49 AM 9/20/00 -0400, you wrote:
>I can't imagine that a script that doesn't use CVS commands or create the
>lock files explicitly would cause this problem.  Are you sure you're not
>running two invocations of CVS?  Maybe something about your script hangs in
>BASH and you ran CVS again without killing the old process?
>
>Derek
>
>--
>Derek Price                      CVS Solutions Architect (
http://CVSHome.org )
>mailto:address@hidden     OpenAvenue ( http://OpenAvenue.com )
>--
>I heard a lot of stories in my time.  They went along with the sound of the
>tinny piano playing in the parlor downstairs.
>
>                - Humphrey Bogart as Rick, _Casablanca_
>
>Peter Kennard wrote:
>
>> I have a little script I run from loginfo which looks like the below.  I
>> gives me a "waiting for (current user)'s lock" error when I run CVS on the
>> server machine locally. It is OK on a remote client. If I use "sh" instead
>> of "bash" to run the script from loginfo it works fine.  It gives me the
>> error with "bash".  I am running an unpatched cvs-1.10.8 on RedHat Linux.
>> I just thought I would bring it to your attention.
>>
>> inside "loginfo"
>>
>> # mod     script                         group files  module
>> m1 bash ${CVSROOT}/CVSROOT/onloginfo.sh         g1      %s      m1
>> m2 bash ${CVSROOT}/CVSROOT/onloginfo.sh         g2      %s      m2
>> ...
>>
>> inside "onloginfo.sh"
>>
>> # the purpose of this is to make sure the "group" is set for each module
>> # so all the proper users can have access to it.
>>
>> group=$1
>> files=$2
>>
>> declare -i state=0
>> declare dir
>>
>> for name in ${files}
>> do
>>     if [ ${state} = 0 ]; then
>>         dir=${CVSROOT}/${name}
>>         state=1
>>     elif [ ${state}${name} = 1- ]; then
>>         chown .${group} ${dir}
>>         state=2
>>     elif [ ${state} = 1 ]; then
>>         chown .${group} ${dir}/${name},v
>>     fi
>>
>> done
>>
>> _______________________________________________
>> Info-cvs mailing list
>> address@hidden
>> http://mail.gnu.org/mailman/listinfo/info-cvs
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]