RPC错误码
以下仅介绍本模块特有错误码,通用错误码请参考通用错误码说明文档。
从API version 9起,IPC支持异常返回功能。错误码对应数值及含义如下。
1900001 系统调用mmap失败
错误信息
Call mmap function failed.
错误描述
执行系统调用mmap失败。
可能原因
- 映射区域过大。
- 系统内存压力大,没有足够内存可以用来进行映射。
处理步骤
- 请检查调用Ashmem::create()时是否指定了超大内存;
- 请检查执行映射时系统是否有足够的内存可用。
1900002 系统调用ioctl失败
错误信息
Call os ioctl function failed.
错误描述
在共享内存文件描述符上执行系统调用ioctl失败。
可能原因
- 设置的参数为内核非法参数;
- 设置的类型超过了共享内存映射时指定的类型。
处理步骤
- 请检查调用指定的参数是否来自Ashmem类的PROT_EXEC、PROT_READ和PROT_WRITE;
- 请检查指定的参数是否为映射共享内存时所指类型的子集。
1900003 共享内存写数据失败
错误信息
Write to ashmem failed.
错误描述
向共享内存写数据失败。
可能原因
- 单次写或者连续写的总内容超过了映射的共享内存大小;
- 没有对共享内存设置PROT_WRITE模式。
处理步骤
- 请检查当前向共享内存所写内容是否已经超过了映射的总大小;
- 请检查是否设置了PROT_WRITE保护权限。
1900004 共享内存读数据失败
错误信息
Read from ashmem failed.
错误描述
从共享内存读数据失败。
可能原因
- 单次写或者连续写的总内容超过了映射的共享内存大小;
- 没有对共享内存设置PROT_READ模式。
处理步骤
- 请检查当前向共享内存所写内容是否已经超过了映射的总大小;
- 请检查是否设置了PROT_READ保护权限。
1900005 ipc对象权限错误
错误信息
Only proxy object permitted.
错误描述
只有proxy对象允许该操作。
可能原因
在RemoteObject对象上调用了只有RemoteProxy对象支持的方法。
处理步骤
请检查是否在RemoteObject对象上调用了只有RemoteProxy对象支持的方法。
1900006 ipc对象权限错误
错误信息
Only remote object permitted.
错误描述
只有remote对象允许该操作。
可能原因
在RemoteProxy对象上调用了只有RemoteObject对象支持的方法。
处理步骤
请检查是否在RemoteProxy对象上调用了只有RemoteObject对象支持的方法。
1900007 远端对象通信失败
错误信息
Communication failed.
错误描述
和远端对象进行进程间通信失败。
可能原因
- 远端对象已经销毁;
- 远端对象发生了销毁然后重新创建,本端持有的代理对象已经过期。
处理步骤
- 请检查远端对象是否已经销毁;
- 请检查是否注册了死亡监听,并且远端对象发生析构又重新创建。
1900008 非法的ipc对象
错误信息
Proxy or remote object is invalid.
错误描述
非法的代理对象或者远端对象。
可能原因
- 代理对象已经失效;
- 远端对象已经销毁。
处理步骤
- 请检查proxy对象获取过程是否有异常;
- 请检查远端对象是否已经析构。
1900009 向MessageSequence写入数据失败
错误信息
Write data to message sequence failed.
错误描述
向MessageSequence写数据失败。
可能原因
sequence默认空间已满。
处理步骤
请使用MessageSequence提供的获取缓冲区空间相关方法确认是否还有剩余空间。
1900010 读取MessageSequence数据失败
错误信息
Read data from message sequence failed.
错误描述
读取MessageSequence数据失败。
可能原因
读取和写入顺序不一致。
处理步骤
请检查读取的顺序和写入的顺序保持严格一致。
1900011 内存分配失败
错误信息
Sequence memory alloc failed.
错误描述
序列化过程中内存分配失败。
可能原因
写入的数据过大。
处理步骤
请检查写入的数据或者设置的参数是否过大。
更多建议: