[darcs-users] can't get repository lock

Dan Pascu dan at ag-projects.com
Thu Jun 24 20:48:24 UTC 2010


On 24 Jun 2010, at 14:48, Petr Rockai wrote:

> Dan Pascu <dan at ag-projects.com> writes:
>> Any idea what could be causing this?
>>
>> I should mention that none is doing any write operations in those  
>> repositories
>> except the cron job that does pull regularly. Otherwise  the  
>> repositories are
>> used by trac-darcs in a read-only mode (show  patches, files, ...).  
>> Is it
>> possible that a read-only operation that  trac-darcs uses to  
>> inspect the repo
>> may lock it so a pull is not  possible at that moment?
>
> The following commands use withRepoLock:
>
> Add.lhs
> AmendRecord.lhs
> Apply.lhs
> Convert.lhs
> Get.lhs
> MarkConflicts.lhs
> Move.lhs
> Optimize.lhs
> Pull.lhs
> Record.lhs
> Remove.lhs
> Repair.lhs
> Replace.lhs
> Revert.lhs
> Rollback.lhs
> SetPref.lhs
> Tag.lhs
> Unrecord.lhs
> Unrevert.lhs
>
> so if any of those commands was running at the time, this would  
> manifest
> as waiting for repository lock...
>
> Another option is that some darcs process previously died without
> cleaning up the lock, but the result would be a stuck repository in  
> that
> case: I presume the operation just waits for a bit and proceeds?

It's not stuck. The cron job calls darcs pull every 5 minutes. I get  
the error once in a while (like 1-2 messages every few days). None  
does anything to manually unlock the repository after the error  
occurs. It just goes away. If I get the error now, 5 minutes later  
when cron calls darcs pull again it works just fine. The error is just  
sporadic and not persistent once it happens.

>
> One option would be to have darcs write some explanatory text into
> _darcs/lock (like, what command it is running and maybe its pid) so  
> that
> the waiting process could provide that info along the "waiting for  
> lock"
> informational message...
>
> It would be also helpful if you could file this in the tracker so it
> does not get lost.
>
> Thanks,
>   Petr.
>


--
Dan








More information about the darcs-users mailing list