after couple of hours (typically over night) application stop receiving update from database (PERSISTANCE enabled). After that, if I keep application running (and wakeup, screen on, connected to ADB), after 10 minutes start working again (no problem with internet connection, all other app/requests works).
I am not using auth module, application is full anonymous. This problem is only for Android 6 (Android 4 and iOS works OK)
I am not getting "Error fetching token" in logcat as it is mentioned in many posts, anyway I've made all setup with SHA1 keys in firebase console and google console (Android 4 and iOS just works). And also I can not call "user.getToken(true).addOnCompleteListener" because I don't have an user.
For me it looks like, that WS connection did not receive timeout for re-establish connection.
// START - getting "old" data (from persistence)
08-07 09:51:05.989 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: -6
// ... OTHER LOGS, stil not working
08-07 09:55:01.234 25315-27586/com.app D/Persistence: Transaction completed. Elapsed: 19ms 08-07 09:55:01.234 25315-27586/com.app D/Persistence: Starting transaction. 08-07 09:55:01.235 25315-27586/com.app D/Persistence: Transaction completed. Elapsed: 0ms 08-07 09:55:46.220 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0 08-07 09:56:31.222 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0 08-07 09:57:16.222 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0 08-07 09:58:01.224 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: -1 08-07 09:58:46.225 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0 08-07 09:59:31.226 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0 08-07 10:00:16.227 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0 08-07 10:01:01.234 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: -5 08-07 10:01:46.235 25315-27586/com.app D/WebSocket: ws_34 - Reset keepAlive. Remaining: 0
// START WORKING AGAIN
08-07 10:02:29.761 25315-27586/com.app D/WebSocket: ws_34 - had an error byk: IO Error
at byn.a(:com.google.android.gms.DynamiteModulesC:78)
at bye.d(:com.google.android.gms.DynamiteModulesC:371)
at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
at java.lang.Thread.run(Thread.java:818)
Caused by: javax.net.ssl.SSLException: Read error: ssl=0x55a01ac3d0: I/O error during system call, Connection timed out
at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:705)
at libcore.io.Streams.readFully(Streams.java:81)
at java.io.DataInputStream.readFully(DataInputStream.java:99)
at byn.a(:com.google.android.gms.DynamiteModulesC:141)
at byn.a(:com.google.android.gms.DynamiteModulesC:34)
at bye.d(:com.google.android.gms.DynamiteModulesC:371)
at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
at java.lang.Thread.run(Thread.java:818)
08-07 10:02:29.762 25315-27586/com.app D/WebSocket: ws_34 - |IO Error| 08-07 10:02:29.762 25315-27586/com.app D/WebSocket: ws_34 - closing itself 08-07 10:02:29.763 25315-27586/com.app D/Connection: conn_34 - Realtime connection lost 08-07 10:02:29.764 25315-27586/com.app D/Connection: conn_34 - closing realtime connection 08-07 10:02:29.764 25315-27586/com.app D/PersistentConnection: pc_0 - Got on disconnect due to OTHER 08-07 10:02:29.764 25315-27586/com.app D/PersistentConnection: pc_0 - Scheduling connection attempt 08-07 10:02:29.764 25315-27586/com.app D/ConnectionRetryHelper: Scheduling retry in 0ms 08-07 10:02:29.771 25315-27586/com.app D/WebSocket: ws_34 - had an error byk: IO Exception
at byo.a(:com.google.android.gms.DynamiteModulesC:148)
at byp.run(:com.google.android.gms.DynamiteModulesC:1022)
at java.lang.Thread.run(Thread.java:818)
Caused by: javax.net.ssl.SSLException: Write error: ssl=0x55a01ac3d0: I/O error during system call, Broken pipe
at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:771)
at java.nio.channels.Channels$OutputStreamChannel.write(Channels.java:348)
at byo.b(:com.google.android.gms.DynamiteModulesC:127)
at byo.a(:com.google.android.gms.DynamiteModulesC:141)
at byp.run(:com.google.android.gms.DynamiteModulesC:1022)
at java.lang.Thread.run(Thread.java:818)
08-07 10:02:29.771 25315-27586/com.app D/WebSocket: ws_34 - |IO Exception| 08-07 10:02:29.772 25315-27586/com.app D/WebSocket: ws_34 - closed 08-07 10:02:29.772 25315-27586/com.app D/PersistentConnection: pc_0 - Trying to fetch auth token 08-07 10:02:29.774 25315-27586/com.app D/PersistentConnection: pc_0 - Successfully fetched token, opening connection 08-07 10:02:29.776 25315-27586/com.app D/Connection: conn_35 - Opening a connection 08-07 10:02:30.418 25315-27586/com.app D/WebSocket: ws_35 - websocket opened 08-07 10:02:30.419 25315-27586/com.app D/WebSocket: ws_35 - Reset keepAlive 08-07 10:02:30.423 25315-6647/com.app D/WebSocket: ws_35 - ws message: {***} 08-07 10:02:30.423 25315-27586/com.app D/WebSocket: ws_35 - Reset keepAlive. Remaining: 44995 08-07 10:02:30.424 25315-27586/com.app D/WebSocket: ws_35 - HandleNewFrameCount: 1 08-07 10:02:30.425 25315-27586/com.app D/WebSocket: ws_35 - handleIncomingFrame complete frame: {***} 08-07 10:02:30.426 25315-27586/com.app D/Connection: conn_35 - Got control message: {***} 08-07 10:02:30.426 25315-27586/com.app D/Connection: conn_35 - realtime connection established