NetSys / bess

BESS: Berkeley Extensible Software Switch
Other
313 stars 156 forks source link

*** Error: Cannot start BESS daemon #1030

Closed oranichu closed 3 years ago

oranichu commented 3 years ago

Hey all, I'm trying to familiarize myself with BESS and whilst following the installation guide I've run into some issues.

Firstly I'm running on a VM running Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-135-generic x86_64) as root while running this

git clone https://github.com/NetSys/bess.git
cd bess/env
vagrant up

The command vagrant up failed and by reading a bit on forums I got the impression it won't work because I'm running this on a VM, by running sudo kvm-ok i'm getting :

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

Yet I tried the other option in the guide and run the ./build.py file after installing all the dependencies and afterwards typing daemon start this is the error i'm getting :

Connection to localhost:10514 failed
Perhaps bessd daemon is not running locally? Try "daemon start".
<disconnected> $ daemon start
E0510 18:29:48.205183 2509361 bessd.cc:356] Failed to launch a daemon process
*** Error: Cannot start BESS daemon

By looking at the log files :

Log file created at: 2021/05/10 17:27:31
Running on machine: wg1-m
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
F0510 17:27:31.436440 2457393 dpdk.cc:170] rte_eal_init() failed: ret = -1 rte_errno = 12 (Cannot allocate memory)
F0510 17:27:32.208714 2457393 debug.cc:405] Backtrace (recent calls first) ---
(0): /home/orannaho/bess/core/bessd(+0x4c350b) [0x560939bd150b]
    bess::(anonymous namespace)::init_eal(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) at /home/orannaho/bess/core/dpdk.cc:170
         167:   LOG(INFO) << "Initializing DPDK EAL with options: " << rte_args.Dump();
         168:   int ret = rte_eal_init(rte_args.Argc(), rte_args.Argv());
         169:   if (ret < 0) {
      -> 170:     LOG(FATAL) << "rte_eal_init() failed: ret = " << ret
         171:                << " rte_errno = " << rte_errno << " ("
         172:                << rte_strerror(rte_errno) << ")";
         173:   }
(1): /home/orannaho/bess/core/bessd(_ZN4bess8InitDpdkEi+0x6b) [0x560939bd165b]
    bess::InitDpdk(int) at /home/orannaho/bess/core/dpdk.cc:238
      -> 238:     init_eal(dpdk_mb_per_socket, GetNonWorkerCoreList());
(2): /home/orannaho/bess/core/bessd(_ZN4bess10PacketPool18CreateDefaultPoolsEm+0x36) [0x560939bc1a46]
    bess::PacketPool::CreateDefaultPools(unsigned long) at /home/orannaho/bess/core/packet_pool.cc:39 (discriminator 4)
      -> 39:   InitDpdk(FLAGS_dpdk ? FLAGS_m : 0);
(3): /home/orannaho/bess/core/bessd(main+0x22e) [0x560939adc69e]
    main at /home/orannaho/bess/core/main.cc:86
      -> 86:   bess::PacketPool::CreateDefaultPools(FLAGS_buffers);
(4): /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe6) [0x7fc204b4fbf6]
    __libc_start_main at ??:?
(5): /home/orannaho/bess/core/bessd(_start+0x29) [0x560939bbf199]
    _start at ??:?

seems like the error is (Cannot allocate memory), maybe i'm uncapable of running BESS on my VM ? or I havn't configuerd something properly ? any suggestion might help.

Thanks for the help :)

krsna1729 commented 3 years ago

Did you allocate hugepages on your system? If you instead want to use regular memory append -m 0 to bessd commandline.

oranichu commented 3 years ago

Seems like it's working, Thanks !!