IBM Platform LSF退出代码= 139

时间:2016-06-21 10:50:36

标签: sas batch-processing lsf

我在执行SAS批处理命令时遇到错误。 批处理命令由IBM Platform LSF执行。 bhist命令显示以下内容:

enter image description here

作业以退出代码139退出。根据LSF管理指南,LSF返回以系统信号终止的作业,退出代码大于128.因此信号代码= 139-128 - > 11 - SIGSEGV。

这段代码是什么意思?如何确定问题的根本原因?这份工作最后一天没有错误。

1 个答案:

答案 0 :(得分:2)

伊戈尔,

问题是由您的操作系统或硬件引起的。我会说如果再次运行这个工作,很可能会运行正常。

SIGSEGV是一种内存分段错误,可能由许多不同的方式引起,而不是SAS作业所必需的,但通常是一次性错误。

以下是分段错误的一些典型原因:

  • 取消引用空指针 - 这是内存管理硬件特有的
  • 尝试访问不存在的内存地址(进程外部地址空间)
  • 尝试访问内存,程序无权(例如进程上下文中的内核结构)
  • 尝试写入只读内存(例如代码段)

这些通常是由导致无效内存访问的编程错误引起的:

  • 取消引用或分配未初始化的指针(指向随机存储器地址的野指针)
  • 取消引用或分配释放的指针(悬空指针,指向已释放/取消分配/删除的内存)
  • 缓冲区溢出
  • 堆栈溢出
  • 尝试执行无法正确编译的程序。 (来源:https://en.wikipedia.org/wiki/Segmentation_fault

如果您想跟踪错误,我需要了解您的平台。例如,在Windows管理工具中可以捕获此错误,您可以在其中找到更多信息。其他平台会以不同方式捕获此类错误。

我希望它有所帮助。

此致 瓦西里