【问题标题】:Gerrit: Start FAILED, no logsGerrit:启动失败,没有日志
【发布时间】:2019-08-11 14:26:22
【问题描述】:

带有 openjdk 1.8.0 和 Gerrit 2.14.7 的 Fedora 27。

这是我得到的:

gerrit_testsite/bin/gerrit.sh start
Starting Gerrit Code Review: FAILED

日志是空的。有一个gerrit.pid 文件;对应的进程正在运行:

GerritCodeReview -jar /home/gerrit2/gerrit_testsite/bin/gerrit.war daemon -d /home/gerrit2/gerrit_testsite --run-id=1521606266.3474

但是在配置的端口 8080 上没有任何监听。

当我添加 -x 选项时,我可以看到 gerrit.sh 脚本正在超时等待 gerrit.run 文件出现 - 这不会发生。

我尝试将超时时间增加到 600 秒。

我试过gerrit.sh run。这确实会创建一个带有两个警告的错误日志:

[main] WARN  com.google.gerrit.sshd.SshDaemon : Cannot format SSHD host key [EdDSA]: invalid key type
[main] WARN  com.google.gerrit.server.config.GitwebCgiConfig : gitweb not installed (no /usr/lib/cgi-bin/gitweb.cgi found)

同样,8080 上没有任何内容。

我相信我是第一次能够运行 Gerrit。我不得不更改 canonicalWebUrl 参数,重新启动 Gerrit,从那以后就遇到了问题。我删除了我的 gerrit_testsite 目录并重新初始化它,但启动它总是失败。

SSHD 密钥警告是关于什么的?我需要 gitweb 吗?还有哪里可以看?

编辑:我从全新的 Fedora 安装重新启动。那么:

$ java -jar gerrit.war init -d ~/review-site
....
Initialized /home/gerrit2/review-site
Executing /home/gerrit2/review-site/bin/gerrit.sh start
Starting Gerrit Code Review: FAILED
error: cannot start Gerrit: exit status 1
Waiting for server on 192.168.1.201:8080 ... OK
Opening http://192.168.1.201:8080/#/admin/projects/ ...FAILED
Open Gerrit with a JavaScript capable browser:
  http://192.168.1.201:8080/#/admin/projects/

尽管有 FAILED 消息,但我确实在日志目录中找到了一个 gerrit.run 文件。 error_log 包含与之前相同的两个警告。 GerritCodeReview 进程侦听端口 8080,我可以通过 Web 浏览器访问。现在,生活还不错,但我想知道当我必须重新启动 Gerrit 时会发生什么。

EDIT2:是的,正如我所担心的那样,在gerrit.sh restart 之后,我不仅会失败,而且在 web 端口 8080 和 SSH 端口 29418 上都没有监听。

EDIT3:总而言之,在我看来,我可以在一个全新的操作系统上成功启动 Gerrit,但是一旦我重新启动它,它就会等待一个永远不会发生的事件,或在写入日志之前崩溃。

【问题讨论】:

  • 我在 Debian 8 上使用 2.15.1 时遇到了同样的问题。您找到解决方案了吗?
  • 还没有。诚然,我的 Gerrit 安装项目目前处于暂停状态。我可能会在接下来的几周内恢复它,所以请注意这个空间。
  • 在我的安装中,如果我等待足够长的时间,它最终会启动并正常运行。

标签: gerrit


【解决方案1】:

问题可能是缺乏熵。 Gerrit 从 /dev/random 读取数据,在无头服务器上,熵可能在 Gerrit 有时间启动之前就耗尽了。

解决办法是安装haveged 包。 由于您使用的是 Fedora,因此所需的命令是:

yum install haveged
chkconfig haveged on
service haveged start

这样做之后,Gerrit 应该会比较快地开始。

注意:我找到了这个解决方案here

【讨论】:

    【解决方案2】:

    我刚刚遇到了同样的问题,修复的提示就在这里,在您的日志中:

    [main] WARN  com.google.gerrit.server.config.GitwebCgiConfig : gitweb not installed (no /usr/lib/cgi-bin/gitweb.cgi found)
    

    你没有安装 gitweb 并且你已经在你的系统中配置了它。从 gerrit.config 中删除 gitweb 配置:

    [gitweb]
        type = gitweb
        cgi = /usr/lib/cgi-bin/gitweb.cgi
    

    或确保已正确安装。

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 2017-02-11
      • 2022-01-12
      • 2019-05-07
      • 2015-07-07
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 2020-02-21
      相关资源
      最近更新 更多