185 похожих чатов

Коллеги, кто-нибудь сталкивался с тем, что TLS-сокеты не закрываются? Схема такая:

* OTP 26.1
* cowboy 2.10 HTTPS
* хендлер сделан на cowboy_loop
Симптом:
* работают процессы cowboy_http и cowboy_loop
* у них есть оставшийся в живых порт
* cowboy_http делает ssl:send, в ответ получает {error,enotconn} и игнорирует его
* по порту успешно отрабатывает port_info, но inet:peername возвращает тот же {error,enotconn}

Я не понимаю:
* как такое возможно, что порт остался в таком состоянии?
* какими способами пробовать такое воспроизвести?

4 ответов

42 просмотра

воспроизвести так https://github.com/ninenines/cowboy/pull/1590/files#diff-5941d460ec941155e0a6531897c09215142a5c4b21483b5221ef79c31ceb721e а фикс тупой. просто для примера

корень проблемы в inet_drv.c он молча закрывает дескриптор и ничего не отправляет оунеру где-то в tcp_shutdown_async, на сколько я помню поэтому в доке и написано, что нужно обязательно проверять результат выполнения функций send/2 и прочих. но у ковбоя свой путь

Danil-Zagoskin Автор вопроса
Sergei
корень проблемы в inet_drv.c он молча закрывает де...

Дичь. Спасибо большое за пояснение!

Danil Zagoskin
Дичь. Спасибо большое за пояснение!

Спасибо за поднятие темы. Думал, вечно висеть будет

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта