truetime-android
truetime-android copied to clipboard
Facing SocketTimeoutException on emulator with 3.4 build version
2018-11-25 19:02:07.102 19915-20096/com.tl.dialog D/SntpClient: ---- SNTP request failed for 2001:4860:4806:8::
2018-11-25 19:02:07.105 19915-20096/com.tl.dialog E/TrueTimeRx: ---- Error requesting time
java.net.SocketTimeoutException: Poll timed out
at libcore.io.IoBridge.poll(IoBridge.java:691)
at java.net.PlainDatagramSocketImpl.doRecv(PlainDatagramSocketImpl.java:149)
at java.net.PlainDatagramSocketImpl.receive0(PlainDatagramSocketImpl.java:140)
at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:143)
at java.net.DatagramSocket.receive(DatagramSocket.java:847)
at com.instacart.library.truetime.SntpClient.requestTime(SntpClient.java:123)
at com.instacart.library.truetime.TrueTime.requestTime(TrueTime.java:133)
at com.instacart.library.truetime.TrueTimeRx$4$1$2.subscribe(TrueTimeRx.java:211)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:72)
at io.reactivex.Flowable.subscribe(Flowable.java:14409)
at io.reactivex.Flowable.subscribe(Flowable.java:14356)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Initialization code:
mTrueTime =
TrueTimeRx.build()
.withLoggingEnabled(true)
.withConnectionTimeout(60 * 1000)
.withServerResponseDelayMax(1000)
.withRootDispersionMax(130);
mTrueTime
.initializeRx("time.google.com")
.subscribeOn(Schedulers.io())
.subscribe(
date -> {
mIsInitializing = false;
Log.v(TAG, "TrueTime was initialized and we have a time: " + date);
},
throwable -> {
mIsInitializing = false;
Log.e(TAG, "NTP failed: ", throwable);
}
);
implementation "com.github.instacart.truetime-android:library-extension-rx:3.4";
Also experiencing this issue which seems to be occurring on ipv6 addresses.
Any update would be great. Been 4 months. :)
It's an issue with "time.google.com" and IPv6. I resolved this issue by pointing to "time.apple.com" instead. 🤦♂️
"time.apple.com" is orders of magnitude slower, which is why I created a pull-request that allows disabling IPv6. This also fixes the issue.
@kaushikgopal Please help.
I have tried with both time.apple and time.google and this error comes. On emulator as well as device.
I am getting this error using Rx-version. Vanilla version works just fine.