1# RPC错误码 2<!--Kit: IPC Kit--> 3<!--Subsystem: Communication--> 4<!--Owner: @xdx19211@luodonghui0157--> 5<!--Designer: @zhaopeng_gitee--> 6<!--Tester: @maxiaorong--> 7<!--Adviser: @zhang_yixin13--> 8 9> **说明:** 10> 11> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](../errorcode-universal.md)。 12 13从API version 9起,IPC支持异常返回功能。错误码对应数值及含义如下。 14 15## 1900001 系统调用mmap失败 16 17**错误信息** 18 19Failed to call mmap. 20 21**错误描述** 22 23执行系统调用mmap失败。 24 25**可能原因** 26 271. 映射区域过大。 282. 系统内存压力大,没有足够内存可以用来进行映射。 29 30**处理步骤** 31 321. 请检查调用Ashmem::create()时是否指定了超大内存。 332. 请检查执行映射时系统是否有足够的内存可用。 34 35## 1900002 系统调用ioctl失败 36 37**错误信息** 38 39Failed to call ioctl. 40 41**错误描述** 42 43在共享内存文件描述符上执行系统调用ioctl失败。 44 45**可能原因** 46 471. 设置的参数为内核非法参数。 482. 设置的类型超过了共享内存映射时指定的类型。 49 50**处理步骤** 51 521. 请检查调用指定的参数是否来自Ashmem类的PROT_EXEC、PROT_READ和PROT_WRITE。 532. 请检查指定的参数是否为映射共享内存时所指类型的子集。 54 55## 1900003 共享内存写数据失败 56 57**错误信息** 58 59Failed to write data to the shared memory. 60 61**错误描述** 62 63向共享内存写数据失败。 64 65**可能原因** 66 671. 单次写或者连续写的总内容超过了映射的共享内存大小。 682. 没有对共享内存设置PROT_WRITE模式。 69 70**处理步骤** 71 721. 请检查当前向共享内存所写内容是否已经超过了映射的总大小。 732. 请检查是否设置了PROT_WRITE保护权限。 74 75## 1900004 共享内存读数据失败 76 77**错误信息** 78 79Failed to read data from the shared memory. 80 81**错误描述** 82 83从共享内存读数据失败。 84 85**可能原因** 86 871. 单次写或者连续写的总内容超过了映射的共享内存大小。 882. 没有对共享内存设置PROT_READ模式。 89 90**处理步骤** 91 921. 请检查当前向共享内存所写内容是否已经超过了映射的总大小。 932. 请检查是否设置了PROT_READ保护权限。 94 95## 1900005 ipc对象权限错误 96 97**错误信息** 98 99Operation allowed only for the proxy object. 100 101**错误描述** 102 103只有proxy对象允许该操作。 104 105**可能原因** 106 107在RemoteObject对象上调用了只有RemoteProxy对象支持的方法。 108 109**处理步骤** 110 111请检查是否在RemoteObject对象上调用了只有RemoteProxy对象支持的方法。 112 113## 1900006 ipc对象权限错误 114 115**错误信息** 116 117Operation allowed only for the remote object. 118 119**错误描述** 120 121只有remote对象允许该操作。 122 123**可能原因** 124 125在RemoteProxy对象上调用了只有RemoteObject对象支持的方法。 126 127**处理步骤** 128 129请检查是否在RemoteProxy对象上调用了只有RemoteObject对象支持的方法。 130 131## 1900007 远端对象通信失败 132 133**错误信息** 134 135Communication failed. 136 137**错误描述** 138 139和远端对象进行进程间通信失败。 140 141**可能原因** 142 1431. 远端对象已经销毁。 1442. 远端对象发生了销毁然后重新创建,本端持有的代理对象已经过期。 145 146**处理步骤** 147 1481. 请检查远端对象是否已经销毁。 1492. 请检查是否注册了死亡监听,并且远端对象发生析构又重新创建。 150 151## 1900008 非法的ipc对象 152 153**错误信息** 154 155The proxy or remote object is invalid. 156 157**错误描述** 158 159非法的代理对象或者远端对象。 160 161**可能原因** 162 1631. 代理对象已经失效。 1642. 远端对象已经销毁。 165 166**处理步骤** 167 1681. 请检查proxy对象获取过程是否有异常。 1692. 请检查远端对象是否已经析构。 170 171## 1900009 向MessageSequence写入数据失败 172 173**错误信息** 174 175Failed to write data to the message sequence. 176 177**错误描述** 178 179向MessageSequence写数据失败。 180 181**可能原因** 182 183sequence默认空间已满。 184 185**处理步骤** 186 187请使用MessageSequence提供的获取缓冲区空间相关方法确认是否还有剩余空间。 188 189## 1900010 读取MessageSequence数据失败 190 191**错误信息** 192 193Failed to read data from the message sequence. 194 195**错误描述** 196 197读取MessageSequence数据失败。 198 199**可能原因** 200 201读取和写入顺序不一致。 202 203**处理步骤** 204 205请检查读取的顺序和写入的顺序保持严格一致。 206 207## 1900011 内存分配失败 208 209**错误信息** 210 211Memory allocation failed. 212 213**错误描述** 214 215序列化过程中内存分配失败。 216 217**可能原因** 218 219写入的数据过大,数据取决于当前堆上还有多少可以连续分配的内存。 220 221**处理步骤** 222 223请检查写入的数据或者设置的参数是否过大。 224 225## 1900012 JS方法失败 226 227**错误信息** 228 229Failed to call the JS callback function. 230 231**错误描述** 232 233执行JS回调方法失败。 234 235**可能原因** 236 237业务的JS方法返回失败。 238 239**处理步骤** 240 241请检查业务JS方法是否执行成功。 242 243## 1900013 系统调用dup失败 244 245**错误信息** 246 247Failed to call dup. 248 249**错误描述** 250 251执行系统调用dup失败。 252 253**可能原因** 254 2551. 进程的文件句柄资源已经耗尽。 2562. 入参fd已经被关闭。 257 258**处理步骤** 259 2601. 请检查入参fd是否依然有效。 2612. 请排查进程是否已经耗尽了fd资源。