在使用 QUIC/ECH 时,OpenBSD 7.8 发生 SIGSEGV (sysctl/getrtable 中的空指针引用)
1910 h2o RET read 5926/0x1726
1910 h2o CALL close(7)
1910 h2o RET close 0
1910 h2o CALL getpid()
1910 h2o RET getpid 1910/0x776
1910 h2o CALL getpid()
1910 h2o RET getpid 1910/0x776
1910 h2o CALL fcntl(4,F_GETFL)
1910 h2o RET fcntl 2
1910 h2o CALL fcntl(4,F_SETFL,0x2<O_RDWR>)
1910 h2o RET fcntl 0
1910 h2o CALL getpid()
1910 h2o RET getpid 1910/0x776
1910 h2o CALL writev(4,0x7364d7328358,2)
1910 h2o STRU struct iovec [2] { base=0x7364d7328358, len=8 } { base=0xc31f102000, len=28 }
1910 h2o GIO fd 4 wrote 8 bytes
"^\0\0\0\0\0\0\0"
1910 h2o GIO fd 4 wrote 28 bytes
"load_key\0/web/cert/cert.key\0"
1910 h2o RET writev 36/0x24
1910 h2o CALL fcntl(4,F_SETFL,0x2<O_RDWR>)
1910 h2o RET fcntl 0
1910 h2o CALL getpid()
1910 h2o RET getpid 1910/0x776
1910 h2o CALL fcntl(4,F_GETFL)
1910 h2o RET fcntl 2
1910 h2o CALL fcntl(4,F_SETFL,0x2<O_RDWR>)
1910 h2o RET fcntl 0
1910 h2o CALL getpid()
1910 h2o RET getpid 1910/0x776
1910 h2o CALL read(4,0x7364d7328368,0x8)
1910 h2o GIO fd 4 read 8 bytes
"\M^A\0\0\0\0\0\0\0"
1910 h2o RET read 8
1910 h2o CALL read(4,0xc31f106000,0x81)
1910 h2o GIO fd 4 read 129 bytes
"^B\0\0\0\0\0\0\0^A\0\0\0\0\0\0\0\M-K^B\0\0\0\0\0\0a\0\0\0\0\0\0\0^D\M^U\M^Sz{\M^?;\M-RD\M^D[X\M^Kjk\M-e\M^]m^D
c8b\M^\M^\M-;^A^St>\M^B^Q\aM\M-v\M-M\M-d
^Vx\M-bm\M-/\M-m\M-bV\M-W\M-_4\M-rz
\M-%\M^E\M-e\M-=\M-l&\M^\w\M-Bw \M-P3\M-$\M^M\M-x\M-uK\M-/\M-r\M^R\M-Ve\M-n\v/\M-=y\M^GU^Y\M-d\M-p\M^X\M^Y\M-M\M-y
^Q\M^[1\M-0\M^C\M^A\M-A1^X"
1910 h2o RET read 129/0x81
1910 h2o CALL fcntl(4,F_SETFL,0x2<O_RDWR>)
1910 h2o RET fcntl 0
1910 h2o CALL mmap(0,0x81000,0x3<PROT_READ|PROT_WRITE>,0x5002<MAP_PRIVATE|MAP_ANON|MAP_STACK>,-1,0)
1910 h2o RET mmap 838376628224/0xc333242000
1910 h2o CALL mprotect(0xc333242000,0x1000,0<PROT_NONE>)
1910 h2o RET mprotect 0
1910 h2o CALL __tfork(0x7364d7328620,24)
1910 h2o STRU struct __tfork { tcb=0xc31f128000, tid=0xc31f128030, stack=0xc3332c2ac0 }
1910 h2o RET __tfork 173209/0x2a499
1910 h2o CALL getpid()
1910 h2o RET getpid 1910/0x776
1910 h2o CALL clock_gettime(CLOCK_MONOTONIC,0x7364d73285e0)
1910 h2o STRU struct timespec { 344965.881617784
内容来源: h2o/h2o