andriydruk / RxDNSSD

Android version of mDNSResponder
Apache License 2.0
297 stars 75 forks source link

[Bug]: Android 12 on Pixel causes "DNS-SD Error -65563: SERVICENOTRUNNING" #207

Closed crysxd closed 3 years ago

crysxd commented 3 years ago

What happened?

I'm using this library in my app and I start getting reports from Pixel devices running Android 12 with following error: DNS-SD Error -65563: SERVICENOTRUNNING

I already have this statement before interacting with the library, I read online this is supposed to combat the issue: context.applicationContext.getSystemService(Context.NSD_SERVICE)

The problem is unique to Android 12 and Pixel devices. Latter might well be biased due to the limited availability of the beta. I have a Pixel 4a with Android 12 here and can reproduce the issue with my app and Bonjour Browser.

(Small addition: I found one user in my analytics who used mDNS on Android 12, I don't know the device...so it seems like it might be Pixel related aferall)

Screen Shot 2021-08-21 at 16 39 11

Version

0.9.16

What API do you use?

Bindable (recommended)

What device / emulator do you use?

Pixel 4a

What Android API version is on your device?

30, Android 12 Beta 4

Relevant log output

2021-08-21 16:45:09.512 4828-4866/com.druk.servicebrowser E/DNSSD: Error: 
    com.github.druk.dnssd.AppleDNSSDException: DNS-SD Error -65563: SERVICENOTRUNNING
        at com.github.druk.dnssd.AppleService.ThrowOnErr(InternalDNSSD.java:662)
        at com.github.druk.dnssd.AppleBrowser.<init>(InternalDNSSD.java:714)
        at com.github.druk.dnssd.AppleDNSSD._makeBrowser(InternalDNSSD.java:567)
        at com.github.druk.dnssd.InternalDNSSD.browse(InternalDNSSD.java:126)
        at com.github.druk.dnssd.DNSSD.browse(DNSSD.java:142)
        at com.github.druk.rx2dnssd.Rx2DnssdCommon.lambda$browse$0$Rx2DnssdCommon(Rx2DnssdCommon.java:50)
        at com.github.druk.rx2dnssd.-$$Lambda$Rx2DnssdCommon$QgLQ4IhOGOuclSoDJz0EGMaBp40.getService(Unknown Source:6)
        at com.github.druk.rx2dnssd.Rx2DnssdCommon$DNSSDServiceAction.subscribe(Rx2DnssdCommon.java:247)
        at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
        at io.reactivex.Flowable.subscribe(Flowable.java:14935)
        at io.reactivex.internal.operators.flowable.FlowableDoFinally.subscribeActual(FlowableDoFinally.java:46)
        at io.reactivex.Flowable.subscribe(Flowable.java:14935)
        at io.reactivex.Flowable.subscribe(Flowable.java:14882)
        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:920)

Could you reproduce this issue in samples?

tmm1 commented 3 years ago

See https://github.com/andriydruk/RxDNSSD/issues/206#issuecomment-889968518

crysxd commented 3 years ago

Didn't check the closed issues obviously :D Will wait in patience :)

Thanks!