Bazel 挂在 java 二进制上



操作系统升级后,我正在尝试在同一台计算机上重新安装 bazel。按照相同的步骤,相同的 bazel 版本在调用它时出现问题。我认为问题与java二进制文件有关,但我不知道如何进一步调试它。您对如何进一步调试它有什么建议吗?

调用 bazel 0.19.1 安装程序后,构建挂起

"提取巴泽尔装置...">

当在"bazel help"或"bazel version"上调用 strace 时,我得到:

futex(0x7f93131bc9d0, FUTEX_WAIT, 8279, NULL 在最后

调用 bazel --client_debug --batch 版本时,我得到:

  • [bazel INFO src/main/cpp/option_processor.cc:362] 查找以下 rc 文件:/etc/bazel.bazelrc,/export/home/sdc/.bazelrc
  • [bazel INFO src/main/cpp/blaze.cc:1549] 请求调试日志记录,将所有客户端日志语句发送到 stderr
  • [bazel INFO src/main/cpp/blaze.cc:1569] 获取客户端锁,等待 0 毫秒
  • [bazel INFO src/main/cpp/blaze.cc:725] 以批处理模式启动 Bazel。 [bazel INFO src/main/cpp/blaze_util_posix.cc:226]在/export/home1/sdc_bamboo/bamboo-agent-home/xml-data/build-dir/Z800-DEP-JOB1/tensorflow/build/deps 中调用二进制/export/home/sdc/.cache/bazel/_bazel_sdc/install/4934d058a217b4818dc15e0efc1712e0/_embedded_binaries/embedded_tools/jdk/bin/java

附加信息: Bazel 0.19.1 安装使用:

  • WGET https://github.com/bazelbuild/bazel/releases/download/0.19.1/bazel-0.19.1-installer-linux-x86_64.sh
  • .
  • /bazel-0.19.1-installer-linux-x86_64.sh --prefix=pwd

操作系统:

lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: HELiOS
Description: HELiOS release 6.10SP2 (Carbon)
Release: 6.10SP2
Codename: Carbon

java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

另见同一帖子 https://github.com/bazelbuild/bazel/issues/11557

从 GitHub 问题中复制我的答案,希望可以阐明如何调试这个问题:

Bazel 在自解压客户端-服务器模型上工作,其中客户端是一个C++二进制文件,它提取 Java 服务器(A-server.jar(并启动它,并通过 RPC 与之通信。看起来客户端确实成功执行,但它在与服务器通信时遇到了问题。检查 Java 进程是否正在运行,并执行线程转储以查看它卡在哪里?

还可以考虑使用更高版本的 Bazel 尝试此操作,以查看问题是否已同时解决。

最新更新