Thanks to detective work by a subscriber to dev.media (Tor-Einar Jarnbjo), we've found the cause of unexplained ICE (NAT-traversal) failures in WebRTC on Windows (bug 1107702). This may also affect the code in netwerk that tracks the network link status.
It turns out that 32bit Windows programs with the large-address-aware flag (to use >2GB of memory) will fail calls to GetHostByName/GetHostByAddress/GetAdaptersInfo/GetAdaptersAddresses *if* you're currently using >2GB of process memory (likely it's if the buffer you pass in is above the 2GB point). This bug (http://support.microsoft.com/en-us/kb/2588507) affects Vista/Server2008/Win7, and unfortunately seems to only be fixable by a user-installation of a hotfix. :-( We're pretty sure it's the cause of some previously-unexplained ICE failures in WebRTC/Hello. Since switching all Windows64 Firefox installs to 64-bit isn't on a short-term roadmap, and there is no reasonable technical workaround at the code level we know of, our only other options are to drop >2GB support in Windows (ouch) or lean heavily on Microsoft to ship the fix to all Windows users affected in their automatic updates. The only other idea I can think of would be to proxy all such uses to an entire separate *process*. I can't tell you how sick it makes me to suggest that... Anyone have a better idea? Or does anyone want to drop above-2GB support? -- Randell Jesup, Mozilla Corp remove "news" for personal email _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform