Backendless.UserService.isValidLogin Internal Client Exception SocketTimeoutException

Sometimes this works, sometimes it hangs.

Before deciding whether to load the user’s home screen or login screen I query

Backendless.UserService.isValidLogin();

And wait for the response. I was able to catch the exception but it did not provide an error code.
Http status code is: 400

BackendlessException{ code: ‘Internal client exception’, message: ‘null’ }

Let’s look at the fault:
BackendlessFault{ code: ‘Internal client exception’, message: ‘null’ }

detail:

java.net.SocketTimeoutException
at java.net.PlainSocketImpl.read(PlainSocketImpl.java:484)
at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
at com.android.okhttp.okio.Okio$2.read(Okio.java:140)
at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:211)
at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:316)
at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:310)
at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:206)
at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:239)
at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:104)
at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:1120)
at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:951)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:482)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getHeaders(HttpURLConnectionImpl.java:154)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getHeaderFields(HttpURLConnectionImpl.java:214)
at weborb.client.ioEngine.HttpIOEngine.storeCookies(HttpIOEngine.java:98)
at weborb.client.ioEngine.HttpIOEngine.send(HttpIOEngine.java:204)
at weborb.client.ioEngine.HttpIOEngine.invoke(HttpIOEngine.java:145)
at weborb.client.WeborbClient.invoke(WeborbClient.java:138)
at com.backendless.Invoker.invokeSync(Invoker.java:100)
at com.backendless.Invoker.invokeSync(Invoker.java:112)
at com.backendless.UserService.isValidLogin(UserService.java:813)
at com.mycompany.myapp.api.backendless.BackendlessApi$$Lambda$1.call(Unknown Source)
at rx.internal.operators.SingleFromCallable.call(SingleFromCallable.java:41)
at rx.internal.operators.SingleFromCallable.call(SingleFromCallable.java:29)
at rx.Single.subscribe(Single.java:1798)
at rx.Single$15$1.call(Single.java:1870)
at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:228)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)

Note that I am using the synchronous version OFF of the main thread.

Hi Ersin,

Did you notice any pattern for when it does not work? For instance, every Nth call times out… Is the app released or still in development? Finally, what is your application ID?

Regards,
Mark

I’ve just finished trying to spot a pattern with successive activity restarts and application restarts and app reinstalls but could not find one. The Android app(which experienced this problem) is yet to be released.
F4AB9DD4-4136-6617-FF6D-4E68FFCD0300

Were there any timeouts now?

No I did not experience a timeout with the tests mentioned above.

I see two possible reasons: either your connection was poor, or Backendless was unavailable for a while. You can check our uptime status at http://status.backendless.com/ and maybe it correlates with the dates when you experienced the timeouts.