我的应用程序在内部进行segfault之前保持950-970个SSL连接SSL_read.是否可以将OpenSSL配置为接受比此更多的连接?
我已经将它编程为在获取它们之后不对连接做任何事情,所以我知道这是打开连接的#函数,而不是当前正在读/写的连接数或时间.
更新:
ulimit -n设置为4096.我通过设置验证了这一点,ulimit -100在这种情况下观察到不同的错误.我正在尝试从源代码构建OpenSSL并启用调试选项.我开始怀疑这是否需要几个小时或告诉我任何有用的东西.我在这里有一个问题.
我已经确定在openssl v 1.0.1.c中这行发生了段错误:
ssl_lib.c:968
968 return(s->method->ssl_read(s,buf,num));
Run Code Online (Sandbox Code Playgroud)
此外,我已经确定这不是ssl_read函数内部的segfaulting (应该指向ssl3_read).成员ssl_read的method实际上是无效的本身和它出现method本身也是无效的(我的基础上推断这个"奇怪的看的地址.")
恕我直言,看来你已经达到了某种极限。正如你所说,文件描述符的数量是可以的。因此,您可以尝试使用 增加堆栈大小ulimit。例如:
ulimit -s 32768
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用valgrind这样的工具来帮助您找出应用程序出现段错误时到底发生了什么。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
1075 次 |
| 最近记录: |