【问题标题】:SVN can't get exclusive lock on file <repo>/db/txn-current-lock': Bad addressSVN 无法获得文件 <repo>/db/txn-current-lock' 的排他锁:地址错误
【发布时间】:2011-06-10 09:06:57
【问题描述】:

一个小时后,我无法提交到我的 svn 存储库。我的 svn 服务器上的所有存储库都受到影响。

更新和签出工作正常。提交会产生以下错误:

svn:提交失败(详情如下): svn:无法获得文件'/var/svn/repos//db/txn-current-lock'的排他锁: 地址错误

当我创建一个名为“config”的新存储库时,问题就开始了,尽管我不确定这是否触发了我遇到的问题。

svnadmin recover &lt;repo name&gt; 给出:

svnadmin: Can't get exclusive lock on file '&lt;repo name&gt;/db/write-lock': Invalid argument

为什么会出现这个锁定问题?

[编辑] 服务器变得更糟,并在尝试安装更新时开始 Segfaulting。再次重启后,整个问题似乎都解决了……

【问题讨论】:

  • 您是否通过file:/// URL 访问存储库?
  • 我通过 http:// url 访问它。

标签: svn


【解决方案1】:

存储库已损坏,请参阅 SVN Book 的Berkeley DB Recovery 部分。简而言之,您必须这样做;

svnadmin recover /path/to/repos

【讨论】:

  • [我之前尝试过,请参阅原始问题] 但是,现在这会导致分段错误。哦哦。重新启动 [再次] 解决了这个问题。
【解决方案2】:

我刚刚在迁移 SVN 服务器后遇到了这个问题。我使用本机 svn 导出和导入命令来执行此操作。在新服务器上,我收到与 OP 相同的错误。我注意到,如果我从 shell 执行 sudo 提交,它可以工作,但在我的普通用户帐户下它失败了。

它最终成为一个文件权限。我很快就做了一个 chmod 777 -R 这对我来说很好,因为它只是我在家里的本地开发盒。

svn recover 没有解决问题。您无法锁定文件,因为您没有写入权限。

【讨论】:

    【解决方案3】:

    我今天早上在全球迁移一个存储库后遇到了这个问题。问题是 root 拥有服务器上的目录,但网络服务器以不同的用户身份运行。使用

    更改服务器上的目录所有者
    chown -R user:group /path/to/repository
    

    要解决问题,请将“用户”替换为运行网络服务器的用户,“组”通常应与用户相同。

    【讨论】:

      猜你喜欢
      • 2015-11-01
      • 2016-08-12
      • 2012-05-23
      • 2012-01-17
      • 2011-06-07
      • 2013-04-07
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      相关资源
      最近更新 更多