From: Waldemar Kozaczuk <[email protected]> Committer: Waldemar Kozaczuk <[email protected]> Branch: master
keydb: pin down to the version 5.3.1 and patch to disable setproctitle Keybd would crash quite randomly on startyp and I discovered it happens around logic calling setproctitle. Please note that Linux does not implement this function, so keydb provides its own version which causes some buggy behavior on OSv related possibly in setenv() implementation (??) and seems to be overwriting some kernel memory fragment. Please see KeyDB implementation of setproctitle() - https://github.com/JohnSully/KeyDB/blob/40d7a701feefd36e9e3fdb6d516228c4a70fcf3d/src/setproctitle.c. Please see https://www.freebsd.org/cgi/man.cgi?query=setproctitle&sektion=3. Signed-off-by: Waldemar Kozaczuk <[email protected]> --- diff --git a/keydb/.gitignore b/keydb/.gitignore --- a/keydb/.gitignore +++ b/keydb/.gitignore @@ -0,0 +1,2 @@ +usr.manifest +dump.rdb diff --git a/keydb/Makefile b/keydb/Makefile --- a/keydb/Makefile +++ b/keydb/Makefile @@ -2,7 +2,8 @@ SRC = $(shell readlink -f ../..) upstream/KeyDB/.git: mkdir -p upstream - cd upstream && git clone --depth 1 https://github.com/JohnSully/KeyDB.git + cd upstream && git clone -b v5.3.1 --depth 1 https://github.com/JohnSully/KeyDB.git + cd $(SRC)/apps/keydb && patch upstream/KeyDB/src/server.cpp proctitle.patch upstream/KeyDB/src/keydb-server: upstream/KeyDB/.git cd upstream/KeyDB && make MALLOC=libc @@ -12,4 +13,4 @@ module: upstream/KeyDB/src/keydb-server strip upstream/KeyDB/src/keydb-server clean: - rm -rf upstream + rm -rf upstream usr.manifest diff --git a/keydb/proctitle.patch b/keydb/proctitle.patch --- a/keydb/proctitle.patch +++ b/keydb/proctitle.patch @@ -0,0 +1,11 @@ +--- a/upstream/KeyDB/src/server.cpp ++++ b/upstream/KeyDB/src/server.cpp +@@ -5232,7 +5232,7 @@ int main(int argc, char **argv) { + initNetworking(cserver.cthreads > 1 /* fReusePort */); + + if (background || cserver.pidfile) createPidFile(); +- redisSetProcTitle(argv[0]); ++ //redisSetProcTitle(argv[0]); + redisAsciiArt(); + checkTcpBacklogSettings(); + diff --git a/keydb/usr.manifest b/keydb/usr.manifest --- a/keydb/usr.manifest +++ b/keydb/usr.manifest @@ -1,7 +0,0 @@ -# (PIE) Position Independent Executable -/keydb-server: /home/wkozaczuk/projects/osv/apps/keydb/upstream/KeyDB/src/keydb-server -# -------------------- -# Dependencies -# -------------------- -/usr/lib/libuuid.so.1: /lib/x86_64-linux-gnu/libuuid.so.1 -# -------------------- -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/000000000000973fe3059ece0c68%40google.com.
