本文列舉Enclave CLI可能返回的所有錯誤碼並對其進行說明。
錯誤碼 | 含義 | 錯誤原因和處理方法 |
E01 | 缺少必選參數 | 當前命令列存在未指定的必選參數,請確保所有必選參數皆已指定。 |
E02 | 參數衝突 | 當前命令列包含至少兩個互斥的參數,請確保在互斥的多個參數中只指定其中一個。例如在 |
E03 | 參數類型錯誤 | 當前命令列存在類型不正確的參數,請確保所有參數值的類型都是正確的,例如在 |
E04 | 通訊端對建立失敗 | Enclave CLI會建立用於和Enclave通訊的通訊端對,此錯誤碼錶示該通訊端對建立失敗。可能原因為Enclave CLI所需記憶體不足或可用檔案描述符耗盡,可嘗試重新運行命令或重啟執行個體後重新運行命令。 |
E05 | 進程建立失敗 | 在運行 |
E06 | 守護進程建立失敗 | Enclave CLI在建立Enclave管理進程後會將其轉化為守護進程以持久化運行,此錯誤碼錶示該守護進程建立失敗。可能原因為Enclave管理進程所需記憶體不足、系統已有線程數已達上限或Enclave CLI主進程被禁止建立守護進程,可嘗試釋放部分系統資源後重新運行命令或重啟執行個體後重新運行命令。 |
E07 | 目錄讀取失敗 | 在運行 |
E08 | Enclave通訊串連失敗 | Enclave CLI無法串連Enclave,請確保Enclave已啟動且處於正常運行( |
E09 | 通訊端關閉失敗 | Enclave CLI無法關閉通訊串連,可能原因為通訊端關閉操作被其他訊號中斷,請嘗試重新運行命令。 |
E10 | 通訊串連設定逾時失敗 | Enclave CLI為特定通訊端設定逾時時間失敗,請確保該設定逾時操作在有效通訊端上進行。 |
E11 | 通訊端錯誤 | 出現未知通訊端錯誤。 |
E12 | EPOLL錯誤 | Enclave CLI無法將Enclave描述符註冊到基於epoll的事件監控中。可能原因為epoll操作所需記憶體不足或epoll可監控描述符數已達上限,可嘗試釋放部分系統資源後重新運行命令或重啟執行個體後重新運行命令。 |
E13 | INOTIFY錯誤 | Enclave CLI會使用inotify來監控Enclave通訊通訊端的變動,此錯誤碼錶示inotify相關操作執行失敗。可能原因為inotify操作所需記憶體不足或inotify可監控檔案數已達上限,可嘗試釋放部分系統資源後重新運行命令或重啟執行個體後重新運行命令。 |
E14 | 命令無效 | 當前命令列存在無效的子命令或參數,請確保提供的子命令和參數名是有效。 |
E15 | 鎖擷取失敗 | Enclave CLI的鎖擷取操作執行失敗,說明有一個先前持有該鎖的線程出現異常,可嘗試重新運行命令或重啟執行個體後重新運行命令。 |
E16 | 線程同步失敗 | Enclave CLI在一個線程執行完畢後對其進行join操作失敗,可嘗試重新運行命令。 |
E17 | 序列化錯誤 | Enclave CLI對命令參數或響應資料等進行序列化或還原序列化操作時出現錯誤,請確保命令輸入中提供的JSON資料是有效。 |
E18 | 檔案許可權錯誤 | Enclave CLI無修改記錄檔(預設為 |
E19 | 檔案操作失敗 | Enclave CLI執行特定檔案操作失敗,請確保所操作的檔案存在且檔案使用權限設定正確。 |
E20 | CPU配置錯誤 | 在 |
E21 | Enclave可用vCPU池中無指定vCPU | 在 |
E22 | Enclave可用vCPU池中vCPU數量不足 | 在運行 |
E23 | 系統CPU ID錯誤 |
|
E24 | CPU錯誤 |
|
E25 | 大頁長度錯誤 | Enclave CLI在初始化Enclave記憶體時指定了無效的大頁長度,請確保Enclave CLI代碼未被修改導致使用無效的大頁長度。 |
E26 | Enclave鏡像所需記憶體不足 | 在運行 |
E27 | Enclave可用記憶體不足 | 在運行 |
E28 | Enclave描述符錯誤 | Enclave CLI向驅動請求建立Enclave VM時驅動返回的Enclave描述符錯誤,請查看報錯回溯資訊以擷取更多細節。 |
E29 | ioctl錯誤 | 出現未知ioctl錯誤,請查看報錯回溯資訊以擷取更多細節。 |
E30 | 通過ioctl擷取鏡像載入資訊失敗 | Enclave CLI通過ioctl向驅動請求擷取鏡像載入資訊失敗,請查看報錯回溯資訊以擷取更多細節。 |
E31 | 通過ioctl設定Enclave記憶體失敗 | Enclave CLI通過ioctl向驅動請求設定Enclave記憶體失敗,請查看報錯回溯資訊以擷取更多細節。 |
E32 | 通過ioctl設定Enclave vCPU失敗 | Enclave CLI通過ioctl向驅動請求設定Enclave vCPU失敗,請查看報錯回溯資訊以擷取更多細節。 |
E33 | 通過ioctl啟動Enclave失敗 | Enclave CLI通過ioctl向驅動請求啟動Enclave失敗,請查看報錯回溯資訊以擷取更多細節。 |
E34 | 記憶體溢出 | Enclave CLI在將Enclave鏡像檔案載入到即將提供給Enclave的記憶體中時發生記憶體錯誤,如鏡像載入的起始地址加上鏡像檔案長度後的數值超過本系統平台的最大地址。 |
E35 | EIF檔案解析錯誤 | Enclave CLI從Enclave鏡像檔案中讀取某個節載入到記憶體中失敗,請確保提供有效Enclave鏡像檔案。 |
E36 | Enclave VM啟動失敗 | Enclave CLI未能收到Enclave VM成功啟動後發送的vsock心跳包,可能原因為Enclave VM在啟動前就出錯而停止運行,請確保提供有效Enclave鏡像檔案。 |
E37 | Enclave事件監控錯誤 | Enclave CLI在監控來自Enclave的事件時出現錯誤,請查看報錯回溯資訊以擷取更多細節。 |
E38 | Enclave管理進程執行命令失敗 | Enclave CLI向Enclave管理進程發送Enclave控制命令後其管理進程在執行該命令時出錯,請檢查Enclave是否運行正常。 |
E39 | Enclave CLI與Enclave管理進程建立串連失敗 | Enclave CLI無法與Enclave管理進程正常建立串連,可能原因是其他錯誤導致Enclave建立失敗以至於Enclave管理進程停止運行,請查看Enclave CLI是否報告其他錯誤碼,若無其他錯誤碼則請查看報錯回溯資訊以擷取更多細節。 |
E40 | 通訊端路徑不存在 | Enclave CLI在管理Enclave時會根據Enclave ID產生和Enclave管理進程通訊的通訊端路徑,該錯誤碼錶示此通訊端路徑不存在,可能原因是Enclave管理進程運行異常,請查看報錯回溯資訊以擷取更多細節。 |
E41 | Enclave管理進程發送命令回複失敗 | Enclave管理進程在收到並執行來自Enclave CLI的命令後會將命令回複資訊發回給Enclave CLI,該錯誤碼錶示其命令回複發回失敗,可能原因是Enclave CLI運行異常,可嘗試重新運行命令。 |
E42 | MMAP錯誤 | Enclave CLI在為Enclave分配記憶體時執行mmap操作失敗,可能原因為系統可用記憶體不足,可嘗試釋放部分系統資源後重新運行命令,或重啟執行個體後重新運行命令。 |
E43 | MUNMAP錯誤 | Enclave CLI在釋放Enclave資源時執行munmap操作失敗,請確保Enclave CLI代碼未被修改導致其執行munmap操作時傳遞的輸入參數無效。 |
E44 | Enclave調試輸出串連建立失敗 | Enclave CLI無法與指定Enclave的調試輸出串口建立通訊串連,請確保該Enclave在偵錯模式下運行。 |
E45 | Enclave調試輸出擷取失敗 | Enclave CLI無法擷取Enclave調試輸出,可嘗試重新運行命令。 |
E46 | Enclave調試輸出列印失敗 | Enclave CLI無法列印Enclave調試輸出,可嘗試重新運行命令。 |
E47 | 整數解析錯誤 | Enclave的vsock CID地址不是有效整數,請運行 |
E48 | Enclave鏡像檔案構建失敗 | Enclave CLI在構建Enclave鏡像檔案時出現錯誤,請查看報錯回溯資訊以擷取更多細節。 |
E49 | Docker鏡像構建失敗 | 在運行 |
E50 | Docker鏡像拉取失敗 | 在運行 |
E51 | 中間檔案目錄不存在 | Enclave CLI在構建Enclave鏡像檔案時需要確定一個用於存放中間檔案的目錄,該目錄路徑根據環境變數 |
E52 | 附件目錄不存在 | Enclave CLI在構建Enclave鏡像檔案時需要找到用於存放Enclave VM核心、啟動盤鏡像等檔案的附件目錄,該錯誤碼錶示Enclave CLI無法找到此附件目錄,可嘗試重新運行命令。 |
E53 | 計時錯誤 | 在運行 |
E54 | 訊號屏蔽錯誤 | 在建立Enclave管理進程後進行特定訊號屏蔽操作時出錯,可嘗試重新運行命令。 |
E55 | 訊號屏蔽解除錯誤 | 在建立Enclave管理進程後進行特定訊號屏蔽解除操作時出錯,可嘗試重新運行命令。 |
E56 | 日誌錯誤 | Enclave CLI在初始化日誌系統時出錯,請查看報錯回溯資訊以擷取更多細節。 |