-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] OS list download failures result in no device list, no warning #809
Comments
Just to confirm - how have you installed 1.8.5 - did you use the dmg from our release page? |
Actually I installed the Trying again today, by installing the newest |
The only way I can see to reproduce your failure is to introduce a network discontinuity during the OS list download. In that case, we should probably do something better than we do today - so I'm going to keep this bug open, but slightly rewrite the title. Do you know if you were moving from a dock or similar as you opened the application? |
|
Having the same problem (Macbook Pro 2021 M1 Max, Sonoma 14.3.1). I've tried the latest version (1.8.5) and a few previous versions, but they all behave the same.
running it
I get the same as the first screenshot in this ticket. If I try to explicitly add
I have also tried enabling and disabling the 'run with rosetta' option, in case it had something to do with intel/mac compatibility. |
You always get the "qt.tlsbackend.ossl: Failed to load libssl/libcrypto." so that is not the problem. If you wait for a minute, does it give any other output lines? |
Ok, if I let it run, and after 6 minutes, it worked. After some investigation, I have settled on the fact that it's an ipv6 issue, for if I switch to a terminal and do:
It would appear that ipv6 is not functioning on the network I'm on, so it's a problem on my end. Thanks! |
Yeah, that's a bit of a problem on RPI's side as well.
If the client THINKS it has IPv6 connecitivy (as in it does have an IPv6 address assigned, but it is not actually working), it will try out ALL the IPv6 addresses first before falling back to IPv4. So it will have to time out 12 times first(!), in this case... |
A little too much redundancy :) |
Thanks for the debug, @maxnet I'm not sure this adds up, though. Qt implemented the Happy Eyeballs algorithm with Qt5, so I might have expected QNetworkAccessManager or equivalent to follow that host selection mechanism: https://codereview.qt-project.org/c/qt/qtbase/+/1003 Failing in this manner suggests our HTTP client isn't actually using the HE algorithm, which would almost certainly be an exotic bug that @barryoneill has identified (good catch!) - assuming that v4 connectivity was OK. |
Best algorithm name ever! 😂 |
Confirmed that v4 connectivity is virtually instant for me. |
Unfortunately this looks fairly intractable. I took an hour to dive in to how they've implemented Happy Eyeballs, and noticed two things:
Essentially it looks like in cases where IPv6 routing is subtly broken, Qt will enforce a ~5 minute delay. Which actually correlates with @barryoneill's sleuthing above. I'm going to mark this bug as something to look at for 2.0. I'm not happy at all with how Qt has implemented this. |
Sad Eyeballs 👀 😢 |
Had the same issue it seems like if you have ipv6 enabled in router settings it causes this bug. I've turned off ipv6 in my settings and it worked right after. |
@Karim9833 Glad that resolved the problem for you. Unfortunately, flakey IPv6 support appears to be more harmful than no IPv6 support - at least as far as Qt applications are concerned. |
Note that delayedConnectionTimer is a QTimer. So suggest you double check if Qt is really to blame ;-) |
I concluded investigations in this area ~3 months ago, at which point the lack of flexibility in Qt's networking implementation (specifically, in terms of offering a user the ability to force IPv4 for their situation) and the baroque form of the implementation caused me to consider a more conventional alternative - libcurl, which has a much stronger claim for cross-platform support, testing and ongoing attention. I could of course be convinced that this is the wrong direction - but the proposed alternative would have to show a better track record of support than the one offered by the curl project. |
libcurl also has write-once-debug-everywhere problems. |
As does Qt - so the evidence bar has not been cleared. |
Describe the bug
The dropdowns for
Choose device
andchoose os
does not seem to work.To Reproduce
Raspberry Pi Imager: v1.8.5
macOS: Apple M3 Pro - Sonoma 14.3
Expected behaviour
For the app to work.
Screenshots or video
Desktop (please complete the following information):
The name of the OS you are trying to write
N/A
Are you using OS Customisation?
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: