You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Abend U4091 Reason 00000006含义解析及程序shutdown异常咨询

Abend U4091 Reason 00000006 解析与处理疑问

问题背景

  • 已查阅IBM文档,得知该错误表示应用程序的恢复请求未被Language Environment(LE)条件管理器接受,原因是LE不接受带有异常(如abend)的恢复请求,但不理解**恢复请求(resumption request)**的定义。
  • 程序在shutdown阶段触发该abend,其他环节均正常关闭,推测为LE组件报错,异常时活跃模块为CELQLIB。

作业输出

+CEE3797I LANGUAGE ENVIRONMENT HAS DYNAMICALLY CREATED A DUMP.       
IEA995I SYMPTOM DUMP OUTPUT  651                                     
  USER COMPLETION CODE=4091 REASON CODE=00000006                     
 TIME=04.06.18  SEQ=00110  CPU=0000  ASID=0022                       
 PSW AT TIME OF ERROR  078D1401   B45AECCA  ILC 2  INTC 0D            
   ACTIVE MODULE           ADDRESS=00000000_340F1000  OFFSET=004BDCCA
   NAME=CELQLIB                                                      
   DATA AT PSW  345AECC4 - 00181610  0A0DEBEC  4A4C0096               
   GR 0: 00000000_84000000   1: 00000000_84000FFB                    
      2: 00000000_00000006   3: 00000050_00103E28                    
      4: 00000050_423FD3A0   5: 00000000_345AECD8                    
      6: 00000050_423FDEA8   7: 00000050_423FE0D8                    
      8: 00000000_00000000   9: 00000000_00000001                    
      A: 00000050_423FE39F   B: 00000000_345AEDD4                    
      C: 00000050_425FEC60   D: 00000050_423FEC60                    
      E: 00000000_345AE9F2   F: 00000000_00000006                    
 END OF SYMPTOM DUMP                                                 
BPXP018I THREAD 3475800000000008, IN PROCESS 83886429, ENDED  652    
WITHOUT BEING UNDUBBED WITH COMPLETION CODE 84000FFB                  
, AND REASON CODE 00000006.

IPCS回溯信息(执行VERBX LEDATA 'CEEDUMP')

Traceback:                                                         
  DSA      Entry       E  Offset  Statement   Load Mod             Program Unit                   Service  Status
                                                                   
  1        CEEOSIGG    +00002D6A              CELQLIB              CEEOSIGG                       HLE77D0  Call
  2        CELQHROD    +00000266              CELQLIB              CELQHROD                       HLE77D0  Call
  3        MainProcess +00000000              CSQBLB16             
  4        CSQBMCSY    +00000C9C              CSQBLB16             
  5        CELQPCMM    +00000F68              CELQLIB              CELQPCMM                       HLE77D0  Call

核心疑问

回溯中未出现自定义代码,是否无需处理该异常?


解答

1. 恢复请求(Resumption Request)的定义

LE的条件管理器负责处理程序运行中的异常事件。恢复请求是指程序在触发异常(如abend、信号)后,尝试跳过异常点、恢复正常执行流程的请求。LE仅允许在特定场景下恢复执行——比如处理可恢复的错误(如数据校验错),但如果异常本身是不可恢复的abend,LE会拒绝这类恢复请求,因为此时程序状态已不可靠,强行恢复可能导致更严重的问题。

2. U4091-06的触发逻辑

结合你的场景和回溯信息:

  • 异常发生在CELQLIB模块中,该模块是LE的核心组件,负责信号处理和异常恢复。
  • 回溯链显示调用路径为CELQPCMM → CSQBMCSY → MainProcess → CELQHROD → CEEOSIGG,其中CEEOSIGG是LE的信号处理入口,说明shutdown阶段某个线程触发了信号,LE尝试处理时发现恢复请求不符合规则,因此抛出U4091-06。

3. 是否需要处理该异常?

从你的描述来看:

  • 程序所有业务环节已正常关闭,仅在shutdown收尾阶段触发该abend。
  • 回溯中无自定义代码,说明异常完全由LE内部逻辑触发,与业务代码无关。

这种情况下,通常无需额外处理:

  • 该abend是LE在清理资源时的“收尾异常”,不会影响业务数据完整性或系统稳定性。
  • 若要彻底消除该abend,可检查shutdown流程是否存在非规范的线程终止方式(比如强制kill线程),但考虑到业务已正常关闭,投入成本可能大于收益。

如果后续出现业务异常或资源泄漏,再结合dump深入排查即可。


内容的提问来源于stack exchange,提问作者Morag Hughson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:46:19