免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2584 | 回复: 3
打印 上一主题 下一主题

CLM1001 - Job encountered an error in program [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-01 11:19 |只看该作者 |倒序浏览
请大伙帮忙看一下, 经常报下面这个错误消息,导致用户的一些应用受到影响;

1. 4个JOB AJOBA 会在同一个子系统(SUBA) 下面运行;
2. JOA AJOBA 会调用RPG 程序 RPGA;
3. JOBA 会用到 FILEAAAA FILEBBBB。

从message来看是因为两个job同时访问一个record导致,
Q1: 两个job同时可以访问一个record原因是什么(程序里面已经有互斥机制);
Q2: 怎样避免这种错误的发生。

THANKS.

                         Additional Message Information                        
                                                                                
Message ID . . . . . . :   CLM1001                                             
Date sent  . . . . . . :   11/30/09      Time sent  . . . . . . :   22:03:29   
                                                                                
Message . . . . :   Job AJOBA/USERA/315587 encountered an error in program
   RPGA (E W D).                                                              
                                                                                
File: FILEAAAA.  Exception data: Record 4 in use by job                        
   315143/USERA/AJOBA..  Status: 00000.  Statement: 00000000. RPG routine:  
   *DETC. File status: 01218CHAINFS092    1993.  Run date/time: 080809 152359.  
   Compiled: 042106 at 202238 from C03920ASRC/QRPTSRC(RPGA).                  
Recovery: Type a "W" to retry the operation.  Type an "E" to return an error   
   status to program RPGA.  Type a "D" to dump program RPGA and return to   
   it an error status.                                                         
                                                                                
                                                                                
                                                                         Bottom

                         Additional Message Information                        
                                                                                
Message ID . . . . . . :   CLM1001                                             
Date sent  . . . . . . :   11/30/09      Time sent  . . . . . . :   18:27:29   
                                                                                
Message . . . . :   Job AJOBA/USERA/315143 encountered an error in program
   RPGA (E W D).                                                              
                                                                                
File: FILEBBBB.  Exception data: Record 1305 in use by job                     
   315588/USERA/AJOBA..  Status: 00000.  Statement: 00000000. RPG routine:  
   *DETC. File status: 01218CHAINFS025    1295.  Run date/time: 080809 134558.  
   Compiled: 042106 at 202238 from C03920ASRC/QRPTSRC(RPGA).                  
Recovery: Type a "W" to retry the operation.  Type an "E" to return an error   
   status to program RPGA.  Type a "D" to dump program RPGA and return to   
   it an error status.

论坛徽章:
0
2 [报告]
发表于 2009-12-01 11:39 |只看该作者

回复 #1 dave_10 的帖子

这是个常见的问题。很多程序员写程序的时候只考虑自己的程序能执行就可以了,忘记了以加锁的方法读纪录,如果更新的条件不满足,是需要解锁的。

这样在多用户环境下这种事情就发生啦!

[ 本帖最后由 franliu 于 2009-12-1 11:40 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-12-01 17:42 |只看该作者
thanks, 可能需要看下源代码才能确认, 楼上有啥好办法可以Retrieve RPG source么?
手头只有编译的程序没有源代码。。。。

论坛徽章:
0
4 [报告]
发表于 2009-12-01 17:49 |只看该作者

回复 #3 dave_10 的帖子

是买来的软件包?没有源程序?没有技术支持?
这样就比较惨。

可以考虑把子系统的job queue 改成独木桥(每次只可以跑一个作业)试一试。因为这种程序员的思路就是当系统只有他一个人在用。

许多没有经过正规训练的小聪敏程序员写的程序老是有这种问题。有些做了20年的“老前辈”也是这样写的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP