[译] SIGSEGV:Linux 容器中的分段错误(退出代码 139)

[译] sigsegv:linux 容器中的分段错误(退出代码 139)

什么是 SIGSEGV?

SIGSEGV,也称为分段违规或分段错误,是基于 Unix 的操作系统(如 Linux)使用的信号。它表示程序尝试在其分配的内存之外进行写入或读取,这可能是由于编程错误、软件或硬件兼容性问题或恶意攻击(例如缓冲区溢出)所致。

SIGSEGV 由以下代码表示:

在 Unix/Linux 中,SIGSEGV 是操作系统信号 11。在 Docker 容器中,当 Docker 容器由于 SIGSEGV 错误而终止时,它会抛出退出码 139。SIGSEGV 的默认操作是进程异常终止。此外,还可能发生以下情况:

通常会生成 core 文件以启用调试;出于故障排除和安全目的,SIGSEGV 信号在日志中被记录得更加详细;操作系统可以执行特定于平台的操作;操作系统可能允许进程本身处理分段错误。SIGSEGV 是 Kubernetes 中容器终止的常见原因。然而,Kubernetes 不会直接触发 SIGSEGV。要解决此问题,您需要调试有问题的容器或底层主机。

SIGSEGV 与 SIGABRT

SIGSEGVSIGABRT 是两个可以导致进程终止的 Unix 信号。

SIGSEGV 由操作系统触发,它检测到一个进程存在内存违规,可能因此终止它。SIGABRT(信号中止)是由进程本身触发的信号。它异常终止进程,关闭并刷新打开的流。一旦被触发,就不能被进程阻塞(类似于SIGKILL,不同的是SIGKILL是由操作系统触发的)。

在发送 SIGABRT 信号之前,进程可以:

调用 libc 库中的 abort() 函数,解锁 SIGABRT 信号。然后进程可以通过触发 SIGABRT 自行中止;调用用于调试的 assert() 宏,如果断言为假,则使用 SIGABRT 中止程序。退出码 139 和 134 与 Docker 容器中的 SIGSEGVSIGABRT 并行:

Docker 退出码 139:表示容器由于内存冲突而收到底层操作系统的 SIGSEGV;Docker 退出码 134:表示容器触发了 SIGABRT 并被异常终止。

什么导致 SIGSEGV?

现代通用计算系统包括内存管理单元 (MMU)。MMU 可以在 Linux 等操作系统中实现内存保护,防止不同进程访问或修改彼此的内存,除非通过严格控制的 API。这简化了故障排除并使进程更具弹性,因为它们被彼此隔离开来了。

当进程尝试使用 MMU 未分配给它的内存地址时,会发生 SIGSEGV 信号或分段错误。这可能由于三个常见原因而发生:

编码错误:如果进程未正确初始化,或者如果它试图通过指向先前释放的内存的指针访问内存,则可能发生分段冲突。这将导致在特定情况下特定进程或二进制文件中的分段错误。二进制文件和库之间的不兼容:如果进程运行的二进制文件与共享库不兼容,则可能导致分段错误。例如,如果开发人员更新了库,更改了其二进制接口,但没有更新版本号,则可能会针对较新版本加载较旧的二进制文件。这可能会导致较旧的二进制文件尝试访问错误的内存地址。硬件不兼容或配置错误:如果在多个库中频繁发生分段错误,并且没有重复模式,这可能表明机器上的内存子系统存在问题或不正确的低级系统配置设置。

处理 SIGSEGV 错误

代码小浣熊 代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 51 查看详情 代码小浣熊

在基于 Unix 的操作系统上,默认情况下,SIGSEGV 信号将导致违规进程异常终止。

操作系统执行的其他操作除了终止进程外,操作系统还可以生成 core 文件来辅助调试,也可以执行其他平台相关的操作。例如,在 Linux 上,您可以使用 grsecurity 实用程序详细记录 SIGSEGV 信号,以监控相关的安全风险,例如缓冲区溢出。

允许进程处理 SIGSEGV

在 Linux 和 Windows 上,操作系统允许进程处理它们对分段错误的响应。例如,该程序可以收集堆栈跟踪信息,其中包含处理器寄存器值和分段错误中涉及的内存地址等信息。

