【银河麒麟高级服务器操作系统】服务器异常重启故障分析及处理建议

了解更多银河麒麟操作系统全新产品,请点击访问

麒麟软件产品专区:https://product.kylinos.cn

开发者专区:https://developer.kylinos.cn

文档中心:https://document.kylinos.cn


服务器环境以及配置

系统环境

物理机/虚拟机/云/容器

物理机

网络环境

外网/私有网络/无网络

私有网络

硬件环境

处理器:

Hygon C86 7390 32-core Processor

内存:

512 GiB

机器型号

New H3C Technologies Co., Ltd. UniServer R4930 G5 H3 PKG/62DB32

整机类型/架构:

x86

BIOS版本:

HXYH031027-U01 08/03/2023

软件环境

具体操作系统版本

银河麒麟高级服务器操作系统

Kylin Linux Advanced Server release V10 (Sword)

内核版本

4.19.90-25.37.v2101.ky10.x86_64

第三方模块

scap(OE)

现象描述

系统异常重启

现象分析

分析vmcore-dmesg.txt,"invalid opcode: 0000 [#1] SMP NOPTI",表明CPU在执行某条指令时遇到了无效的操作码(opcode)而触发异常,导致系统崩溃。invalid opcode表明CPU执行了无法识别的指令,通常这发生在软件问题或硬件失效上。

RIP(指令指针寄存器)显示异常发生在函数"bpf_prog_9500684e63fa4fd7+0x129d/0x3000"中的0x129d偏移处。结合Code段的反汇编代码"<4c> 09 fb 48 c1",可以看出正是这条指令出错。说明invalid opcode(无效的操作码)来自与函数bpf_prog_9500684e63fa4fd7,该函数来自于自定义bpf程序。

