CLOSE-WAIT 1

Aleksey

New Member
На сервере, сокет подвис в следующем состоянии:
tcp CLOSE-WAIT 1 0 server_ip:8443 client_ip:56096
В таком состоянии он может висеть вечно.
Со стороны клиента, в таблице netstat данного порта нет и обмена данными не происходит.
Из-за этого у пользователя(client_ip) не получается вещать, в лога браузера ошибка: MediaSessionId is already in use.
Сессия видна в мониторинге:
Selection_047.png

При этом её нет в rest-api/stream/find_all
 

Max

Administrator
Staff member
Логи получили. Еще напишите какую версию сервера используете сейчас.
 

Max

Administrator
Staff member
Версию сервера определили по логам.
Вы используете ре-публикацию стрима на другой сервер?
 

Max

Administrator
Staff member
Этот сокет до сих пор висит открытым? В логе flashphoner.log можете наблюдать логи
StunClientTransaction-pool-23-thread-57 timeout for pair:
в настоящее время? Если так, то необходимо снять heap dump и выслать нам на logs@flashphoner.com
1. Выполнить jps и определить PID серверного процесса:
Code:
jps
26579 wcs_manager-1.0.jar
26644 Server
27130 Jps
2. Выполнить jmap -dump:file=/tmp/server.hprof SERVER_PID
Code:
jmap -dump:file=/tmp/server.hprof 26644
Dumping heap to /tmp/server.hprof ...
Heap dump file created
3. Вышлите также conf-директорию и вывод netstat -antpul
 

Max

Administrator
Staff member
В нашем окружении проблему воспроизвести не удалось, в версии 2552 исправили возможную причину. Просьба обновиться до крайней версии.
 

oioki

New Member
Добрый день!
Мы с @Aleksey из одной компании.
Проблема вновь проявилась на билде 2555. Используем WCS в конфигурации Origin -> Edge. На Origin-сервере сокет завис в состоянии:
Code:
CLOSE-WAIT 0      0      server_ip:443                client_ip:55768               users:(("java",pid=28041,fd=111))
На клиенте в netstat такого сокета нет.
Из-за этого не получается вещать, возвращается ошибка "MediaSessionId is already in use".
 

oioki

New Member
Похоже, эта проблема коррелирует с еще одной проблемой, а именно, прекращение репаблишинга (стрим есть на Origin, но не появляется на Edge). Я отправил логи на logs@flashphoner.com

Пока что заметили следующее. В 10:25 UTC прекратилась работа LoadBalancingThread, вот последняя запись:
Code:
# grep 'Republish stream' flashphoner.log.2017-11-17-10 | tail -1
10:25:40,544 INFO   LoadBalancingThread - LoadBalancingThread-52 Republish stream WebRTCAgentFilter{localMediaSessionId='null', remoteMediaSessionId='null', localStreamName='3886641', remoteStreamName='3886641', uri='ws://edge_ip:8080/websocket', status='null'}
В 10:58 UTC началась ошибка "Failed to send rtcp packet", при этом на сервере отсутствует сокет с портом 44168, ошибки продолжают сыпаться до сих пор:
Code:
# grep 'Failed to send' /usr/local/FlashphonerWebCallServer/logs/server_logs/flashphoner.log.2017-11-17-10
10:58:43,523 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
10:58:43,824 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
10:58:44,124 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
10:58:44,424 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
...

# tail -F /usr/local/FlashphonerWebCallServer/logs/server_logs/flashphoner.log
14:43:26,523 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
14:43:26,824 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
14:43:27,124 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet 
14:43:27,424 ERROR stractRtpRtcpSession - 607351-/server_ip:44168-rtcp Failed to send rtcp packet
 

Max

Administrator
Staff member
Судя по логам был deadlock.
Его исправили в сборке 2565 (последняя 2566)
Поэтому нужно обновиться до 2566 по ветке wcs5_streaming_threads
Code:
service webcallserver update
 

Max

Administrator
Staff member
Наиболее вероятно что баг CLOSE-WAIT уйдет вместе с deadlock.
 

oioki

New Member
Зависшие CLOSE-WAIT больше не появлялись, но повторилась проблема с остановкой репаблишинга - создал новую тему.
 
Top