【环境信息】
软件信息:
1) OS版本及分支:openEuler-23.03
2) 内核信息:6.1.8-3.0.0.7.oe1
3) 发现问题的组件版本信息:docker-engine-18.09.0-316.oe1
如果有特殊组网,请提供网络拓扑图
【问题复现步骤】
具体操作步骤
dnf install docker-engine
dnf remove docker-engine
出现概率(必现)
【预期结果】
安装成功,无报错信息
【实际结果】
安装有报错信息
【附件信息】
初步定位问题是由firewalld服务启动失败引起的
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
发现dmesg日志中有报错信息
!3:升级dwarves版本到1.22 PR将pahole版本升级到了122
内核中CONFIG_PAHOLE_HAS_SPLIT_BTF依赖构建环境的PAHOLE_VERSION版本,大于119版本将置y,如下:
config PAHOLE_HAS_SPLIT_BTF
def_bool PAHOLE_VERSION >= 119
3.进一步导致CONFIG_DEBUG_INFO_BTF_MODULES置y, 使得构建出的内核镜像中register_btf_id_dtor_kfuncs函数中进入异常分支,
打印出missing module BTF, cannot register dtor kfuncs
int register_btf_id_dtor_kfuncs(const struct btf_id_dtor_kfunc *dtors, u32 add_cnt,
struct module *owner)
{
struct btf_id_dtor_kfunc_tab *tab;
struct btf *btf;
u32 tab_cnt;
int ret;
btf = btf_get_module_btf(owner);
if (!btf) {
if (!owner && IS_ENABLED(CONFIG_DEBUG_INFO_BTF)) {
pr_err("missing vmlinux BTF, cannot register dtor kfuncs\n");
return -ENOENT;
}
if (owner && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES)) {
pr_err("missing module BTF, cannot register dtor kfuncs\n");
return -ENOENT;
}
return 0;
}
修改方法:
构建环境不升级DWARVES(pahole)版本,保持在原来的1.17版本
/close
使用最新版本已验证,无此问题
登录 后才可以发表评论