erpc-io / eRPC

Efficient RPCs for datacenter networks
https://erpc.io/
Other
835 stars 137 forks source link

How to run multiple eRPC processes? #105

Closed jiangxiaosheng closed 8 months ago

jiangxiaosheng commented 8 months ago

I saw there is a dpdk_daemon program running as a primary DPDK process that allocates resources for other eRPC processes. However, when I start that daemon and launch an eRPC server and client on the same machine, the client crashes due to rte_pktmbuf_alloc returns a null: https://github.com/erpc-io/eRPC/blob/master/src/transport_impl/dpdk/dpdk_transport_datapath.cc#L41

I also saw there is a multi_process_test but it actually uses threads to simulate processes and cannot reproduce the bug. @anujkaliaiitd Do you know why this error occurs and how to solve it? Thanks.

jiangxiaosheng commented 8 months ago

Just found we can't run the hello_world program that we compile manually under hello_world/. Running the daemon first and then hello_server and hello_client under build/ works fine. It seems like there are linkage issues in the hello_world/Makefile. (though compilation passes and the program can indeed run)

If you want I can help to fix it. @anujkaliaiitd

ankalia commented 8 months ago

Thanks for offering to help. Yes, a patch to fix this would be great.