I created this GDB script
```
define check_wsc
while(wsc->state == WS_S_REMOVING)
p wsc->id
p wsc->rmticks
cont
end
end
at 183996
b ws_conn.c:694
condition 1 wsc->state == WS_S_REMOVING
set pagination off
c
check_wsc
```
Where I watch the process with 183996 is `WEBSOCKET TIMER`.
```
[root@ippbx-0a ~]# kamcmd ps | grep WEBSOCKET
183989 WEBSOCKET KEEPALIVE
183992 WEBSOCKET KEEPALIVE
183994 WEBSOCKET KEEPALIVE
183996 WEBSOCKET TIMER
```
Script output shows the webssocket `rmticks` always increased and timeout for
`rm_delay_interval` never fired.
For me that is a reason why websocket connection cannot be closed.
```
(gdb) c
Continuing.
Breakpoint 1, ws_timer (ticks=78432190, param=0x0) at ws_conn.c:694
694 if(wsc->state == WS_S_REMOVING
(gdb) check_wsc
$1 = 541
$2 = 78432190
Breakpoint 1, ws_timer (ticks=78432191, param=0x0) at ws_conn.c:694
694 if(wsc->state == WS_S_REMOVING
$13 = 541
$14 = 78432191
Breakpoint 1, ws_timer (ticks=78432192, param=0x0) at ws_conn.c:694
694 if(wsc->state == WS_S_REMOVING
$25 = 541
$26 = 78432192
Breakpoint 1, ws_timer (ticks=78432193, param=0x0) at ws_conn.c:694
694 if(wsc->state == WS_S_REMOVING
$37 = 541
$38 = 78432193
Breakpoint 1, ws_timer (ticks=78432194, param=0x0) at ws_conn.c:694
694 if(wsc->state == WS_S_REMOVING
$49 = 541
$50 = 78432194
Breakpoint 1, ws_timer (ticks=78432195, param=0x0) at ws_conn.c:694
694 if(wsc->state == WS_S_REMOVING
$61 = 541
$62 = 78432195
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3278#issuecomment-1383093059
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3278/1383093059(a)github.com>