Microsoft KB Archive/132434

{|
 * width="100%"|

BUG: Invalid Default Interface for IP Multicasting Causes Crash

 * }

Q132434

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK), versions 3.5, 3.51

-

SYMPTOMS
Changing the default interface for IP multicasting if the interface is not valid for the machine causes Windows NT to crash (stop responding) on the Intel x86 platform.

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

A fix to this problem is in development, but has not been regression-tested and may be destabilizing in production environments. Microsoft does not recommend implementing this fix at this time. Contact Microsoft Product Support Services for more information on the availability of this fix.

MORE INFORMATION
Each multicast transmission is sent from a single network interface, even if the host has more than one multicast-capable interface. A socket option is available to override the default for subsequent transmissions from a given socket. For example

unsigned long addr = inet_addr("12.13.14.15"); setsockopt(sock, IPPROTO_IP, IP_MULTICAST_IF, (char *)&addr, sizeof(addr))

where "addr" is the local IP address of the desired outgoing interface. An address of INADDR_ANY may be used to revert to the default interface.

NOTE: In the above case although the IP address is a "legal" address, if it does not belong to the machine, the following behavior occurs depending on what platform is being used:


 * Windows NT crashes (stops responding) on the Intel x86 platform.
 * Windows NT locks up on the MIPS platform.
 * No adverse effect occurs on the ALPHA platform.

There is no adverse effect (regardless of the platform) if the machine actually "owns" the IP address.