instacart / truetime-android

Android NTP time library. Get the true current time impervious to device clock time changes
https://tech.instacart.com/truetime/
Apache License 2.0
1.41k stars 194 forks source link

Fatal Exception: io.reactivex.exceptions.UndeliverableException in version 3.4 #128

Open apexkid opened 4 years ago

apexkid commented 4 years ago

Facing the problem in version 3.4

Caused by java.io.IOException: sendto failed: EPERM (Operation not permitted)
       at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:576)
       at libcore.io.IoBridge.sendto(IoBridge.java:544)
       at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:125)
       at java.net.DatagramSocket.send(DatagramSocket.java:721)
       at com.instacart.library.truetime.SntpClient.requestTime(SntpClient.java:116)
       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:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:764)

Caused by android.system.ErrnoException: sendto failed: EPERM (Operation not permitted)
       at libcore.io.Linux.sendtoBytes(Linux.java)
       at libcore.io.Linux.sendto(Linux.java:227)
       at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:307)
       at libcore.io.IoBridge.sendto(IoBridge.java:542)
       at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:125)
       at java.net.DatagramSocket.send(DatagramSocket.java:721)
       at com.instacart.library.truetime.SntpClient.requestTime(SntpClient.java:116)
       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:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:764)
mariusgreve commented 4 years ago

I'm also facing the same issue, among others. @kaushikgopal I would assume this library is not being maintained anymore since the last release was almost 2 years ago? It would be great if this was stated in the README so people can be warned before using it.

kaushikgopal commented 4 years ago

We aren’t actively adding features to the library. But it’s still being maintained and we use this library in our apps daily.

kaushikgopal commented 4 years ago

Can you provide more details or similar observations. I’ve seen that error show up in emulators but not in real devices with good network connectivity.

You’ll have to provide more details to see if it’s a pattern others have observed or if anyone else has suggestions to address it.

anpez commented 4 years ago

It just happened to me on the Android emulator. Uninstalling the app and reinstalling fixed the issue.

anjalsaneen commented 3 years ago

We are having the same issue on production for 2 million users.

Screenshot 2020-11-12 at 10 35 58 AM Screenshot 2020-11-12 at 10 36 21 AM
Caused by java.io.IOException
sendto failed: EPERM (Operation not permitted)
libcore.io.IoBridge.maybeThrowAfterSendto (IoBridge.java:590)
java.net.DatagramSocket.send (DatagramSocket.java:721)
com.instacart.library.truetime.SntpClient.requestTime (SntpClient.java:116)
com.instacart.library.truetime.TrueTime.requestTime (TrueTime.java:133)
com.instacart.library.truetime.TrueTimeRx$4$1$2.subscribe (TrueTimeRx.java:211)
io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual (FlowableCreate.java:71)
io.reactivex.Flowable.subscribe (Flowable.java:14918)
io.reactivex.Flowable.subscribe (Flowable.java:14865)
io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run (FlowableSubscribeOn.java:82)
io.reactivex.internal.schedulers.ScheduledRunnable.run (ScheduledRunnable.java:66)
io.reactivex.internal.schedulers.ScheduledRunnable.call (ScheduledRunnable.java:57)
anjalsaneen commented 3 years ago

Have we got any update on this? it crossed 280 million instances for us in the last 90 days. Really appreciate if anyone can help here

Screenshot 2021-01-20 at 7 36 58 AM

@kaushikgopal

MomenZaq commented 3 years ago

Same problem here! Is there any update?