免费注册 查看新帖 |

Chinaunix

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

请高手解答! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-14 20:27 |只看该作者 |倒序浏览
Space offset X'00002000' or X'0000000000000000' is outside current limit
  for object QPADEV002LUSER007    655252.                                
出现这个错误是什么原因,能给详细解答一下吗?

论坛徽章:
0
2 [报告]
发表于 2008-05-14 20:49 |只看该作者
是不是我的机器内存不够呢?

论坛徽章:
0
3 [报告]
发表于 2008-05-15 09:50 |只看该作者
各位大侠,改出手时快出手啊!

论坛徽章:
0
4 [报告]
发表于 2008-05-15 10:20 |只看该作者

回复 #1 gooduser 的帖子

可以用google搜一下
http://wiki.rjssoftware.com/wiki ... or_-_Space_offset_X
这个可能有用

This error was caused because the Report Splitter SQL queries were running in the default RPG activation group.

If customer has older than AS/400 Report Splitter V4.14, have them upgrade to Version 4.14 or above.

论坛徽章:
0
5 [报告]
发表于 2008-05-16 11:19 |只看该作者
那是不是就是无解了啊?需要升级啊

论坛徽章:
0
6 [报告]
发表于 2008-05-18 16:31 |只看该作者
please provide full joblog

论坛徽章:
0
7 [报告]
发表于 2008-05-19 11:44 |只看该作者
Message ID . . . . . . :   MCH0601       Severity . . . . . . . :   40         
Message type . . . . . :   Escape                                             
Date sent  . . . . . . :   05/14/08      Time sent  . . . . . . :   20:13:03   
                                                                              
Message . . . . :   Space offset X'00002000' or X'0000000000000000' is outside
  current limit for object QPADEV002LUSER007    655252.                        
Cause . . . . . :   A program tried to set a space pointer or use storage      
  outside a space, or tried to use an unallocated page in teraspace. The space
  class is X'04'. The space class designates the type of space:               
    00-primary associated space (includes space objects).                     
    01-secondary associated space 0.                                          
    02-implicit process space for automatic storage.                           
    03-implicit process space for static storage in activation group mark      
  X'00000000'.                                                                 
    04-implicit process space for heap identifier X'00000000' in activation   
  group mark X'00000000'.                                                      
                                                                       More...
                                                                          
  05-constant space.                                                      
  06-space for handle-based heap identifier X'00000000'.                  
  07-teraspace offset X'0000000000000000'.                                
  08-teraspace for OS/400 PASE memory address X'0000000000000000'.        
  Offset X'00002000' only applies to storage outside teraspace.           
X'8000000000000000D5E5E3E348001000' is a pointer to the teraspace page or
the start of the implicit process space for the allocation.

论坛徽章:
0
8 [报告]
发表于 2008-05-19 11:45 |只看该作者
程序执行时,有时候能正常完成功能,有时候就报这个错误。

论坛徽章:
0
9 [报告]
发表于 2008-05-20 06:35 |只看该作者

回复 #1 gooduser 的帖子

MCH0601在使用API或MI指令编程时是挺常见的,原因不一(如下面举例的一种);建议您还是先确定问题发生的具体位置,哪个程序,哪个函数,对谁的调用,再图求解。

* 常见原因之一:
因为许多API和MI指令接受的结构参数中,存在变长元素;而描述变长元素所在位置的一个习惯方式就是通过Offset,如 作为API QMHLJOBL输入的JSLT0100 format structure:
typedef _Packed struct Qmh_Ljobl_Input

    {

       char Userspace_Name[10];

       char Userspace_Library[10];

       char Format_Name[8];

       char Message_Selection[8];

       int  Size_Message_Selection;

       int  Max_Messages_Requested;

       char List_Direction[10];

       char Job_Name[10];

       char User_Profile[10];

       char Job_Number[6];

       char Internal_Job_Id[16];

       char Start_Message_Key[4];

       int  Max_Message_Length;

       int  Max_Message_Help_Length;

       int  Offset_Field_Id_Return;  // 注意这里

       int  Number_Field_Return;

       int  Offset_Message_Queue;  // 注意这里

       int  Length_Message_Queue;

       int  Coded_Character_Set_ID;

     /*char Reserved[];*/             /* varying length            */

     /*int  Id_Field_Return[];*/      /* varying length            */

     /*char Call_message_Queue[];*/   /*varying length             */

    } Qmh_Ljobl_Input_t;


又如CVTTS(convert timestamp)指令中描述DDAT列表中每个DDAT位置时;

当对这样的API或MI指令的输入中,输入的结构参数内存布局与被调用API或MI指令预期的不符时(比如int Offset_Field_Id_Return前的int  Max_Message_Length被声明为2字节整型),offset参数内容就可能指向无效的地址,于是就可能引发MCH0601。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP