OpenAtomFoundation / pika

Pika is a Redis-Compatible database developed by Qihoo's infrastructure team.
BSD 3-Clause "New" or "Revised" License
5.85k stars 1.19k forks source link

pika启动报段错误 #2775

Closed chanles7 closed 3 months ago

chanles7 commented 3 months ago

Is this a regression?

No

Description

环境

centos7
gcc 4.8.5
pika-v3.5.4-centos-amd64.tar.gz

启动

strace /app/pika/bin/pika -c /app/pika/conf/pika.conf

execve("/app/pika/bin/pika", ["/app/pika/bin/pika", "-c", "/app/pika/conf/pika.conf"], 0x7ffd67497050 /* 25 vars */) = 0
brk(NULL)                               = 0x2253000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fad862fd000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib64/tls/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib64/tls/x86_64", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib64/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib64/tls", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib64/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib64/x86_64", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib64", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib/tls/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib/tls/x86_64", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib/tls", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib/x86_64", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/__w/pika/pika/deps/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (没有那个文件或目录)
stat("/__w/pika/pika/deps/lib", 0x7ffd008299d0) = -1 ENOENT (没有那个文件或目录)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=27519, ...}) = 0
mmap(NULL, 27519, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fad862f6000
close(3)                                = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19248, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fad85ed9000
mprotect(0x7fad85edb000, 2097152, PROT_NONE) = 0
mmap(0x7fad860db000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fad860db000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0PS\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1136944, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fad862f5000
mmap(NULL, 3150136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fad85bd7000
mprotect(0x7fad85cd8000, 2093056, PROT_NONE) = 0
mmap(0x7fad85ed7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x7fad85ed7000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200m\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=142144, ...}) = 0
mmap(NULL, 2208904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fad859bb000
mprotect(0x7fad859d2000, 2093056, PROT_NONE) = 0
mmap(0x7fad85bd1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fad85bd1000
mmap(0x7fad85bd3000, 13448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fad85bd3000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`&\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2156592, ...}) = 0
mmap(NULL, 3985920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fad855ed000
mprotect(0x7fad857b1000, 2093056, PROT_NONE) = 0
mmap(0x7fad859b0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c3000) = 0x7fad859b0000
mmap(0x7fad859b6000, 16896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fad859b6000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fad862f4000
mmap(NULL, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fad862ea000
arch_prctl(ARCH_SET_FS, 0x7fad862f2d80) = 0
access("/etc/sysconfig/strcasecmp-nonascii", F_OK) = -1 ENOENT (没有那个文件或目录)
access("/etc/sysconfig/strcasecmp-nonascii", F_OK) = -1 ENOENT (没有那个文件或目录)
mprotect(0x7fad859b0000, 16384, PROT_READ) = 0
mprotect(0x7fad85bd1000, 4096, PROT_READ) = 0
mprotect(0x7fad85ed7000, 4096, PROT_READ) = 0
mprotect(0x7fad860db000, 4096, PROT_READ) = 0
mprotect(0x128c000, 40960, PROT_READ)   = 0
mprotect(0x7fad862fe000, 4096, PROT_READ) = 0
munmap(0x7fad862f6000, 27519)           = 0
set_tid_address(0x7fad862f3050)         = 6502
set_robust_list(0x7fad862f3060, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fad859c1860, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fad859ca630}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fad859c18f0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fad859ca630}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
readlink("/etc/malloc.conf", 0x7ffd00828670, 4096) = -1 ENOENT (没有那个文件或目录)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fad862fc000
madvise(0x7fad862fc000, 4096, MADV_DONTNEED) = 0
munmap(0x7fad862fc000, 4096)            = 0
open("/proc/sys/vm/overcommit_memory", O_RDONLY|O_CLOEXEC) = 3
read(3, "1", 1)                         = 1
close(3)                                = 0
open("/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 3
read(3, "[always] madvise never\n", 24) = 23
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fad862fc000
madvise(0x7fad862fc000, 4096, MADV_FREE) = 0
munmap(0x7fad862fc000, 4096)            = 0
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fad853ed000
munmap(0x7fad853ed000, 2097152)         = 0
mmap(NULL, 4190208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fad851ee000
munmap(0x7fad851ee000, 73728)           = 0
munmap(0x7fad85400000, 2019328)         = 0
brk(NULL)                               = 0x2253000
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fad85000000
mmap(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fad84c00000
sched_getaffinity(0, 128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) = 128
futex(0x14dc47c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x14dc488, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 3
read(3, "0-15\n", 8192)                 = 5
close(3)                                = 0
uname({sysname="Linux", nodename="localhost.localdomain", ...}) = 0
open("/proc/sys/kernel/random/uuid", O_RDONLY) = 3
read(3, "b8d36a56-ed84-4171-af67-83bd62ea"..., 8191) = 37
close(3)                                = 0
uname({sysname="Linux", nodename="localhost.localdomain", ...}) = 0
uname({sysname="Linux", nodename="localhost.localdomain", ...}) = 0
uname({sysname="Linux", nodename="localhost.localdomain", ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fad862fc000
write(1, "path : /app/pika/conf/pika.conf\n", 32path : /app/pika/conf/pika.conf
) = 32
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7ffd0052a8c8} ---
+++ killed by SIGSEGV +++
段错误

Please provide a link to a minimal reproduction of the bug

No response

Screenshots or videos

No response

Please provide the version you discovered this bug in (check about page for version information)

No response

Anything else?

No response

Issues-translate-bot commented 3 months ago

Bot detected the issue body's language is not English, translate it automatically.


Title: pika startup reporting error

AlexStocks commented 3 months ago

image 这错误我看挺明显的,它在系统级别目录下寻找 libdl.so.2,你想办法安装下吧