當執行Amazon EC2實例在我的節目(t2.small,俄勒岡州,Ubuntu的16.04),我得到的錯誤Amazon EC2的電子圍欄退出:mprotect()對失敗:無法分配內存
ElectricFence Exiting: mprotect() failed: Cannot allocate memory
步驟啓動實例之後,我跟隨有:
安裝建立要領,PIP和cmake的
sudo apt-get update && sudo apt-get install build-essential python-pip cmake
安裝柯南包管理器
pip install conan
克隆庫
git clone https://github.com/oyarsa/faptp.git
光盤放入回購,創建build文件夾,安裝依賴和運行cmake
mkdir build && cd build conan install .. -s compiler=gcc -s compiler.libcxx=libstdc++11 --build=missing cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release cmake --build .
編譯後,我回到根目錄,並嘗試運行該程序
cd .. && ./build/bin/faptp
在這一過程中,該程序執行了一段時間,然後用此輸出退出:
SA-ILS
ElectricFence Exiting: mprotect() failed: Cannot allocate memory
SA-ILS從我的程序輸出。來自ElectricFence的錯誤是問題所在。我從來沒有聽說過,這是我第一次在EC2中運行這個程序,所以我認爲它與它有關。
源代碼在https://github.com/oyarsa/faptp,如果有幫助。
我試過了,問題依然存在。這個電子圍欄庫是OpenSSL的依賴(它是libcurl的依賴項,它是cpr的依賴項),雖然有一種方法可以禁用它,但我不知道如何在此依賴關係鏈中執行此操作。 我最初認爲這將是由於AWS內部的一些限制,但我只是在VM上測試了這一點,結果是一樣的。我將刪除CPR依賴項(應該很輕微),然後重試。 –
刪除心肺復甦術(因此電柵欄),它工作正常。我想明白爲什麼我會遇到這些問題,但是...... –