Мое приложение удерживает от 950 до 970 SSL-соединений, прежде чем произойдет segfault внутри 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));
Кроме того, я определил, что это не ошибка сегментации внутри функции ssl_read
(которая должна чтобы указать на ssl3_read
). Член ssl_read
метода фактически недействителен сам по себе, и, похоже, сам
метод
также недействителен (я делаю вывод на основе «странно выглядящего адреса. ")