Page MenuHomePhabricator

Difficulties reaching IPv6-enabled sites (bugzilla, lists) in Opera, Chrome on some systems
Closed, DeclinedPublic


Got a report from a Linux user of inability to reach Bugzilla in Opera; I was able to reproduce this on my Mac.

Some of our side sites such as:

are advertising IPv6 addresses in DNS. In at least some circumstances, Opera appears to attempt to connect over IPv6 even if there isn't a functional IPv6 link to the outside internet. (On my Mac, the only working IPv6 around is for the ZeroConf .local network.) The connection fails, but Opera just sort of stalls and gets confused instead of something sensible like falling back to IPv4.

Confirmed problem in Opera 9.54 and 9.63 for Mac.

This newsgroup post describes the issue on WinXP with IPv6 enabled:

Would be good if we can make sure this is getting fixed upstream in Opera, or have some standard workaround directions we can provide.

Version: unspecified
Severity: enhancement



Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:25 PM
bzimport added projects: DNS, Upstream.
bzimport set Reference to bz17140.
bzimport added a subscriber: Unknown Object (MLST).

Getting ipconfig / ifconfig output would be useful.

  1. One thing to check if there is a local interface IPv6 address assigned, something like:


  1. Another check would be whether one has a global IPv6 assigned, like:

2001:0DB8::A01/64 or whatever.

  1. Another check is if you have IPv6 DNS server address in /etc/resolv.conf or ipconfig output on Windows.

If #2 is true, and we have no real IPv6 connectivity, then there is no way for the system to figure out whether you actually have or have not a working global IPv6 (unless to fallback on TCP timeout that application does not have to do really)

If only (1) is true, then getaddinfo(3) invoked with ai_flags |= AI_ADDRCONFIG should be able to find out that
we don't have a working IPv6 connectivity. It would be useful to findout whether:

  • opera uses getaddrinfo(3) at all
  • if yes, does it supply AI_ADDRCONFIG flag

If not, it is quite possible that the IPv4/IPv6 protocol selection logic is simply wrong. Most of the libc implementations use quite complex logic to determine whether IPv6 actually works.

overlordq wrote:

tracert to three hosts (svn/lists/bugzilla)

FWIW I only have problems for the hosts in knams (svn/lists), bugzilla works fine for me.


overlordq wrote:

Oops, posted that before I realized this bug was Opera specific. Behavior I posted about above was observed with FF.

On my Mac at the office, I've only got fe80:* local IPv6 addresses. Note that IPv4 has a reserved local address, as this is on a NAT'ed LAN.

IPv6 works on the LAN....

$ ping filesrv1.local
PING filesrv1.local ( 56 data bytes
64 bytes from icmp_seq=0 ttl=64 time=14.417 ms

$ ping6 filesrv1.local
PING6(56=40+8+8 bytes) fe80::21e:c2ff:fea5:98d1%en1 --> fe80::21a:a0ff:fe0e:27bf%en1
16 bytes from fe80::21a:a0ff:fe0e:27bf%en1, icmp_seq=0 hlim=64 time=5.546 ms

But there's no external connectivity via v6:

$ host is an alias for has address has IPv6 address 2620::860:2:230:48ff:fe71:5cf6

$ ping
PING ( 56 data bytes
64 bytes from icmp_seq=0 ttl=46 time=93.758 ms

$ ping6
ping6: UDP connect: No route to host

The system seems to be quite aware that there's no v6 route available to the outside; problem seems to be that whatever Opera's doing to connect, it's not figuring out that it should fall back to v4 which does have a perfectly good route. It *should* fail out immediately; there's no need to time out waiting for packets to fail to come back, you just plain don't have a route to send to.

I'm seeing the same with the Google Chrome beta on my MacBook. :(

Brion, can you try to check if 6to4 is working from your office? Opera uses 6to4 by default to connect to IPv6 sites
(I don't know for Chrome).

If this is a 6to4 problem, can you try reaching (traceroute) from your site?

Can you dump your routing table (I think "route -n" should work)?

Also, some samples of traffic sniffed with "tcpdump -s 0 -w file" would be useful (you might want to send those privately)


Might be related to Opera < 10.5 use of 6to4 or teredo instead of IPv4 to reach IPv6 sites. Upgrade should fix it (or enabling Teredo connectivity).

Please reopen if this is still the issue with newer Operas esp. on MacOSX. For other browsers I think we should have a different bug.