我的应用程序在内部出现段错误之前拥有 950-970 个 SSL 连接SSL_read
。是否可以将 OpenSSL 配置为接受比这更多的连接?
我已经对其进行了编程,使其在获取连接后不对连接执行任何操作,所以我知道这是打开连接数的函数,而不是当前读/写或时间的连接数。
更新:
- ubuntu 在同一个地方出现同样的错误。我正在开发 ubuntu。
- 如果我在相同数量的连接下将我的机器大小(RAM、交换、CPU)加倍,则会出现同样的错误。
- 上下文不为空。
ulimit -n
设置为 4096。我也通过设置验证了这一点,ulimit -100
在这种情况下会观察到不同的错误。- 即使线程被池化,问题也会发生。问题发生在相同数量的连接上,无论是 1 个线程/连接还是 1 个线程/10 个连接。
我正在尝试从启用调试选项的源代码构建 OpenSSL。我开始怀疑这是否需要几个小时或告诉我任何有用的信息。我在这里有一个问题。
我已经确定在 openssl v 1.0.1.c 的这条线上发生了段错误:
ssl_lib.c:968
968 return(s->method->ssl_read(s,buf,num));
此外,我已经确定这不是ssl_read
函数内部的段错误(应该指向ssl3_read
)。的成员实际上本身是无效的,而且它本身似乎ssl_read
也是无效的(我是根据“奇怪的地址”推断出来的。)method
method