locked
IPV6 causes windows services to crash RRS feed

  • Question

  • My ISP supports IPV6 and a beta firmware for my ADSL modem that supports IPV6 became available recently. Since enabling IPV6 on my modem, I have had several windows services frequently stop working. As soon as I disable IPV6 on my modem and reboot my Win7 machines, the services no longer crash and the computer works correctly, although I obviously can't access IPV6 sites over the internet.

    To reproduce the problem, I do not need to change any settings in Win7. I do no disable IPV6 on the win7 machines in addition to the modem to stop the problem. Despite the modem no longer assigning an ipv6 address, when I check ipconfig, I see my links still have a "link-local ipv6 address", and this does not cause the windows services to crash. If I re-enable ipv6 on my modem and reboot my win7 machine without changing any configuration options, several windows services start crashing again.  This happens on both Win7 laptops I have at home, but I also have a Windows Vista and a linux machine which do not show any problems when IPV6 is enabled.

    Checking the Event Log on one of my Win7 machines, I see many events in the Windows Logs\System view that say:

    The Windows Audio service terminated unexpectedly. It has done this 4 time(s).

    The DHCP Client service terminated unexpectedly. It has done this 4 time(s).

    I get the same error for other services too, but rather than copying and pasting them all, I'll just list the services that keep crashing: Windows Audio, DHCP Client, Windows Event Log, HomeGroup Provider, Security Center, TCP/IP NetBIOS Helper.

    You might have noticed that even the Windows Event Log service is one that keeps crashing when I have a IPV6 address, so I had to manually start it in order to view the event log.

    I have found at least two other people who are reporting the same problems as me, at http://whrl.pl/RcG5wK

    Does anyone know of a solution to this problem?

    Monday, March 28, 2011 9:52 PM

All replies

  • The silence is deafening.

    I've got a new theory on what's going on. I noticed that all of the services I listed above run under the same PID, so if any one of them crashes, then all the rest get taken out too. My theory is that the router's new firmware is sending a DHCP response that is causing Win7's DHCP service to crash.

    I wouldn't have a clue how to go about confirming this though.

    Still, I think Microsoft needs to fix a few things. Firstly, a bad DHCP response shouldn't crash the dhcp service, assuming that's the problem. That's what input validation is for. Secondly, the whole point of different processes is that one process can not adversely affect other processes. Otherwise we may as well run everything as separate threads under a single process. Even web browsers are moving away from threads to separate processes, so flash crashing doesn't kill the browser too. So why are multiple windows services running under the same process? It's stupid that the event log and audio service crash because of something completely unrelated.

    Well, I feel a little better after venting, but I doubt anything will ever come out of this.

    Tuesday, April 5, 2011 10:30 PM
  • Sounds like your modem is to blame here.  I run native dual stack Windows 7, Vista, etc at home with a Cisco router and nothing crashes.  I use stateless autoconfig though and not DHCPv6 with prefix delegation.  IPv6 isn't remotely mature yet on consumer devices I'm not surprised that "beta" code is causing this.
    Matt W. CCNP, CCSP, CCDA, RHCT, MCSE, MCSA, MCP+I, A+
    Wednesday, April 6, 2011 2:02 PM
  • Hi Matt,  thanks for replying.  It's nice to know that at least someone is reading.

    I agree that IPv6 isn't mature on consumer devices and that it's not unexpected to have problems. However, Windows' IP stack and dhcp client service should be pretty mature and should not be crashing, in my opinion. In fact, it wasn't crashing on the older operating system, Visa, only on the newer one Win7, so it would appear that Microsoft made changes which introduced bugs. I found that after a week of running the beta firmware on the modem with ipv6 disabled (so ipv4 only), I started getting the same problem again, so it does not appear to be ipv6 specific.  I've had to downgrade to the ipv4 only, stable firmware on my modem.

    Elsewhere I was pointed to this post, which introduced me to the sc.exe program. Using it you can tell windows services to run in their own process, rather than in a shared process.  After telling the dhcp service to run in its own process, I confirmed it was the dhcp service crashing, and now the audio service, event log and other services no longer get taken out.

    If I view a web page with bad HTML that cuases the web browser to crash, I expect Word, Excel, Outlook, etc to keep running. Although I would also expect the web browser to have enough error checking to not crash. Similarly, if something were to cause the DHCP service to crash, I expect the Audio service to keep running. I think that it's unacceptable that those other services crash too.  While I'll accept the dhcp service crashing (as long as it doesn't take anything else out), really it should have enough input validation and error handling to gracefully shut down, allowing the other services running in the same process to keep running. Or simply ignore the bad data and keep running.

    I've been working as a software developer for nearly 10 years, so I'm not going to pretend it's a simple case of "if (!Validate(inputData)) dontCrash();", I know software can get rather complex. However, since I'm able to reliably reproduce this crash, I wish that Micorosoft would investigate and fix the problem.  I wouldn't have a clue how to report it to them though, particularly in a way they'd actually listen to.

    I was last up to date with networking in the late 90's, before routers were commonly available to home consumers. So, I'm not sure how to check if my router is using IPv6 stateless autoconfig, or IPv6 dhcp. There's no setting on the modem, and I don't know how to check windows' logs to find out how it got its ipv6 address. I just assumed it was using stateless autoconfig and dhcp was just for the ipv4 part of the dual stack.

    Sunday, April 10, 2011 12:00 AM
  • You, sir, are a champion. Is your CPE a Billion BIPAC VNOX (or similar) running firmware 6.21.rc3.dg1 by any chance?


    The fix, in baby steps:

    • Start -> All Programs -> Accessories -> *right click* on Command Prompt -> run as administrator
    • Type exactly this, including the random space that looks like it doesn't belong:

    sc.exe config dhcp type= own

    Tuesday, April 12, 2011 9:54 AM
  • You, sir, are a champion. Is your CPE a Billion BIPAC VNOX (or similar) running firmware 6.21.rc3.dg1 by any chance?


    The fix, in baby steps:

    • Start -> All Programs -> Accessories -> *right click* on Command Prompt -> run as administrator
    • Type exactly this, including the random space that looks like it doesn't belong:

    sc.exe config dhcp type= own

    Version 6.22a.dg3 of the firmware fixed it for my 7404VNPX. Though this doesn't preclude Microsoft investigating why a DHCP packet can crash the client (and other bundled services) trivially.
    Monday, June 13, 2011 12:46 PM