Derecho-Project / derecho

The main code repository for the Derecho project.
BSD 3-Clause "New" or "Revised" License
186 stars 47 forks source link

Crash with persistent version-based example during group construction #235

Open Steamgjk opened 2 years ago

Steamgjk commented 2 years ago

I am studying the version-based example. I refer to persistent_vector.cpp in the archive and modify simple_replicated_objects_json.cpp. I use ramfs based on the discussion at https://github.com/Derecho-Project/derecho/discussions/233, and mount -t ramfs -o size=1000m ramfs /mnt/ram

for each of the three VM.

But after I launch node-0 and node-1, it throws errors

图片

At the beginning, I thought it is because I did not copy the config and program to ramfs. However, even after I copied simple_replicated_objects_json and derecho.cfg to /mnt/ram there, it still throws the error.

I attach the cpp file and cfg files as below. Archive.zip

Besides, (1) If I want to use ramfs, how should I configure cfg files? (Question https://github.com/Derecho-Project/derecho/discussions/234) (2) If I want to use ramfs, do I have to copy the program and cfg to the ramfs folder and run there? Or can I just run in the previous location?

songweijia commented 2 years ago

There are several reasons for this issue: 1) Did you check the vm.overcommit_memory setting discussed here? 2) If 1) is true, I suspect the size of ramfs is too small. Could you try 4 - 8 GB instead?