1# RPC错误码 2 3> **说明:** 4> 5> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](errorcode-universal.md)。 6 7从API version 9起,IPC支持异常返回功能。错误码对应数值及含义如下。 8 9## 1900001 系统调用mmap失败 10 11**错误信息** 12 13Call mmap function failed. 14 15**错误描述** 16 17执行系统调用mmap失败。 18 19**可能原因** 20 211. 映射区域过大。 222. 系统内存压力大,没有足够内存可以用来进行映射。 23 24**处理步骤** 25 261. 请检查调用Ashmem::create()时是否指定了超大内存; 272. 请检查执行映射时系统是否有足够的内存可用。 28 29## 1900002 系统调用ioctl失败 30 31**错误信息** 32 33Call os ioctl function failed. 34 35**错误描述** 36 37在共享内存文件描述符上执行系统调用ioctl失败。 38 39**可能原因** 40 411. 设置的参数为内核非法参数; 422. 设置的类型超过了共享内存映射时指定的类型。 43 44**处理步骤** 45 461. 请检查调用指定的参数是否来自Ashmem类的PROT_EXEC、PROT_READ和PROT_WRITE; 472. 请检查指定的参数是否为映射共享内存时所指类型的子集。 48 49## 1900003 共享内存写数据失败 50 51**错误信息** 52 53Write to ashmem failed. 54 55**错误描述** 56 57向共享内存写数据失败。 58 59**可能原因** 60 611. 单次写或者连续写的总内容超过了映射的共享内存大小; 622. 没有对共享内存设置PROT_WRITE模式。 63 64**处理步骤** 65 661. 请检查当前向共享内存所写内容是否已经超过了映射的总大小; 672. 请检查是否设置了PROT_WRITE保护权限。 68 69## 1900004 共享内存读数据失败 70 71**错误信息** 72 73Read from ashmem failed. 74 75**错误描述** 76 77从共享内存读数据失败。 78 79**可能原因** 80 811. 单次写或者连续写的总内容超过了映射的共享内存大小; 822. 没有对共享内存设置PROT_READ模式。 83 84**处理步骤** 85 861. 请检查当前向共享内存所写内容是否已经超过了映射的总大小; 872. 请检查是否设置了PROT_READ保护权限。 88 89## 1900005 ipc对象权限错误 90 91**错误信息** 92 93Only proxy object permitted. 94 95**错误描述** 96 97只有proxy对象允许该操作。 98 99**可能原因** 100 101在RemoteObject对象上调用了只有RemoteProxy对象支持的方法。 102 103**处理步骤** 104 105请检查是否在RemoteObject对象上调用了只有RemoteProxy对象支持的方法。 106 107## 1900006 ipc对象权限错误 108 109**错误信息** 110 111Only remote object permitted. 112 113**错误描述** 114 115只有remote对象允许该操作。 116 117**可能原因** 118 119在RemoteProxy对象上调用了只有RemoteObject对象支持的方法。 120 121**处理步骤** 122 123请检查是否在RemoteProxy对象上调用了只有RemoteObject对象支持的方法。 124 125## 1900007 远端对象通信失败 126 127**错误信息** 128 129Communication failed. 130 131**错误描述** 132 133和远端对象进行进程间通信失败。 134 135**可能原因** 136 1371. 远端对象已经销毁; 1382. 远端对象发生了销毁然后重新创建,本端持有的代理对象已经过期。 139 140**处理步骤** 141 1421. 请检查远端对象是否已经销毁; 1432. 请检查是否注册了死亡监听,并且远端对象发生析构又重新创建。 144 145## 1900008 非法的ipc对象 146 147**错误信息** 148 149Proxy or remote object is invalid. 150 151**错误描述** 152 153非法的代理对象或者远端对象。 154 155**可能原因** 156 1571. 代理对象已经失效; 1582. 远端对象已经销毁。 159 160**处理步骤** 161 1621. 请检查proxy对象获取过程是否有异常; 1632. 请检查远端对象是否已经析构。 164 165## 1900009 向MessageSequence写入数据失败 166 167**错误信息** 168 169Write data to message sequence failed. 170 171**错误描述** 172 173向MessageSequence写数据失败。 174 175**可能原因** 176 177sequence默认空间已满。 178 179**处理步骤** 180 181请使用MessageSequence提供的获取缓冲区空间相关方法确认是否还有剩余空间。 182 183## 1900010 读取MessageSequence数据失败 184 185**错误信息** 186 187Read data from message sequence failed. 188 189**错误描述** 190 191读取MessageSequence数据失败。 192 193**可能原因** 194 195读取和写入顺序不一致。 196 197**处理步骤** 198 199请检查读取的顺序和写入的顺序保持严格一致。 200 201## 1900011 内存分配失败 202 203**错误信息** 204 205Sequence memory alloc failed. 206 207**错误描述** 208 209序列化过程中内存分配失败。 210 211**可能原因** 212 213写入的数据过大。 214 215**处理步骤** 216 217请检查写入的数据或者设置的参数是否过大。 218 219## 1900012 JS方法失败 220 221**错误信息** 222 223Call JS callback function failed. 224 225**错误描述** 226 227执行JS回调方法失败。 228 229**可能原因** 230 231业务的JS方法返回失败。 232 233**处理步骤** 234 235请检查业务JS方法是否执行成功。 236 237## 1900013 系统调用dup失败 238 239**错误信息** 240 241Call os dup function failed. 242 243**错误描述** 244 245执行系统调用dup失败。 246 247**可能原因** 248 2491. 进程的文件句柄资源已经耗尽; 2502. 入参fd已经被关闭。 251 252**处理步骤** 253 2541. 请检查入参fd是否依然有效; 2552. 请排查进程是否已经耗尽了fd资源。