F-Stack / f-stack

F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
http://www.f-stack.org
Other
3.76k stars 879 forks source link

Launch redis-server failed #752

Closed Lorthevan closed 10 months ago

Lorthevan commented 1 year ago

Hello, I have tried to get started with redis using f-stack. I built and run nginx successfully , but could not manage to run redis-server.

Here are the outputs : ./redis-server --conf config.ini --proc-type=primary --proc-id=0

EAL: Detected 64 lcore(s) EAL: Detected 2 NUMA nodes EAL: Detected static linkage of DPDK EAL: Cannot create lock on '/var/run/dpdk/rte/config'. Is another primary process running? EAL: FATAL: Cannot init config EAL: Cannot init config EAL: Error - exiting with code: 1 Cause: Error with EAL initialization f-stack -c1 -n4 --proc-type=primary [root@Intel06 src]# ./redis-server --conf config.ini --proc-type=primary --proc-id=0

EAL: Detected 64 lcore(s) EAL: Detected 2 NUMA nodes EAL: Detected static linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: No available hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: Probe PCI driver: net_i40e (8086:1572) device: 0000:17:00.0 (socket 0) EAL: No legacy callbacks, legacy socket not created f-stack -c1 -n4 --proc-type=primary lcore: 0, port: 0, queue: 0 create mbuf pool on socket 0 create ring:dispatch_ring_p0_q0 success, 2047 ring entries are now free! Port 0 MAC: 6c fe 54 29 94 a0 Port 0 modified RSS hash function based on hardware support,requested:0x3ffffc configured:0x7ef8 RX checksum offload supported TX ip checksum offload supported TX TCP&UDP checksum offload supported TSO is disabled port[0]: rss table size: 512 set port 0 to promiscuous mode ok

Checking link statusdone Port 0 Link Up - speed 10000 Mbps - full-duplex link_elf_lookup_symbol: missing symbol hash table link_elf_lookup_symbol: missing symbol hash table Timecounters tick every 10.000 msec WARNING: Adding ifaddrs to all fibs has been turned off by default. Consider tuning net.add_addr_allfibs if needed Attempting to load tcp_bbr tcp_bbr is now available TCP Hpts created 1 swi interrupt threads and bound 0 to cpus Timecounter "ff_clock" frequency 100 Hz quality 1 TCP_ratelimit: Is now initialized eth0: No addr6 config found. eth0: Ethernet address: 6c:fe:54:29:94:a0 5804:C 25 Mar 2023 16:40:14.132 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 5804:C 25 Mar 2023 16:40:14.132 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=5804, just started 5804:C 25 Mar 2023 16:40:14.132 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf 5804:M 25 Mar 2023 16:40:14.132 Increased maximum number of open files to 10032 (it was originally set to 4096). 5804:M 25 Mar 2023 16:40:14.132 monotonic clock: POSIX clock_gettime

=== REDIS BUG REPORT START: Cut & paste starting from here === 5804:M 25 Mar 2023 16:40:14.132 # ------------------------------------------------ 5804:M 25 Mar 2023 16:40:14.132 # !!! Software Failure. Press left mouse button to continue 5804:M 25 Mar 2023 16:40:14.132 # Guru Meditation: Unrecoverable error creating TCP socket accept handler. #server.c:3315

------ STACK TRACE ------

Backtrace: ./redis-server(initServer+0x908)[0x917b38] ./redis-server(main+0x2b0)[0x6c0030] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7ffff6668555] ./redis-server[0x9060a2]

------ INFO OUTPUT ------ 5804:M 25 Mar 2023 16:40:14.133 # Redis 6.2.6 crashed by signal: 11, si_code: 1 5804:M 25 Mar 2023 16:40:14.133 # Accessing address: 0x48 5804:M 25 Mar 2023 16:40:14.133 # Crashed running the instruction at: 0x92ea44

------ STACK TRACE ------ EIP: ./redis-server(getMemoryOverheadData+0x194)[0x92ea44]

Backtrace: /lib64/libpthread.so.0(+0xf630)[0x7ffff6a23630] ./redis-server(getMemoryOverheadData+0x194)[0x92ea44] ./redis-server(genRedisInfoString+0x4c7)[0x914c07] ./redis-server(logServerInfo+0x21)[0x962921] ./redis-server(_serverPanic+0x111)[0x9632e1] ./redis-server(initServer+0x908)[0x917b38] ./redis-server(main+0x2b0)[0x6c0030] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7ffff6668555] ./redis-server[0x9060a2]

------ REGISTERS ------ 5804:M 25 Mar 2023 16:40:14.135 # RAX:0000000000000000 RBX:0000000000000000 RCX:0000000000000000 RDX:0000000000000000 RDI:0000000000000000 RSI:0000000000000000 RBP:00007fffffffda80 RSP:00007fffffffda50 R8 :00007ffff0000000 R9 :00007ffff679bf10 R10:0000000000000027 R11:00007ffff7fd8938 R12:00007ffff60400c0 R13:000000000013c788 R14:0000000000000001 R15:0000000000000000 RIP:000000000092ea44 EFL:0000000000010246 CSGSFS:002b000000000033 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda5f) -> 00007ffff673b5e5 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda5e) -> ec8316b2852700bd 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda5d) -> 0000000000000000 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda5c) -> 00007fffffffdb50 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda5b) -> 0000000000488668 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda5a) -> 0000000000000000 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda59) -> 00007ffff678371e 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda58) -> 0000000000000000 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda57) -> 0000000000914c07 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda56) -> 00007fffffffdfa0 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda55) -> 0000000000000000 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda54) -> 0000000000000001 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda53) -> 0000000000000000 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda52) -> 00007ffff619b005 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda51) -> 0000000000000002 5804:M 25 Mar 2023 16:40:14.135 # (00007fffffffda50) -> 00007fffffffda80

------ INFO OUTPUT ------ Segmentation fault (core dumped)

jfb8856606 commented 10 months ago

If you use the code of branch master, you may meet this error, you can

  1. Modify bind 127.0.0.1 -::1 redis.conf, not to listen ipv6.
  2. Or use this patch e14457fdc5c245c185bab40465f53507e9f86b5a
  3. Or use branch dev code.