RPC錯(cuò)誤碼

2024-01-23 18:45 更新
說(shuō)明

以下僅介紹本模塊特有錯(cuò)誤碼,通用錯(cuò)誤碼請(qǐng)參考通用錯(cuò)誤碼說(shuō)明文檔。

從API version 9起,IPC支持異常返回功能。錯(cuò)誤碼對(duì)應(yīng)數(shù)值及含義如下。

1900001 系統(tǒng)調(diào)用mmap失敗

錯(cuò)誤信息

Call mmap function failed.

錯(cuò)誤描述

執(zhí)行系統(tǒng)調(diào)用mmap失敗。

可能原因

  1. 映射區(qū)域過(guò)大。
  2. 系統(tǒng)內(nèi)存壓力大,沒(méi)有足夠內(nèi)存可以用來(lái)進(jìn)行映射。

處理步驟

  1. 請(qǐng)檢查調(diào)用Ashmem::create()時(shí)是否指定了超大內(nèi)存;
  2. 請(qǐng)檢查執(zhí)行映射時(shí)系統(tǒng)是否有足夠的內(nèi)存可用。

1900002 系統(tǒng)調(diào)用ioctl失敗

錯(cuò)誤信息

Call os ioctl function failed.

錯(cuò)誤描述

在共享內(nèi)存文件描述符上執(zhí)行系統(tǒng)調(diào)用ioctl失敗。

可能原因

  1. 設(shè)置的參數(shù)為內(nèi)核非法參數(shù);
  2. 設(shè)置的類(lèi)型超過(guò)了共享內(nèi)存映射時(shí)指定的類(lèi)型。

處理步驟

  1. 請(qǐng)檢查調(diào)用指定的參數(shù)是否來(lái)自Ashmem類(lèi)的PROT_EXEC、PROT_READ和PROT_WRITE;
  2. 請(qǐng)檢查指定的參數(shù)是否為映射共享內(nèi)存時(shí)所指類(lèi)型的子集。

1900003 共享內(nèi)存寫(xiě)數(shù)據(jù)失敗

錯(cuò)誤信息

Write to ashmem failed.

錯(cuò)誤描述

向共享內(nèi)存寫(xiě)數(shù)據(jù)失敗。

可能原因

  1. 單次寫(xiě)或者連續(xù)寫(xiě)的總內(nèi)容超過(guò)了映射的共享內(nèi)存大??;
  2. 沒(méi)有對(duì)共享內(nèi)存設(shè)置PROT_WRITE模式。

處理步驟

  1. 請(qǐng)檢查當(dāng)前向共享內(nèi)存所寫(xiě)內(nèi)容是否已經(jīng)超過(guò)了映射的總大??;
  2. 請(qǐng)檢查是否設(shè)置了PROT_WRITE保護(hù)權(quán)限。

1900004 共享內(nèi)存讀數(shù)據(jù)失敗

錯(cuò)誤信息

Read from ashmem failed.

錯(cuò)誤描述

從共享內(nèi)存讀數(shù)據(jù)失敗。

可能原因

  1. 單次寫(xiě)或者連續(xù)寫(xiě)的總內(nèi)容超過(guò)了映射的共享內(nèi)存大??;
  2. 沒(méi)有對(duì)共享內(nèi)存設(shè)置PROT_READ模式。

處理步驟

  1. 請(qǐng)檢查當(dāng)前向共享內(nèi)存所寫(xiě)內(nèi)容是否已經(jīng)超過(guò)了映射的總大??;
  2. 請(qǐng)檢查是否設(shè)置了PROT_READ保護(hù)權(quán)限。

1900005 ipc對(duì)象權(quán)限錯(cuò)誤

錯(cuò)誤信息

Only proxy object permitted.

錯(cuò)誤描述

只有proxy對(duì)象允許該操作。

可能原因

在RemoteObject對(duì)象上調(diào)用了只有RemoteProxy對(duì)象支持的方法。

處理步驟

請(qǐng)檢查是否在RemoteObject對(duì)象上調(diào)用了只有RemoteProxy對(duì)象支持的方法。

1900006 ipc對(duì)象權(quán)限錯(cuò)誤

