unikraft / catalog

Unikraft Applications & Examples Catalog
23 stars 29 forks source link

`dragonfly:1.14`: Check failed when starting application #51

Closed razvand closed 4 months ago

razvand commented 5 months ago

Starting DragonflyDB 1.14 (PR #50) results in an application error. Use the following commands to replicate:

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/dragonfly origin/razvand/library/dragonfly
cd library/dragonfly/1.14
sed -i -e "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 2G -p 6379:6379

This results in an error:

write(fd:4, "F20240128 07:04:09.44150"..., 86) = 86
gettimeofday(0x40087e9b0, 0x0, ...) = 0x0
getpid() = pid:1
gettimeofday(0x40087e9b0, 0x0, ...) = 0x0
F20240128 07:04:09.441506     1 proc_util.cc:45] Check failed: res == 3 || res == 4 1
write(fd:2, "F20240128 07:04:09.44150"..., 86) = 86
getpid() = pid:1
write(fd:3, "I20240128 07:04:09.38595"..., 389) = 389
gettimeofday(0x40087e9b0, 0x0, ...) = 0x0
getpid() = pid:1
gettimeofday(0x40087e9b0, 0x0, ...) = 0x0
getpid() = pid:1
gettimeofday(0x40087e9b0, 0x0, ...) = 0x0
getpid() = pid:1
gettimeofday(0x40087e9b0, 0x0, ...) = 0x0
*** Check failure stack trace: ***
write(fd:2, "*** Check failure stack "..., 35) = 35

Without system calls, the error is:

F20240128 07:32:30.079780     1 proc_util.cc:45] Check failed: res == 3 || res == 4 1
*** Check failure stack trace: ***
    @       0x10024e09f3  (unknown)
    @       0x10024d91b7  (unknown)
    @       0x10024dab3f  (unknown)
    @       0x1001b4b837  (unknown)
    @       0x1001af7551  (unknown)
    @       0x10001fb083  (unknown)
    @       0x1001b1b46e  (unknown)
    @              (nil)  (unknown)
razvand commented 4 months ago

This is solved, but has been superseded by another issue #70