2

I've just started to experience this a week ago and I've tried a number of things, but it keeps happening. It starts with a failed commit error message:

Can't set position pointer in file '(revision path)': An attempt was made to move the file pointer before the beginning of the file.

Upon getting it the first time, I found some resources that indicated some kind of corruption in the latest revision. I looked into how to delete a revision, and I followed this process to create a new repo and dump the non-corrupt revisions into it. That was successful but quite a burdensome process to have to repeat over and over.

The second time it happened, I found this resource which explained how to delete the corrupt revision directly in the repo folder structure and set the current revision back to the prior one. That worked and was quicker than the aforementioned method, but still not something I wish to keep repeating.

Then it happened again today.

Each of these times I've used svnadmin verify and gotten this (with different revision numbers each time obviously):

svnadmin verify (repo path) * Verifying metadata at revision 0 ... * Error verifying repository metadata. svnadmin: E160058: l2p index entry PHYS -1does not match p2l index value LOG r391:i10 for PHYS 1407

I googled that error but literally nothing exists, no results whatsoever for that error code or the other junk in that cryptic message.

Please help me figure out how to stop this from happening.

EDIT: After successfully committing something like 8 more revisions, I got a new error this time:

Item index 69 too large in revision 398

svnadmin verify reports:

Unexpected end of index file (repo path)/db/revs/0/396 at offset 0x43c8.

Here is what is at that offset. It doesn't seem like the end of anything:

enter image description here

Research also indicates corruption. What in the world is happening?

rory.ap
  • 34,009
  • 10
  • 83
  • 174
  • For future reference, did you have multiple users accessing the repository via the `file://` protocol concurrently, or was this a single-user repo? – Kevin Nov 12 '20 at 02:16

1 Answers1

1
  1. There is no such thing as a "TortoiseSVN repository". You have a Subversion repository and most likely you access it incorrectly causing the corruption.
  2. Most likely you store the repository on a network share and access it via the file:// protocol. If it is your case, read https://tortoisesvn.net/faq.html#reponoserver.
bahrep
  • 29,961
  • 12
  • 103
  • 150
  • Great, thank you for the answer. I had since discovered all this for myself and am now hosting my repos on a real SVN server. It's good to have an official answer for that, so others can be helped as well. – rory.ap Oct 23 '19 at 12:48
  • @rory.ap if you stored the repository on a network share, please mention this in your question. I hope that my answer will help others solve such problems, too. BTW, have you considered using VisualSVN Server? – bahrep Oct 23 '19 at 14:39