locked
Possible memory leak in IP stack, how to debug or report? RRS feed

  • Question

  • Hi,

    I'm running Windows 7 Professional SP1 64 bit, and have the National Instruments VISA system installed, which includes a background service that periodically scans for new devices and queries data from them. As the network here has several of these devices, the service opens and closes TCP sockets at a rate of approximately two per second.

    After the system has been running for some time, I can see that this process has significantly more nonpaged memory assigned to itself than any of the others:

    At some point, WinSock starts running out of buffer memory, and the networking subsystem becomes very brittle (network shares report errors, IE proxy autoconfig fails, domain controller connection is lost), but does not fail completely.

    Is this permitted or expected behaviour for a long-running process actively opening many network connections, or might this be a bug in Windows? If the latter, what is the proper procedure for reporting it?

       Simon

    Wednesday, October 10, 2012 2:05 PM

Answers

  • Hi,

    OK.

    I think you need to contact the application publisher to investigate what happen. It is a better way to figure it out since your problem involves a 3rd party application.


    Juke Chou

    TechNet Community Support

    • Marked as answer by Juke Chou Wednesday, November 7, 2012 2:01 PM
    Tuesday, October 16, 2012 7:02 AM

All replies

  • Hi,

    A process that is leaking memory might be creating a large number of threads; these appear when the process starts and disappear when the process stops. I think the service has problems with itself. Normally, this means that your program is too slow in receiving and processing the data. I suggest you contact the software publisher for further help.

    Meantime, you could try to set a registry key named HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters\DynamicSendBufferDisable (DWORD)
     
    Setting it to zero forces winsock to use larger buffers for a workround. I donot ensure it could work.

    TechNet Subscriber Support
    If you are TechNet Subscription user and have any feedback on our support quality, please send your feedbackhere.


    Juke Chou

    TechNet Community Support

    Thursday, October 11, 2012 7:52 AM
  • Hi,

    the process has seven threads, and this number remains constant over time. The amount of data received is negligible, and total CPU consumption remains well below 1%. I'm trying with DynamicSendBufferDisable now (are you sure that I should set it to zero, as the naming of the key suggests that setting this flag will disable the dynamic buffer?).

    Thanks,

       Simon

    Monday, October 15, 2012 8:18 AM
  • Hi,

    okay, I've tested with DynamicSendBufferDisable = 0, no change in behaviour.

       Simon

    Monday, October 15, 2012 12:34 PM
  • Hi,

    OK.

    I think you need to contact the application publisher to investigate what happen. It is a better way to figure it out since your problem involves a 3rd party application.


    Juke Chou

    TechNet Community Support

    • Marked as answer by Juke Chou Wednesday, November 7, 2012 2:01 PM
    Tuesday, October 16, 2012 7:02 AM