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

Reply via email to