[18594507.173491] invalid opcode: 0000 [#1] SMP NOPTI
[18594507.174449] CPU: 77 PID: 718772 Comm: java Kdump: loaded Tainted: G           OE     4.19.90-25.37.v2101.ky10.x86_64 #1
[18594507.175720] Hardware name: New H3C Technologies Co., Ltd. UniServer R4930 G5 H3 PKG/62DB32, BIOS HXYH031027-U01 08/03/2023
[18594507.176994] RIP: 0010:bpf_prog_9500684e63fa4fd7+0x129d/0x3000
[18594507.177646] Code: 16 4c 09 f6 48 c1 e6 10 48 09 d6 4d 0f b6 75 19 49 c1 e6 08 49 0f b6 55 18 49 09 d6 4d 0f b6 7d 1a 49 0f b6 5d 1b 48 c1 e3 08 <4c> 09 fb 48 c1 e3 10 4c 09 f3 48 c1 e3 20 48 09 f3 48 89 de 48 81
[18594507.178993] RSP: 0018:ffffa05fc164fc70 EFLAGS: 00010256
[18594507.179927] RAX: 000000000000000e RBX: 0000000000000000 RCX: 0000000000000000
[18594507.180621] RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000000
[18594507.181361] RBP: ffffa05fc164fe98 R08: 0000000000000000 R09: ffffffffc0d0a0a0
[18594507.182037] R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
[18594507.182711] R13: ffff8c91c3665920 R14: 0000000000000000 R15: 0000000000000000
[18594507.183378] FS:  00007ef74cfff700(0000) GS:ffff8c42ffd40000(0000) knlGS:0000000000000000
[18594507.184049] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[18594507.184717] CR2: 00007f63c9f1d000 CR3: 0000006e3167c000 CR4: 00000000003406e0
[18594507.185387] Call Trace:
[18594507.186070]  ? tcp_recvmsg+0x33d/0xd30
[18594507.186737]  ? inet_recvmsg+0x5b/0xd0
[18594507.187398]  ? sock_read_iter+0x92/0xf0
[18594507.188051]  ? recalibrate_cpu_khz+0x10/0x10
[18594507.188700]  ? ktime_get_with_offset+0x59/0xc0
[18594507.189351]  ? bpf_trace_run2+0x2d/0x50
[18594507.189993]  ? syscall_trace_enter+0x2ad/0x2e0
[18594507.190627]  ? bpf_trace_run2+0x2d/0x50
[18594507.191324]  ? do_syscall_64+0x153/0x1d0
[18594507.191954]  ? entry_SYSCALL_64_after_hwframe+0x44/0xa9
[18594507.192578] Modules linked in: nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache cdc_ether usbnet mii iptable_raw xt_CT macvlan scap(OE) ip6table_nat nf_nat_ipv6 ip6_tables xt_set ip_set_hash_ipportnet ip_set_bitmap_port ip_set_hash_ipportip ip_set_hash_ipport ip_set dummy iptable_mangle xt_comment xt_mark xt_conntrack ipt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_nat_ipv4 nf_nat aufs overlay fuse br_netfilter bridge ip_vs_sh ip_vs_wrr ip_vs_rr ip_vs nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 udp_diag tcp_diag inet_diag 8021q garp mrp stp llc bonding rfkill sunrpc amd64_edac_mod edac_mce_amd vfat fat kvm_amd ccp kvm irqbypass ipmi_ssif joydev crct10dif_pclmul ses crc32_pclmul enclosure scsi_transport_sas ghash_clmulni_intel
[18594507.197429]  pcspkr sg i2c_piix4 k10temp ipmi_si ipmi_devintf ipmi_msghandler acpi_cpufreq ip_tables xfs libcrc32c sd_mod ast i2c_algo_bit drm_kms_helper mlx5_core syscopyarea sysfillrect sysimgblt fb_sys_fops ttm crc32c_intel ahci libahci drm mlxfw libata devlink megaraid_sas dm_mirror dm_region_hash dm_log dm_mod

以下是按调用顺序排列的堆栈跟踪分析,堆栈显示异常主要源于与网络相关的系统调用经过BPF程序处理时发生了问题。BPF程序在处理网络套接字数据时,可能因编写错误或与内核版本不匹配而执行了非法指令。

do_syscall_64+0x153/0x1d0
 syscall_trace_enter+0x2ad/0x2e0 用于分析或调试目的
  bpf_trace_run2+0x2d/0x50  涉及执行BPF程序
   ktime_get_with_offset+0x59/0xc0 获取当前时间,可能用作事件时间戳
    recalibrate_cpu_khz+0x10/0x10 通常用于校准CPU频率
     sock_read_iter+0x92/0xf0 套接字读取操作,通过迭代器读入数据
      inet_recvmsg+0x5b/0xd0 处理来自网络通信的消息接收
       tcp_recvmsg+0x33d/0xd30 处理TCP网络通信的消息收取操作
        bpf_prog_9500684e63fa4fd7+0x129d/0x3000 导致非法指令错误的BPF程序

分析结果

堆栈显示异常主要源于与网络相关的系统调用经过BPF程序处理时发生了问题。问题的根源很可能在于BPF规则存在缺陷,生成了非法的指令序列。BPF规则通常由应用程序在用户态定义,然后传入内核执行,不当的BPF规则可能导致内核执行到非法指令。此外CPU硬件故障也可能导致指令码发生跳变。

后续计划与建议

建议针对该BPF程序进行代码审核与测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/891939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在vscode上

第一步 安装插件 &#xff08;1&#xff09;从菜单处打开vscode&#xff0c;之后点击左侧“拓展”&#xff0c;在搜索栏输入“platform”&#xff0c;安装这个插件。 注&#xff1a;安装过程可能会慢一点&#xff0c;可以尝试连接自己的热点 &#xff08;2&#xff09;安装完…

产品心、用户脑、押重注......解读vivo穿越周期之道

出品 | 何玺 排版 | 叶媛 国内科技企业中&#xff0c;vivo绝对算个“异类”。给人以平和谦逊、稳健踏实的印象&#xff0c;却极具实力&#xff01; 回望vivo发展历程&#xff0c;这家拥有近30年历史的超大型全球化产业科技生态型公司&#xff0c;从功能机到智能机一路走来&am…

jenkins入门4 --window执行execute shell

1、启动关闭jenkins 在Windows环境下&#xff0c;如果你需要关闭Jenkins服务&#xff0c;可以通过以下几种方式&#xff1a; 1、使用Windows服务管理器&#xff1a; 打开“运行”对话框&#xff08;Win R&#xff09;&#xff0c;输入services.msc&#xff0c;然后回车。 在服…

矩阵碰一碰发视频源码搭建全解析,支持OEM

在数字化营销与互动体验需求日益增长的当下&#xff0c;矩阵碰一碰发视频功能以其独特的交互性和高效的信息传播能力&#xff0c;正逐渐成为吸引用户、提升品牌影响力的有力工具。本文将深入探讨如何搭建矩阵碰一碰发视频的源码&#xff0c;帮助开发者实现这一创新功能。 一、技…

软件确认测试和验收测试有什么区别?

在当今快速发展的软件行业中&#xff0c;软件确认测试与验收测试是软件产品生产周期中的重要步骤&#xff0c;但很多人容易混淆&#xff0c;那么这两者之间究竟有什么区别呢? 软件确认测试是一个旨在确保软件产品符合用户需求规格的过程。它对软件的功能、性能和可用性进行深…

cat命令详解

cat 是 Linux/Unix 中的一个非常常用的命令&#xff0c;主要用于 连接 文件并显示文件内容。它的名称来源于 concatenate&#xff08;连接&#xff09;&#xff0c;不仅可以查看文件内容&#xff0c;还能将多个文件合并为一个文件&#xff0c;或用作其他数据流操作。 以下是对 …

[sdx12] Qualcomm SDX12查看基线版本

about.html文件 Build部分 Product SDX12.LE.1.0-00263-NBOOT.NEFS.PROD-1.90789.1 Distribution SDX12.LE.1.0|AMSS|Standard|OEM: Build Components部分 从以上截图可以看到以下模块的版本号及格式 BOOT 基线版本号 BOOT.BF.3.1.c3-00010-SDX12AAAAANAZB-1 Distr…

基于CLIP和DINOv2实现图像相似性方面的比较

概述 在人工智能领域&#xff0c;CLIP和DINOv2是计算机视觉领域的两大巨头。CLIP彻底改变了图像理解&#xff0c;而DINOv2为自监督学习带来了新的方法。 在本文中&#xff0c;我们将踏上一段旅程&#xff0c;揭示定义CLIP和DINOv2的优势和微妙之处。我们的目标是发现这些模型…

LS1046 XFI网口接近10Gbps

硬件平台&#xff1a; CPU LS1046A 1.8GHZ 软件平台&#xff1a; LINUX 4.19.32 BUILDROOT 测试软件&#xff1a; ipferf 整个过程比较曲折&#xff0c;网口默认不能达到这个速度&#xff0c;只有2Gbps以内。需要FMC配置后才能达到9.4Gbps。

一则问答:211集成电路专业,转互联网还是FPGA?

问&#xff1a; 我于2016年毕业于西安电子科技大学集成电路设计与集成系统专业。毕业后&#xff0c;我在一家不知名私企从事PCB绘制和单片机调试工作&#xff0c;持续了一年半。之后&#xff0c;我受律师职业光鲜外表的吸引&#xff0c;尝试了两年的司法考试&#xff0c;但未能…

嵌入式linux系统中QT信号与槽实现

第一:Qt中信号与槽简介 信号与槽是Qt编程的基础。因为有了信号与槽的编程机制,在Qt中处理界面各个组件的交互操作时变得更加直观和简单。 槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。 案例操作与实现: #ifndef …

Java Web开发进阶——Spring Boot基础

Spring Boot是基于Spring框架的新一代开发框架&#xff0c;旨在通过自动化配置和简化的开发方式提升生产效率。它将复杂的配置抽象化&#xff0c;让开发者专注于业务逻辑实现&#xff0c;而无需关注繁琐的基础配置。 1. Spring Boot简介与优势 Spring Boot 是 Spring 家族中的…

探索 ES6 Set:用法与实战

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

使用SSH建立内网穿透,能够访问内网的web服务器

搞了一个晚上&#xff0c;终于建立了一个内网穿透。和AI配合&#xff0c;还是得自己思考&#xff0c;AI配合才能搞定&#xff0c;不思考只依赖AI也不行。内网服务器只是简单地使用了python -m http.server 8899&#xff0c;但是对于Gradio建立的服务器好像不行&#xff0c;会出…

回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、方法概述 CNN-BiLSTM-Attention多输入单输出回归预测方法旨在通过融合CNN的局…

动态库dll与静态库lib编程4:MFC规则DLL讲解

文章目录 前言一、说明二、具体实现2.1新建项目2.2 模块切换的演示 总结 前言 动态库dll与静态库lib编程4&#xff1a;MFC规则DLL讲解。 一、说明 1.前面介绍的均为Win32DLL&#xff0c;即不使用MFC的DLL。 2.MFC规则DLL的特点&#xff1a;DLL内部可以使用MFC类库、可以被其他…

【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析

文章目录 类的加载器ClassLoader自定义类加载器双亲委派机制概念源码分析优势劣势如何打破Tomcat 沙箱安全机制JDK9 双亲委派机制变化 类的加载器 获得当前类的ClassLoader clazz.getClassLoader() 获得当前线程上下文的ClassLoader Thread.currentThread().getContextClassLoa…

数据挖掘——回归算法

数据挖掘——回归算法 回归算法线性回归最小二乘法优化求解——梯度下降法逻辑回归逻辑回归函数逻辑回归参数估计逻辑回归正则化 决策树回归小结 回归算法 回归分析 如果把其中的一些因素&#xff08;房屋面积&#xff09;作为自变量&#xff0c;而另一些随自变量的变化而变化…

前端如何从入门进阶到高级

在前端学习的道路上&#xff0c;我们将其划分为三个阶段&#xff1a;入门、实战和进阶。以下是各阶段的学习指南 一、入门阶段 在入门阶段&#xff0c;我们的目标是掌握前端的基本语法和知识&#xff0c;以便能够独立解决一些基础问题。这一阶段&#xff0c;我们建议通过视频…

Android14 CTS-R6和GTS-12-R2不能同时测试的解决方法

背景 Android14 CTS r6和GTS 12-r1之后&#xff0c;tf-console默认会带起OLC Server&#xff0c;看起来olc server可能是想适配ATS(android-test-station)&#xff0c;一种网页版可视化、可配置的跑XTS的方式。这种网页版ATS对测试人员是比较友好的&#xff0c;网页上简单配置下…