Closed razvand closed 4 months ago
Using Redis 7.2 (PR #43) freezes when connecting with redis-cli. Use the following commands to replicate:
redis-cli
wget https://raw.githubusercontent.com/unikraft/catalog-for-maintainers/main/utils/start-buildkit.sh source start-buildkit.sh git clone https://github.com/unikraft-upb/catalog cd catalog git checkout -b razvand/library/redis origin/razvand/library/redis cd library/redis/7.2 sed -i "s/# CONFIG_LIBSYSCALL_SHIM_STRACE: 'y'/CONFIG_LIBSYSCALL_SHIM_STRACE: 'y'/" Kraftfile kraft build --no-cache --no-update --plat qemu --arch x86_64 kraft rm --all ; kraft run --log-type basic --log-level debug -M 256M -p 6379:6379 2>&1 | grep -v '\(gettimeofday\|clock_gettime\|/proc/self/stat\|epoll_wait\)'
Use redis-cli to connect to the server:
redis-cli -h localhost
The output shown will have something like this (there are two consecutive - not working redis-cli connection commands run to generate the two chunks of output):
[...] accept4(0x6, 0x40047fbc0, ...) = 0x7 setsockopt(0x7, 0x6, ...) = 0x0 setsockopt(0x7, 0x1, ...) = 0x0 setsockopt(0x7, 0x6, ...) = 0x0 setsockopt(0x7, 0x6, ...) = 0x0 setsockopt(0x7, 0x6, ...) = 0x0 epoll_ctl(0x5, 0x1, ...) = 0x0 accept4(0x6, 0x40047fbc0, ...) = Resource temporarily unavailable (-11) mmap(va:0x1000d34000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d34000 read(fd:7, <out>"*2\x0D\x0A$7\x0D\x0ACOMMAND\x0D\x0A$4\x0D\x0ADOC"..., 16384) = 27 mmap(va:0x1000d39000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d39000 mmap(va:0x1000d3e000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d3e000 mmap(va:0x1000d43000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d43000 mmap(va:0x1000d48000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d48000 mmap(va:0x1000d4d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d4d000 mmap(va:0x1000d52000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d52000 mmap(va:0x1000d57000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d57000 mmap(va:0x1000d5c000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d5c000 mmap(va:0x1000d61000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d61000 mmap(va:0x1000d66000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d66000 time(0x0, 0x53434f44, ...) = 0x65b37800 getpeername(0x7, 0x40047f8b0, ...) = 0x0 mmap(va:0x1000d6b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, fd:-1, 0) = va:0x1000d6b000 madvise(0x1000d6b000, 0x6000, ...) = 0x0 writev(0x7, 0x40047bb30, ...) = 0x12fd0 epoll_ctl(0x5, 0x3, ...) = 0x0 read(fd:7, <out>"", 16384) = 0 epoll_ctl(0x5, 0x2, ...) = 0x0 close(fd:7) = OK [...] accept4(0x6, 0x40047fbc0, ...) = 0x7 setsockopt(0x7, 0x6, ...) = 0x0 setsockopt(0x7, 0x1, ...) = 0x0 setsockopt(0x7, 0x6, ...) = 0x0 setsockopt(0x7, 0x6, ...) = 0x0 setsockopt(0x7, 0x6, ...) = 0x0 epoll_ctl(0x5, 0x1, ...) = 0x0 accept4(0x6, 0x40047fbc0, ...) = Resource temporarily unavailable (-11) read(fd:7, <out>"*2\x0D\x0A$7\x0D\x0ACOMMAND\x0D\x0A$4\x0D\x0ADOC"..., 16384) = 27 writev(0x7, 0x40047bb30, ...) = 0x12fd0 epoll_ctl(0x5, 0x3, ...) = 0x0 [...]
Using Redis 7.2 (PR #43) freezes when connecting with
redis-cli
. Use the following commands to replicate:Use
redis-cli
to connect to the server:The output shown will have something like this (there are two consecutive - not working
redis-cli
connection commands run to generate the two chunks of output):