Re: DNS caching(?) page-hangup issues and Opera 10.X
Eirik Byrkjeflot Anonsen <[email protected]> Mon, 12 Jul 2010 09:19:37 +0200
| Newsgroups | gmane.comp.web.opera.linux |
|---|---|
| Message-ID | <[email protected]> |
Marek Marczykowski <[email protected]> writes: > On Sat, Jul 10, 2010 at 05:26:50PM -0700, Kenneth Crudup wrote: >> On Fri, 9 Jul 2010, Eirik Byrkjeflot Anonsen wrote: >> >> > Interesting. Now we know exactly where the problem appears. That is >> > definitely helpful. >> >> So, maybe they'll have some headway in the next daily? I mean, I've been >> waiting for Opera to decide it knows how to look up a hostname that it >> has already displayed *five times* before (seriously, I only hit "refresh"). > > I've give up with opera resolver some time ago (about 9.60 or earlier). > I have local proxy on my computer and pass all requests through it, > which works well as workaround. > Problems which I've found (most still present in 10.60): > - sometimes address is resolved to 127.0.0.1. I've got connect error > trying to load some page and strace shows connection to 127.0.0.1:80 > instead of proper IP (in same time "host", "dig", "w3m" and opera > through proxy connects to correct IP). When I start apache on > localhost it displays page from this apache! If you could find a way to (reliably) reproduce this, I'm sure we would love a bug report. > - different behaves on IPv4(public)+IPv6 and IPv4(private)+IPv6. > Example: I have some hosts which are reachable by IPv6 from > everywhere and IPv4 from restricted IPs. When I have IPv6 > connectivity - everything works as it should (connect through IPv6). > But when I haven't - it's trying to connect by IPv4 only it this > address is public. When I connect VPN (and the same name resolves as > private IP - see environment below) opera fails without trying to use > IPv4 address This I know very little about. Probably a bug report would be a good idea. A reliable way to reproduce would drastically increase the probability that it will be fixed. > - DNS cache on opera without option to manually flush (or disable) it - > when I switch network (or connect VPN) some hosts should resolve as > different IP (and checking with dig it works), but opera still uses > old addresses I don't know how much DNS caching opera does these days. I think it has been made fairly short now (probably in the minute or two range), precisely because DNS addresses sometimes do change these days. Note that opera is using getaddrinfo() (probably), while dig probably talks to DNS directly. This may make a difference. More importantly, as I have said earlier in this thread, opera will call getaddrinfo() repeatedly in the same process. If libc does not properly deal with network changes, opera will fail to look up addresses. You could try the c program I posted earlier. Start the program (with a suitable set of dns names) and once it has successfully looked up a name or two, switch networks (or turn on vpn) and see if the program starts failing just like opera does. (I should probably update that program to use getaddrinfo() instead of gethostbyname(), but hopefully they are both using the same underlying code...) eirik -- Opera-Linux: https://list.opera.com/mailman/listinfo/opera-linux More lists: https://list.opera.com/mailman/listinfo/ Unsubscribe: mailto:[email protected]?subject=unsubscribe