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

Dan Pascu <d...@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






_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to