Skip to content
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

Image loading fails if ipv6 is available but can't connect #797

Closed
harikattar opened this issue Mar 4, 2020 · 4 comments
Closed

Image loading fails if ipv6 is available but can't connect #797

harikattar opened this issue Mar 4, 2020 · 4 comments
Labels
bug Something isn't working cantfix This is not a solvable problem by the dev

Comments

@harikattar
Copy link

I spent some time tracking down why it fails on some networks but works on others while browsers always work: if ipv6 is available but unreachable, kuroba never retries on ipv4.

Test at will by null routing i.4cdn.org ipv6 only, images will refuse to load but 'open in browser' pops up with a very short delay. If you have a router you control, add 2606:4700::6810/96 (i.4cdn.org) to a firewall blocklist.

This is 100% repeatable if you have working ipv6 to compare with.

@Adamantcheese Adamantcheese added bug Something isn't working cantfix This is not a solvable problem by the dev labels Mar 5, 2020
@Adamantcheese
Copy link
Owner

So here's my research rundown:
Image loading is currently done with Volley. This is due to be removed (see #237) so we're just using one HTTP library afterwards, OkHttp. However even if we completely move to OkHttp, this problem likely won't be resolved because of square/okhttp#506, which basically boils down to OkHttp not currently having the fallback mechanism used in normal browsers (send requests on both IPv4 and IPv6, use the one that returns first).
There's nothing that we as devs can do really, at least in the scope of the project. I would advise that you change your network setup somehow, but I don't even know if that would help.

Sorry, but that's just how it is. I do appreciate you looking thoroughly into this however so I could give a good response.

@K1rakishou
Copy link

K1rakishou commented Mar 5, 2020

@Adamantcheese
Copy link
Owner

The default Mode.SYSTEM should attempt all addresses in order, going to the next one if it does not succeed. I'm more likely to blame a network configuration issue rather than OkHttp on this one, and I'd rather not disable IPv6 if not necessary.

@K1rakishou
Copy link

K1rakishou commented Mar 5, 2020

I still think we should add a setting to disable this shit along with HTTP/2 (two separate settings). If either of them helps the users who can't load images - great. If not then, well, at least we tried.

and I'd rather not disable IPv6 if not necessary.

Where I live there are like two ISPs countrywide that provide IPv6 support. I bet my country is not the only one. Which means disabling ipv6 should be fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cantfix This is not a solvable problem by the dev
Projects
None yet
Development

No branches or pull requests

3 participants