錯(cuò)誤信息

Only remote object permitted.

錯(cuò)誤描述

只有remote對(duì)象允許該操作。

可能原因

在RemoteProxy對(duì)象上調(diào)用了只有RemoteObject對(duì)象支持的方法。

處理步驟

請(qǐng)檢查是否在RemoteProxy對(duì)象上調(diào)用了只有RemoteObject對(duì)象支持的方法。

1900007 遠(yuǎn)端對(duì)象通信失敗

錯(cuò)誤信息

Communication failed.

錯(cuò)誤描述

和遠(yuǎn)端對(duì)象進(jìn)行進(jìn)程間通信失敗。

可能原因

  1. 遠(yuǎn)端對(duì)象已經(jīng)銷(xiāo)毀;
  2. 遠(yuǎn)端對(duì)象發(fā)生了銷(xiāo)毀然后重新創(chuàng)建,本端持有的代理對(duì)象已經(jīng)過(guò)期。

處理步驟

  1. 請(qǐng)檢查遠(yuǎn)端對(duì)象是否已經(jīng)銷(xiāo)毀;
  2. 請(qǐng)檢查是否注冊(cè)了死亡監(jiān)聽(tīng),并且遠(yuǎn)端對(duì)象發(fā)生析構(gòu)又重新創(chuàng)建。

1900008 非法的ipc對(duì)象

錯(cuò)誤信息

Proxy or remote object is invalid.

錯(cuò)誤描述

非法的代理對(duì)象或者遠(yuǎn)端對(duì)象。

可能原因

  1. 代理對(duì)象已經(jīng)失效;
  2. 遠(yuǎn)端對(duì)象已經(jīng)銷(xiāo)毀。

處理步驟

  1. 請(qǐng)檢查proxy對(duì)象獲取過(guò)程是否有異常;
  2. 請(qǐng)檢查遠(yuǎn)端對(duì)象是否已經(jīng)析構(gòu)。

1900009 向MessageSequence寫(xiě)入數(shù)據(jù)失敗

錯(cuò)誤信息

Write data to message sequence failed.

錯(cuò)誤描述

向MessageSequence寫(xiě)數(shù)據(jù)失敗。

可能原因

sequence默認(rèn)空間已滿(mǎn)。

處理步驟

請(qǐng)使用MessageSequence提供的獲取緩沖區(qū)空間相關(guān)方法確認(rèn)是否還有剩余空間。

1900010 讀取MessageSequence數(shù)據(jù)失敗

錯(cuò)誤信息

Read data from message sequence failed.

錯(cuò)誤描述

讀取MessageSequence數(shù)據(jù)失敗。

可能原因

讀取和寫(xiě)入順序不一致。

處理步驟

請(qǐng)檢查讀取的順序和寫(xiě)入的順序保持嚴(yán)格一致。

1900011 內(nèi)存分配失敗

錯(cuò)誤信息

Sequence memory alloc failed.

錯(cuò)誤描述

序列化過(guò)程中內(nèi)存分配失敗。

可能原因

寫(xiě)入的數(shù)據(jù)過(guò)大。

處理步驟

請(qǐng)檢查寫(xiě)入的數(shù)據(jù)或者設(shè)置的參數(shù)是否過(guò)大。

1900012 JS方法失敗

錯(cuò)誤信息

Call JS callback function failed.

錯(cuò)誤描述

執(zhí)行JS回調(diào)方法失敗。

可能原因

業(yè)務(wù)的JS方法返回失敗。

處理步驟

請(qǐng)檢查業(yè)務(wù)JS方法是否執(zhí)行成功。

1900013 系統(tǒng)調(diào)用dup失敗

錯(cuò)誤信息

Call os dup function failed.

錯(cuò)誤描述

執(zhí)行系統(tǒng)調(diào)用dup失敗。

可能原因

  1. 進(jìn)程的文件句柄資源已經(jīng)耗盡;
  2. 入?yún)d已經(jīng)被關(guān)閉。

處理步驟

  1. 請(qǐng)檢查入?yún)d是否依然有效;
  2. 請(qǐng)排查進(jìn)程是否已經(jīng)耗盡了fd資源。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)