segvcatch 就是一个例子,它是一个支持多个操作系统的 C++ 库,能够将分段错误和其他与硬件相关的异常转换为软件语言异常。这使得使用简单的 try/catch 代码处理“硬”错误成为可能,例如分段错误。这使得软件可以识别分段错误并在程序执行期间进行纠正。

SIGSEGV 故障排除

在对分段错误进行故障排除或测试程序以避免这些错误时,可能需要故意引发分段违规以调查其影响。大多数操作系统都可以以这样一种方式处理 SIGSEGV,即使发生分段错误,它们也允许程序运行,以便进行调查和记录。

排查 Kubernetes 中常见的分段故障

SIGSEGV 故障与 Kubernetes 用户和管理员高度相关。容器由于分段违规而失败是很常见的。

然而,与 SIGTERMSIGKILL 等其他信号不同,Kubernetes 不会直接触发 SIGSEGV 信号。相反,当容器被发现执行内存违规时,Kubernetes 节点上的主机可以触发 SIGSEGV。然后容器终止,Kubernetes 检测到这一点,并可能根据 pod 配置尝试重新启动它。

当 Docker 容器被 SIGSEGV 信号终止时,它会抛出退出码 139。这可以表明:

容器上运行的其中一个库中的应用程序代码存在问题;容器上运行的不同库之间不兼容;这些库与主机上的硬件不兼容;主机内存管理系统或内存配置错误的问题。要调试和解决容器上的 SIGSEGV 问题,请执行以下步骤:

获取主机的 root 访问权限,并查看日志以查看有关有问题的容器的其他信息。SIGSEGV 错误在 kubelet 日志中如下所示:

[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x1bdaed0]

尝试确定错误发生在容器映像的哪一层 —— 它可能在您的特定应用程序代码中,或在容器更底层的基础映像中。运行 docker pull [image-id] 为由 SIGSEGV 终止的容器拉取镜像。确保您已安装或添加调试工具(例如 curlvim)。使用 kubectl 执行到容器中。查看您是否可以复现 SIGSEGV 错误以确认导致问题的库。如果您已确定导致内存违规的库,请尝试修改您的镜像以修复导致内存违规的库,或将其替换为另一个库。很多时候,更新一个库到较新版本或与主机环境兼容的版本将解决此问题。如果您无法识别始终导致错误的库,则问题可能出在主机上。检查主机内存配置或内存硬件是否存在问题。上述过程可以帮助您解决直接的 SIGSEGV 错误,但在许多情况下,故障排除可能会变得非常复杂,并且需要涉及多个组件的非线性调查。

以上就是[译] SIGSEGV:Linux 容器中的分段错误(退出代码 139)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/463800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 04:37:18
下一篇 2025年11月8日 04:40:56

