truetime-android icon indicating copy to clipboard operation
truetime-android copied to clipboard

Facing SocketTimeoutException on emulator with 3.4 build version

Open apexkid opened this issue 5 years ago • 7 comments

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";

apexkid avatar Nov 27 '18 14:11 apexkid

Also experiencing this issue which seems to be occurring on ipv6 addresses.

jamesrapadmi avatar Mar 07 '19 15:03 jamesrapadmi

Any update would be great. Been 4 months. :)

apexkid avatar Mar 10 '19 12:03 apexkid

It's an issue with "time.google.com" and IPv6. I resolved this issue by pointing to "time.apple.com" instead. 🤦‍♂️

dradding avatar May 19 '19 16:05 dradding

"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.

jamesrapadmi avatar May 20 '19 08:05 jamesrapadmi

@kaushikgopal Please help.

apexkid avatar Sep 05 '19 21:09 apexkid

I have tried with both time.apple and time.google and this error comes. On emulator as well as device.

apexkid avatar Sep 10 '19 19:09 apexkid

I am getting this error using Rx-version. Vanilla version works just fine.

stAyushJain avatar Feb 07 '23 16:02 stAyushJain