我的应用程序在SSL_read
内的段错误之前保持950-970个SSL连接。是否可以将OpenSSL配置为接受比此更多的连接?
我已经将它编程为在获取它们之后不对连接做任何事情,所以我知道这是打开连接数的函数,而不是当前正在读/写的连接数或时间。
更新
ulimit -n
设置为4096.我已经通过设置ulimit -100
验证了这一点,在这种情况下会发现不同的错误。我正在尝试从启用调试选项的源代码构建OpenSSL。我开始怀疑这是否需要几个小时或告诉我任何有用的东西。我对here.
有疑问我已经确定在openssl v 1.0.1.c中这行发生了段错误:
ssl_lib.c:968
968 return(s->method->ssl_read(s,buf,num));
此外,我已经确定这不是ssl_read
函数中的segfaulting(它应该指向ssl3_read
)。 ssl_read
的成员method
本身实际上无效,看起来method
本身也无效(我在“看起来很奇怪的地址”的基础上推断这一点。)
答案 0 :(得分:4)
ulimit
增加堆栈大小。例如:
ulimit -s 32768
此外,您可以使用valgrind之类的工具来帮助您了解应用程序段错误时的实际情况。
希望它有所帮助。