Receive Error from Sync Gateway bh.handleChangesResponse: use of closed BLIP sender

Hi,

When Sync gateway tries to send changes to user’s mobiles this error happens:

022-05-22T15:51:49.495+04:30 [INF] WS: c:#69756 Start BLIP/Websocket handler
2022-05-22T15:51:49.584+04:30 [INF] SyncMsg: c:[1f389cee] #1: Type:getCheckpoint Client:cp-bfx8U54tBUuJbG2R+8xl1s+cWJM=
2022-05-22T15:51:49.586+04:30 [INF] SyncMsg: c:[49857cf] #1: Type:getCheckpoint Client:cp-bfx8U54tBUuJbG2R+8xl1s+cWJM=
2022-05-22T15:51:49.662+04:30 [INF] SyncMsg: c:[1f389cee] #2: Type:subChanges Since:391224 Continuous:true 
2022-05-22T15:51:49.662+04:30 [INF] Sync: c:[1f389cee] Sending changes since 391224
2022-05-22T15:51:49.662+04:30 [INF] Changes: c:[1f389cee] MultiChangesFeed(channels: {*}, options: {Since: 391224, Limit: 0, Conflicts: false, IncludeDocs: false, Wait: true, Continuous: true, HeartbeatMs: 0, TimeoutMs: 0, ActiveOnly: false}) ...   (to Headnurse2_00000001-9999-9999-0004-000000000006_689920748477)
2022-05-22T15:51:49.663+04:30 [INF] SyncMsg: c:[49857cf] #2: Type:proposeChanges #Changes: 0
2022-05-22T15:51:49.670+04:30 [INF] Cache: c:[1f389cee] GetCachedChanges("PhysicianOrderCouchBaseService_00000001-9999-9999-0004-000000000006", 391232:0) --> 2 changes valid from #1
2022-05-22T15:51:49.670+04:30 [INF] Cache: c:[1f389cee] GetCachedChanges("dialysis_status_00000001-9999-9999-0004-000000000006", 391232:0) --> 9 changes valid from #1
2022-05-22T15:51:49.670+04:30 [INF] Cache: c:[1f389cee] GetCachedChanges("NurseAssessmentCouchBaseService_00000001-9999-9999-0004-000000000006", 391232:0) --> 3 changes valid from #1
2022-05-22T15:51:49.670+04:30 [INF] Cache: c:[1f389cee] GetCachedChanges("Notification_00000000-0000-0000-0000-090000000116_00000001-9999-9999-0004-000000000006", 391232:0) --> 259 changes valid from #1
2022-05-22T15:51:49.833+04:30 [INF] Sync: c:[1f389cee] Sent 200 changes to client, from seq 391232:56178
2022-05-22T15:51:50.007+04:30 [INF] WS: c:#69755 Error: parseLoop closing socket due to error: io: read/write on closed pipe
2022-05-22T15:51:50.007+04:30 [INF] Sync: c:[1f389cee] Sent 70 changes to client, from seq 391232:307684
2022-05-22T15:51:50.008+04:30 [ERR] c:[1f389cee] Error from bh.handleChangesResponse: use of closed BLIP sender -- db.(*blipHandler).sendBatchOfChanges.func1() at blip_handler.go:358
2022-05-22T15:51:50.059+04:30 [INF] HTTP: c:[49857cf] #69756:    --> BLIP+WebSocket connection closed

sometimes the connection is closed earlier and then it wants to send changes to the closed connection:

2022-05-22T15:50:39.697+04:30 [INF] Cache: c:[7a052d95] GetCachedChanges("NurseAssessmentCouchBaseService_00000001-9999-9999-0004-000000000003", 391226:0) --> 2 changes valid from #1
2022-05-22T15:50:39.720+04:30 [INF] SyncMsg: c:[6f2c409] #2: Type:proposeChanges #Changes: 0
2022-05-22T15:50:39.887+04:30 [INF] Sync: c:[7a052d95] Sent 200 changes to client, from seq 391226:89456
2022-05-22T15:50:39.980+04:30 [INF] Sync: c:[7a052d95] Sent 135 changes to client, from seq 391226:327450
2022-05-22T15:50:39.980+04:30 [INF] Sync: c:[7a052d95] Sent all changes to client
2022-05-22T15:50:40.134+04:30 [INF] HTTP: c:[7a052d95] #69717:    --> BLIP+WebSocket connection closed
2022-05-22T15:50:40.134+04:30 [INF] Changes: c:[7a052d95] MultiChangesFeed done   (to Headnurse2_00000001-9999-9999-0004-000000000003_689920748477)
2022-05-22T15:50:40.137+04:30 [INF] HTTP: c:[6f2c409] #69718:    --> BLIP+WebSocket connection closed
2022-05-22T15:50:40.360+04:30 [ERR] c:[7a052d95] Error from bh.handleChangesResponse: use of closed BLIP sender -- db.(*blipHandler).sendBatchOfChanges.func1() at blip_handler.go:358
2022-05-22T15:50:40.408+04:30 [INF] Javascript: Sync not deleted
2022-05-22T15:50:40.423+04:30 [ERR] c:[7a052d95] Error from bh.handleChangesResponse: use of closed BLIP sender -- db.(*blipHandler).sendBatchOfChanges.func1() at blip_handler.go:358
2022-05-22T15:50:40.604+04:30 [INF] HTTP:  #69719: GET /dialysiscloud_staging/_blipsync (as Headnurse2_00000001-9999-9999-0004-000000000003_689920748477)
2022-05-22T15:50:40.605+04:30 [INF] HTTP+: #69719:     --> 101 [54d61f7] Upgraded to BLIP+WebSocket protocol (as Headnurse2_00000001-9999-9999-0004-000000000003_689920748477)  (0.0 ms)
2022-05-22T15:50:40.605+04:30 [INF] WS: c:#69719 Start BLIP/Websocket handler