相关推荐

  • 稳定币秒变现交易所TOP5_2025年稳定币提现最快平台推荐

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX 稳定币秒变现交易所TOP5_2025年稳定币提现最快平台推荐 在2025年的虚拟货币市场,资产的流动性与变现效率是衡量一个交易平台服务质量的核心标准。对于持有稳定币的用户而言,能否在需要时快速、安全地将其兑换为…

    2025年12月8日
    000
  • 稳定币购买全流程指南_2025年稳定币交易所开户教程

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX 稳定币购买全流程指南_2025年稳定币交易所开户教程 稳定币作为链接数字世界与传统金融的桥梁,在虚拟货币市场中扮演着价值尺度和避险工具的重要角色。对于许多用户来说,购买稳定币是进入虚拟货币世界的第一步。本指南将…

    2025年12月8日
    000
  • P2P稳定币交易平台TOP3_2025年稳定币匿名兑换指南

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX P2P稳定币交易平台TOP3_2025年稳定币匿名兑换指南 进入2025年,点对点(P2P)交易市场作为连接法定货币与虚拟货币世界的关键桥梁,其重要性持续增长。P2P平台允许用户直接与其他用户进行交易,使用本地…

    2025年12月8日
    000
  • 稳定币安全交易所介绍_2025年零风险稳定币平台入口

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX 2025稳定币最好的交易所推荐_全球十大稳定币交易平台权威评测 在2025年的虚拟货币市场中,稳定币继续扮演着至关重要的角色。它们作为连接传统金融与数字资产世界的桥梁,为交易者提供了价值储存和风险对冲的有效工具…

    好文分享 2025年12月8日
    000
  • 鲍威尔主席7月1日讲话对比特币有可能造成的影响分析

    鲍威尔7月1日讲话可能对比特币产生显著影响。若其言论偏向鹰派,强调高通胀和维持高利率,则会因流动性收紧预期而压制比特币价格;若透露经济衰退风险,则市场对其避险属性的解读将分化,部分投资者抛售,另一些则视其为对冲工具;讲话发布后,比特币价格通常因市场即时解读而剧烈波动,鸽派信号可能拉升价格,鹰派则导致…

    2025年12月8日
    000
  • 2025稳定币最好的交易所推荐_2025好用的稳定币交易所排行

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX 稳定币交易所推荐_稳定币热门交易所排行 稳定币作为虚拟货币市场中不可或缺的一环,其核心价值在于提供了一个与法定货币(如美元)价值锚定的数字资产。它们在数字资产交易中扮演着价值尺度、避险工具和交易媒介的关键角色,…

    2025年12月8日
    000
  • 稳定币在那个交易所开业购买_稳定币交易所推荐介绍

    一键直达|2025主流加密资产交易所平台 Binance币安 [adid]758691fdf7ae3403db0d3bd8ac3ad585[/adid Huobi火币 [adid]9778d5d219c5080b9a6a17bef029331c[/adid] 欧易OKX 2025稳定币最好的交易所推…

    好文分享 2025年12月8日
    000
  • 稳定币在那个交易所交易好_稳定币安全交易所介绍

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX 稳定币交易所推荐_稳定币热门交易所排行 稳定币作为虚拟货币市场中不可或缺的一环,其核心价值在于提供了一个与法定货币(如美元)价值锚定的数字资产。它们在数字资产交易中扮演着价值尺度、避险工具和交易媒介的关键角色,…

    2025年12月8日
    000
  • 新兴稳定币交易所评测_2025年稳定币潜力黑马平台

    一键直达|2025主流加密资产交易所平台 Binance币安 Huobi火币 欧易OKX 新兴稳定币交易所评测_2025年稳定币潜力黑马平台 2025年的虚拟货币市场中,稳定币的版图正在悄然扩张。除了USDT和USDC等传统巨头,各类新兴稳定币,包括算法稳定币、去中心化超额抵押稳定币以及与新型资产挂…

    2025年12月8日
    000
  • 2025暴富秘籍:10大千倍潜力币名单泄露新手闭眼入!

    2025年,一个充满未知与可能的年份,对于渴望在数字资产领域实现财富跃迁的人们而言,无疑是值得密切关注的关键节点。市场潮起潮落,新的机遇总在孕育。在纷繁复杂的数字资产世界里,如何拨开云雾,捕捉那些具备千倍增长潜力的“明日之星”,成为了无数投资者魂牵梦绕的难题。本文旨在为您揭示一份被认为具备爆炸性增长…

    2025年12月8日
    000
  • 以太坊交易量Top10平台2025年评测 深度解析各交易所市场占有率

    以太坊作为加密世界的基石,其交易活动在全球各大数字资产交易平台蓬勃发展。理解不同平台在以太坊交易量中所占据的市场份额,对于参与其中的各方都具有重要的参考意义。本次分析聚焦于主要交易所在以太坊交易领域的表现,深入探讨其市场结构和用户分布,旨在呈现一个围绕以太坊交易核心的平台生态概览。这些平台的运营策略…

    2025年12月8日 好文分享
    000
  • 欧易平台官网地址 欧易官方门户网站入口

    欧易 OKX 是全球领先的数字资产交易平台之一,致力于为用户提供安全、便捷的加密货币交易服务。平台支持多种数字资产的交易,包括现货、合约等,并提供丰富的金融工具和技术支持。本文将详细介绍如何在欧易 OKX 平台进行注册,并提供官方页面链接,方便您直接访问欧易 OKX 官方首页。 欧易(OKX)官网:…

    2025年12月8日
    000
  • 2025交易量最高的币圈交易所top10 2025币圈交易所用户活跃度排行榜

    币圈交易所的各项表现备受关注,交易量与用户活跃度是衡量平台实力的关键指标。市场参与者持续评估不同平台的运营能力和用户基础。了解这些指标有助于理解当前行业的格局。 2025主流加密货币交易所官网注册地址推荐: 欧易OKX: Binance币安: Gateio芝麻开门: 火币htx:[ 影响交易量和用户…

    2025年12月8日 好文分享
    000
  • TradFi是什么功能?有哪些特色?Bybit TradFi详细介绍

    目录 TradFi 是什么?Bybit TradFi 有什么特色?1. 使用USDT 作为抵押2. 跨市场的一致介面3. 灵活杠杆配置(最高可达500x,依商品不同)4. 顶级流动性+ 低手续费5. 不只有交易:还有模拟练习+ 跟单工具Bybit TradFi支援哪些交易标的?Bybit TradF…

    2025年12月8日 好文分享
    000
  • 鸿蒙手机怎么安装币安app 鸿蒙系统可以安装Binance吗

    在鸿蒙设备上安装币安应用主要有两种方法。1. 通过官方APK直接安装:访问币安官网下载APK文件,开启浏览器或文件管理器的安装权限后执行安装;2. 使用GBox辅助工具安装:在华为应用市场下载GBox,通过其虚拟环境搜索并自动安装币安应用,同时创建桌面快捷方式。常见问题及解决办法包括:安装失败时检查…

    2025年12月8日
    000
  • 2025年比特币现货交易量排行榜 币圈top10交易所的流动性排行

    数字资产市场的活力很大程度上体现在其核心交易平台的表现上。交易量和市场流动性是衡量一个加密货币交易所健康度和吸引力的关键指标。高交易量意味着平台用户众多,交易活跃;深厚的流动性则确保了资产可以快速高效地以接近市场价的价格进行买卖,这对于所有参与者,特别是大额交易者,至关重要。对这些核心指标的关注,是…

    2025年12月8日 好文分享
    000
  • MetaTrust Labs是什么?融资、技术、产品、愿景介绍

    什么是metatrust labs?metatrust labs能给我们带来什么? MetaTrust Labs 是 Web3 安全领域的领先创新者,提供 AI 驱动的安全解决方案。通过 MetaScan、MetaScout 和 MetaScore 等尖端工具,为开发者提供全面的安全保障,包括自动化…

    2025年12月8日 好文分享
    000
  • 2025年狗狗币交易量前十平台统计 2025年狗狗币交易量最高的币圈交易所

    对加密货币市场交易数据的深入分析,特别是在热门数字资产如狗狗币(Dogecoin)的表现上,是评估平台流动性和用户活跃度的重要维度。聚焦2025年,对狗狗币在主要交易平台的交易量进行统计,能够呈现出市场对这一特定资产的兴趣分布以及各交易所在特定年份的数据表现。这样的统计视角有助于理解在特定时间点,哪…

    2025年12月8日 好文分享
    000
  • 价格通道叉(Pitchfork)是什么?如何使用价格通道叉指标进行加密货币交易?

    价格通道叉(pitchfork)是什么指标?如何绘制价格通道叉(pitchfork)?如何使用价格通道叉指标进行加密货币交易? 价格通道叉(Andrews Pitchfork)是一种强大的技术分析工具,由三条平行线组成,用于监控和预测资产价格走势。本文深入探讨其发展历史、工作原理、绘制方法和交易策略…

    2025年12月8日 好文分享
    000
  • 什么是 Sahara AI (SAHARA)?值得投资吗?2025年、2026年-2030年价格预测

    人工智能 (ai) 是塑造当今世界最强大的力量之一。它推动着科学的突破,实现了业务流程的自动化,并提升了日常体验。然而,这些进步的大部分仍然被中心化的科技巨头所控制,这些巨头决定着谁可以访问创新所需的数据、模型和工具。这种权力的集中引发了人们对公平性、隐私和全球可及性的严重担忧。 Sahara AI…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信