[FIREBASE] Stop receiving data in a service when phone goes to sleep

407 views
Skip to first unread message

Brokoli Bunder

unread,
Jul 31, 2016, 9:07:05 PM7/31/16
to Firebase Google Group

I put my firebase to monitoring node in a background service and working well in my device. But in another device (kitkat) when device went to sleep,
firebase then stop receiving data few moment after screen off while my service is still running normally.

log cat:

D: ws_22 - had an error
   byk: error while creating secure socket to wss://s-usc1c-nss-125.firebaseio.com/.ws?ns=flickering-fire&v=5&ls=KmCoCkgJPQpaquThZy22aenS6J3phqV1
       at bye.e(:com.google.android.gms.DynamiteModulesC:281)
       at bye.d(:com.google.android.gms.DynamiteModulesC:305)
       at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
       at java.lang.Thread.run(Thread.java:841)
    Caused by: java.net.ConnectException: failed to connect to s-usc1c-nss-125.firebaseio.com/199.223.233.28 (port 443): connect failed: ECONNREFUSED (Connection refused)
       at libcore.io.IoBridge.connect(IoBridge.java:114)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
       at java.net.Socket.startupSocket(Socket.java:566)
       at java.net.Socket.tryAllAddresses(Socket.java:128)
       at java.net.Socket.<init>(Socket.java:178)
       at java.net.Socket.<init>(Socket.java:150)
       at javax.net.ssl.SSLSocket.<init>(SSLSocket.java:55)
       at com.android.org.conscrypt.OpenSSLSocketImpl.<init>(OpenSSLSocketImpl.java:127)
       at com.android.org.conscrypt.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:64)
       at bye.e(:com.google.android.gms.DynamiteModulesC:267)
       at bye.d(:com.google.android.gms.DynamiteModulesC:305)
       at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
       at java.lang.Thread.run(Thread.java:841)
    Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused)
       at libcore.io.Posix.connect(Native Method)
       at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85)
       at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
       at libcore.io.IoBridge.connect(IoBridge.java:112)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
       at java.net.Socket.startupSocket(Socket.java:566)
       at java.net.Socket.tryAllAddresses(Socket.java:128)
       at java.net.Socket.<init>(Socket.java:178)
       at java.net.Socket.<init>(Socket.java:150)
       at javax.net.ssl.SSLSocket.<init>(SSLSocket.java:55)
       at com.android.org.conscrypt.OpenSSLSocketImpl.<init>(OpenSSLSocketImpl.java:127)
       at com.android.org.conscrypt.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:64)
       at bye.e(:com.google.android.gms.DynamiteModulesC:267)
       at bye.d(:com.google.android.gms.DynamiteModulesC:305)
       at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
       at java.lang.Thread.run(Thread.java:841)
D: ws_22 - |error while creating secure socket to wss://s-usc1c-nss-125.firebaseio.com/.ws?ns=flickering-fire&v=5&ls=KmCoCkgJPQpbquThZy22aenS6J3phqV1|
D: ws_22 - closing itself
D: conn_22 - Realtime connection failed
D: conn_22 - closing realtime connection
D: pc_0 - Got on disconnect due to OTHER
D: pc_0 - Scheduling connection attempt
D: Scheduling retry in 18825ms
D: ws_22 - closed
  
D: pc_0 - Trying to fetch auth token
D: pc_0 - Successfully fetched token, opening connection
D: conn_23 - Opening a connection
D: ws_23 - had an error
   byk: error while creating secure socket to wss://s-usc1c-nss-125.firebaseio.com/.ws?ns=flickering-fire&v=5&ls=KmCoCkgJPQpbquThZy22aenS6J3phqV1
       at bye.e(:com.google.android.gms.DynamiteModulesC:281)
       at bye.d(:com.google.android.gms.DynamiteModulesC:305)
       at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
       at java.lang.Thread.run(Thread.java:841)
    Caused by: java.net.ConnectException: failed to connect to s-usc1c-nss-125.firebaseio.com/199.223.233.28 (port 443): connect failed: ECONNREFUSED (Connection refused)
       at libcore.io.IoBridge.connect(IoBridge.java:114)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
       at java.net.Socket.startupSocket(Socket.java:566)
       at java.net.Socket.tryAllAddresses(Socket.java:128)
       at java.net.Socket.<init>(Socket.java:178)
       at java.net.Socket.<init>(Socket.java:150)
       at javax.net.ssl.SSLSocket.<init>(SSLSocket.java:55)
       at com.android.org.conscrypt.OpenSSLSocketImpl.<init>(OpenSSLSocketImpl.java:127)
       at com.android.org.conscrypt.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:64)
       at bye.e(:com.google.android.gms.DynamiteModulesC:267)
       at bye.d(:com.google.android.gms.DynamiteModulesC:305)
       at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
       at java.lang.Thread.run(Thread.java:841)
    Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused)
       at libcore.io.Posix.connect(Native Method)
       at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85)
       at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
       at libcore.io.IoBridge.connect(IoBridge.java:112)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
       at java.net.Socket.startupSocket(Socket.java:566)
       at java.net.Socket.tryAllAddresses(Socket.java:128)
       at java.net.Socket.<init>(Socket.java:178)
       at java.net.Socket.<init>(Socket.java:150)
       at javax.net.ssl.SSLSocket.<init>(SSLSocket.java:55)
       at com.android.org.conscrypt.OpenSSLSocketImpl.<init>(OpenSSLSocketImpl.java:127)
       at com.android.org.conscrypt.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:64)
       at bye.e(:com.google.android.gms.DynamiteModulesC:267)
       at bye.d(:com.google.android.gms.DynamiteModulesC:305)
       at byg.run(:com.google.android.gms.DynamiteModulesC:1028)
       at java.lang.Thread.run(Thread.java:841)
D: ws_23 - |error while creating secure socket to wss://s-usc1c-nss-125.firebaseio.com/.ws?ns=flickering-fire&v=5&ls=KmCoCkgJPQpbquThZy22aenS6J3phqV1|
D: ws_23 - closing itself
D: conn_23 - Realtime connection failed
D: conn_23 - closing realtime connection
D: pc_0 - Got on disconnect due to OTHER
D: pc_0 - Scheduling connection attempt
D: Scheduling retry in 10397ms
D: ws_23 - closed

Kato Richardson

unread,
Aug 10, 2016, 10:15:06 PM8/10/16
to Firebase Google Group
This sounds fairly accurate. The OS can (and does) sever any socket connections hanging around for backgrounded apps. Thus, while your Firebase app is in the background, it may lose connectivity temporarily. When the app is foregrounded, it will reconnect and sync the changes.

☼, Kato

--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-talk+unsubscribe@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/1171bd16-7cda-4468-b3da-1f14058a2739%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Kato Richardson | Developer Programs Eng | kato...@google.com | 775-235-8398

Reply all
Reply to author
Forward
0 new messages