当openssl 升级到1.1.1d之后,依赖于openssl的sshd进程hang住了;
compat_futex(0x2ad32eb0, 0x81 /* FUTEX_??? */, 2147483647) = 0
shmget(0x72, 1, 0) = -1 ENOENT (No such file or directory)
newuname({sys=“Linux”, node=“qd02-s00c08h4”, …}) = 0
open("/dev/random", O_RDONLY) = 3
compat_select(4, [3], NULL, NULL, NULL /// hang在这一行。
原因是,对于一些老的机器,系统,这个/dev/random设备,上没有输出信息,导致openss的函数一直在等待。
从源码看,就可以看到,openssl会一直等待/dev/random变成可读为止。为什么要读这个文件呢,就是为了安全,确保密钥之类的信息的随机性。
/* Open /dev/random and wait for it to be readable */