jbagg / QtZeroConf

Qt wrapper class for ZeroConf libraries across various platforms.
Other
69 stars 51 forks source link

SIGABRT on iOS #44

Open mzanetti opened 3 years ago

mzanetti commented 3 years ago

I've updated my fork to the latest master and I'm reproducibly hitting an assertion in QFCSocketNotifier on iOS 14

image

https://code.woboq.org/qt5/qtbase/src/corelib/kernel/qcfsocketnotifier.cpp.html#174

This seems to have been introduced with commit 9d7b114e6aba6ff6fc54259cd89fdc159c15c60b as reverting that one gets around it.

jbagg commented 3 years ago

Thank you for the call stack. I'll have a look through it. I have a iPhone 3 and 05 mac book. Hopefully I can re-produce the issue on one of them. What are you doing to trigger the issue?

mzanetti commented 3 years ago

When the app starts I create 2 service browsers right away which are then just monitoring the network. It works for a while, popping up the services it finds in the network, but then after some 5 - 15 seconds at latest it runs into this assertion.

Here's the code I'm using. When starting the app it will instantiate one instance of this class: https://github.com/nymea/nymea-app/blob/master/libnymea-app/connection/discovery/zeroconfdiscovery.cpp

I hand't noticed it for a while because I just tested the update with Jenkins produced release builds. Last night I needed to work on an iOS specific and created debug builds which have the assertion. Presumably it "just" leaks some memory in release builds but isn't aborting.

jbagg commented 3 years ago

I updated to an iphone 6 and a 09 macbook, so now I can build ios apps using Qt 5.12 / Xcode 9.4.1 (highest that will run on macOS 10.13.6). Unfortunately I am unable to reproduce the issue. I think the highest sdk I can use is v11. Can you try using an older sdk and see if the issue persists? Also, What version of Qt are you using when the issue happens?

mzanetti commented 3 years ago

I don't think I can downgrade as the latest iPhone will require latest XCode which in turn requires latest macOS... If possible at all, that would require to downgrade the iPhone and reinstall the macOS and XCode from old versions... Perhaps possible, but honestly I don't think I can spend that much time on it anytime soon. What I can offer is to do some test runs for you with the latest stuff if you need that.

For the Qt version, I'm on 5.15.2 currently.