更新/重建错误。如何诊断和恢复?

我刚尝试更新,在最后阶段失败了:

I, [2024-07-04T07:17:18.714988 #807]  INFO -- : Writing /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428dcfd680205516fe211700a71c7adb5cbcf4df2cc5.js
rake aborted!
Zlib::BufError: buffer error (Zlib::BufError)

...
< 更多内容 >
...

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 805 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

我在这里看到了同样的错误消息:"Zlib::BufError: buffer error" - Discourse update fails

但我已经在 yaml 文件中添加了 maxmind 账户 ID。

我猜我可以进入容器并再次运行此命令,但我想知道通常是否有办法从失败的重建中恢复,还是人们只是尝试重新运行整个过程?

昨天我放弃了,注释掉了 maxmind。然后我进入容器,将值添加到 discourse.conf,它成功地拉取了数据库(一个相当复杂的变通方法)。

我不明白为什么会发生这种情况,但这看起来确实像一个错误。

我认为现在唯一的解决方案就是不用 maxmind 了。

我今天遇到了这个问题,但只发生了一次。我再次发出重建命令,然后就成功了。奇怪的是,没有一致的方法可以重现这个问题。其他配置相似的容器都构建成功了。

2 个赞

我今天重建了 3 个站点,每个站点都在更新主题组件后不久遇到了上述相同的问题。

每次第二次重建都能顺利完成,我什么都没改。我想知道 Maxmind 是否有点误导(或者只是另一个问题)。

我使用的是 2 个容器的设置,所以重建失败也不是什么大问题。

1 个赞

我也有同样的经历。它似乎在第一次运行时失败。幸运的是,我切换到了一个包含 2 个容器的设置,因此在运行两次重建时,网站仍然可以正常运行。

我不想冒昧地报告 bug,但如果它看起来像一只鸭子,行为也像一只鸭子…… :wink:

确认使用 maxmind 重建时出现问题。
多个论坛,所有论坛都有完全相同的插件,而且都是官方插件。

从命令行:使用 maxmind 重建会失败,注释掉 maxmind 后重建则工作正常。

从 /admin 更新 Discourse:app.yml 没有更改,更新工作正常,没有问题。

1 个赞

6 个帖子被拆分到一个新主题:如何解决 Discourse 引导过程中的 Pups exec 错误