here’s another log of this error

2022-05-22T15:50:41.219+04:30 [INF] WS: c:#69726 Start BLIP/Websocket handler
2022-05-22T15:50:41.222+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("PhysicianOrderCouchBaseService_00000001-9999-9999-0004-000000000003", 391226:0) --> 9 changes valid from #1
2022-05-22T15:50:41.222+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("Notification_00000000-0000-0000-0000-090000000116_00000001-9999-9999-0004-000000000003", 391226:0) --> 305 changes valid from #1
2022-05-22T15:50:41.222+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("NutritionCouchBaseService_00000001-9999-9999-0004-000000000003", 391226:0) --> 10 changes valid from #1
2022-05-22T15:50:41.222+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("NurseAssessmentCouchBaseService_00000001-9999-9999-0004-000000000003", 391226:0) --> 2 changes valid from #1
2022-05-22T15:50:41.222+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("dialysis_status_00000001-9999-9999-0004-000000000003", 391226:0) --> 10 changes valid from #1
2022-05-22T15:50:41.302+04:30 [INF] SyncMsg: c:[62fbacd6] #3: Type:setCheckpoint Client:cp-bfx8U54tBUuJbG2R+8xl1s+cWJM= Rev:0-5 
2022-05-22T15:50:41.421+04:30 [INF] Sync: c:[1a649ace] Sent 200 changes to client, from seq 391226:89456
2022-05-22T15:50:41.586+04:30 [INF] Sync: c:[1a649ace] Sent 135 changes to client, from seq 391226:327563
2022-05-22T15:50:41.586+04:30 [INF] Sync: c:[1a649ace] Sent all changes to client
2022-05-22T15:50:44.937+04:30 [INF] Javascript: Sync not deleted
2022-05-22T15:50:44.955+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("dialysis_status_00000001-9999-9999-0004-000000000003", 391227) --> 1 changes valid from #391228
2022-05-22T15:50:45.030+04:30 [INF] Javascript: Sync not deleted
2022-05-22T15:50:45.058+04:30 [INF] Cache: c:[1a649ace] GetCachedChanges("dialysis_status_00000001-9999-9999-0004-000000000003", 391228) --> 1 changes valid from #391229
2022-05-22T15:50:45.174+04:30 [INF] HTTP: c:[62fbacd6] #69724:    --> BLIP+WebSocket connection closed
2022-05-22T15:50:45.183+04:30 [ERR] c:[1a649ace] Error from bh.handleChangesResponse: use of closed BLIP sender -- db.(*blipHandler).sendBatchOfChanges.func1() at blip_handler.go:358
2022-05-22T15:50:45.183+04:30 [INF] Sync: c:[1a649ace] Sent 1 changes to client, from seq 391228
2022-05-22T15:50:45.183+04:30 [ERR] c:[1a649ace] Error from bh.handleChangesResponse: use of closed BLIP sender -- db.(*blipHandler).sendBatchOfChanges.func1() at blip_handler.go:358
2022-05-22T15:50:45.185+04:30 [ERR] c:[1a649ace] Error from bh.handleChangesResponse: use of closed BLIP sender -- db.(*blipHandler).sendBatchOfChanges.func1() at blip_handler.go:358
2022-05-22T15:50:45.233+04:30 [INF] HTTP: c:[1a649ace] #69723:    --> BLIP+WebSocket connection closed

Could you give me some advice?
Thank you

Well, the logs are just saying that the connection was closed abruptly. The rest of that is just a reaction to that fact. To diagnose the problem, you need to figure out what is causing the disconnection.

Thank you borrrden for your answer. I just checked our code again with more concentration and noticed somewhere in our code we’re trying to reinitiate the open socket connection and it led the current socket to close. So, I removed that part of the code and I’ve seen no error since yet