14:31:48.705‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3

My iOS app can get stuck sometimes and seems to stop receiving updates. I see this in the logs, over and over again, and nothing else:

14:31:48.705‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3

What causes this?

This is issue 1074. It was reported in January but no one’s been able to reproduce it. We should continue the discussion there.

If you’re able to reproduce this, please turn on ChangeTracker logging and post some of the log output around the time this warning occurs.

Will do. I’m quite new to all this, do you have some docs on how it turn on ChangeTracker logging?

There are some docs in a tech-note here. I tend to use command-line args because they’re so easy to turn on/off. Just add -Log YES -LogChangeTracker YES.

I turned on all the logging and managed to reproduce the issue (but don’t know how). Here’s some samples:

21:53:18.533‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Starting...
21:53:18.533‖ SyncVerbose: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: GET //192.168.1.185:4986/sync_gateway/_changes?feed=websocket
21:53:18.533‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Started... <http://192.168.1.185:4986/sync_gateway/_changes?feed=websocket>
21:53:18.553‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:18.554‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:18.554‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: RESUME WebSocket
21:53:18.554‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:18.554‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: closed with code 1003, reason '(null)'
21:53:18.555‖ CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Connection error #1, retrying in 2.0 sec: The operation couldn’t be completed. (PSWebSocketErrorDomain error 1003.)


21:53:22.579‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Starting...
21:53:22.580‖ SyncVerbose: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: GET //192.168.1.185:4986/sync_gateway/_changes?feed=websocket
21:53:22.580‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Started... <http://192.168.1.185:4986/sync_gateway/_changes?feed=websocket>
21:53:22.600‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:22.600‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:22.600‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:22.601‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:22.601‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:22.601‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: RESUME WebSocket
21:53:22.601‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: caught up!
21:53:22.601‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: closed with code 1003, reason '(null)'

21:53:31.084‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Starting...
21:53:31.084‖ SyncVerbose: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: GET //192.168.1.185:4986/sync_gateway/_changes?feed=websocket
21:53:31.085‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Started... <http://192.168.1.185:4986/sync_gateway/_changes?feed=websocket>
21:53:31.101‖ WARNING: CBLWebSocketChangeTracker: Couldn't unzip compressed message; status=-3
21:53:31.101‖ ChangeTracker: CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: closed with code 1003, reason '(null)'
21:53:31.102‖ CBLWebSocketChangeTracker[0x79eafc00 sync_gateway]: Connection error #1, retrying in 2.0 sec: The operation couldn’t be completed. (PSWebSocketErrorDomain error 1003.)

Thanks — we haven’t seen detailed logs yet and those may well be useful. I added a link to the bug report — further discussion should happen there.