Fiddler memory issues

21 posts, 0 answers
  1. Adam
    Adam avatar
    5 posts
    Member since:
    Feb 2014

    Posted 10 Feb 2015 Link to this post

    I've been experiencing issues where Fiddler will slowly grow it's memory footprint over time from a reasonable amount to > 4GB and where I then need to kill it to free up memory.  It does not seem to matter if it is actually capturing data, how many sessions it has set to save or whether or not I'm even doing any browsing for it to capture.

    I ran a test with it just prior to submitting this.  I opened it up and captured some data to the point where it had around 200Mb of memory usage according to Task Manager.  I then stopped capturing data, set Sessions Saved to 100, cleared all data in Fiddler (both via Ctrl + X and via the 'X' button in the toolbar) and then stopped browsing or doing anything on my PC.  I watched the memory climb from 200Mb to 1500Mb over the next minute or two at which point I closed it.

    Is anyone else experiencing these issues?  I'm running Windows 8.1 Pro and have had similar issues on two different computers (home dev machine and my work PC).

  2. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 10 Feb 2015 Link to this post

    Hi, Adam--

    To understand what you're seeing, I'll need you to answer a few questions:

    0. How much physical memory is on the system in question?
    1. What version of Fiddler do you have? (Help > About)
    2. What setting do you have for "Tools > Fiddler Options > If client aborts while streaming"?
    3. In the scenario below, what is logged when you type !memory and hit enter in the QuickExec box below Fiddler's Web Sessions list?
    4. Do you have any 3rd party Fiddler add-ons installed?
    5. Is there any data being logged to the LOG tab (e.g. mention of errors, etc) as memory usage grows?
    6. What network-using applications does your system have? E.g. do you have DropBox/OneDrive/etc configured to sync your files?

    One important thing to understand is that the .NET Framework doesn't necessarily perform garbage collection unless the system is under memory pressure; if you have gobs of free memory available, it's willing to use it. One trick to help induce Fiddler to release unneeded memory is to minimize it using the minimize button at the top right.

    Regards,
    Eric Lawrence
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  3. Adam
    Adam avatar
    5 posts
    Member since:
    Feb 2014

    Posted 11 Feb 2015 in reply to Eric Lawrence Link to this post

    Eric,

    Thanks for the help.  Answers to your questions are below:

    0. 8GB
    1. v4.4.9.9 (64-bit)
    2. "finish if Session is visible"
    3. I ran it when Fiddler was up to about 2,250MB of RAM in Task Manager
    10:56:29:2632 MEMORY ANALYSIS
    Process Bitness: 64
    PRE-GC
    GCAllocated: 2,314,758,856
    VirtualMemory: 2,386,059,264
    WorkingSet: 2,409,500,672
    4. Not that I'm aware of.  This is a fresh upgrade and I haven't installed any add-ons myself.
    5. I'm seeing a whole bunch of logs similar to the one below.
    No HTTPS request was received from (chrome:4552) new client socket, port 56568
    6. I use DropBox, OneDrive, 

    I also noticed that at this issue seems to be specific (although not limited to) to a site running on my machine.  I say not limited to because I've seen at least a very similar issue on a different PC and that didn't have this site.  I've tested a second local site as well and it's not occurring for that site.  Both are .NET MVC sites hosted in IIS so I'm not sure what would be causing one to create so many issues for Fiddler.  Basically once I hit the login page locally, Fiddler starts throwing out the HTTPS logs and memory starts spiking.  Any ideas?
  4. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 11 Feb 2015 Link to this post

    Hi, Adam--

    Thanks, this is helpful. When you ran !memory, it should have created two sections, one titled PRE-GC and one titled POST-GC. We're mostly interested in looking at the difference between those two numbers.

    When you say "whole bunch of logs", how many are we talking? Dozens? Millions? If you clear the Log and run !memory again, is there any change?

    Did you configure your system to trust Fiddler's root certificate? Do you see HTTPS traffic from Chrome in the Web Sessions list?

    In the scenario where you see memory growth, if you use Help > Troubleshoot... do you see a large number of red/struckout entries appearing in Fiddler's Web Sessions list?

    Regards,
    Eric Lawrence
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  5. Adam
    Adam avatar
    5 posts
    Member since:
    Feb 2014

    Posted 11 Feb 2015 in reply to Eric Lawrence Link to this post

    Sorry - I must have deleted the second half on accident.  Here are new !memory logs:

    PRE-GC
    GCAllocated: 1,568,520,480
    VirtualMemory: 1,653,518,336
    WorkingSet: 1,675,415,552

    POST-GC
    GCAllocated: 1,563,494,480
    VirtualMemory: 1,637,924,864
    WorkingSet: 1,659,637,760

    When I say a bunch, a dozen is probably average.  I also noticed they tend to appear early on and then stop.  So I'll get all 12 or so in the climb up to 500MB and then nothing after that as memory usage continues to climb.

    Clearing the logs has no affect on memory usage. 

    The system is set to trust Fiddler's root cert.  Both the sites I have running locally are accessed only through HTTPS.  I see the HTTPS traffic when I initially hit the page but nothing (from that site) afterwards.  When I enable the Help -> Troubleshoot option I see a few (9 in total) struck-out entries but nothing from the site in question.

    - Adam
  6. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 12 Feb 2015 Link to this post

    Hello, Adam--

    This is quite fascinating-- it strongly suggests that Fiddler is holding on to ~1.5gb of traffic unexpectedly. That's a super-interesting finding and I'd love to figure out what's going on.

    Do you have the Streaming button set in Fiddler's toolbar? Do your scenarios include any sort of audio or video?

    I don't suppose we'll be very lucky and find out that you're a .NET Developer who has used JustTrace, ANTS Profiler, or any other sort of memory profiling tool?

    Normally, it'd be awesome to get a DMP of the memory from the process, but it would probably be at least several hundred megabytes when compressed.

    If you're up for it, you might try downloading DebugView and running it. With Fiddler running, untick File > Capture Traffic and verify that memory usage is still growing unexpectedly. Then type !spew and hit Enter in Fiddler's QuickExec box. Fiddler will begin spewing verbose logging information to DebugView, including all reads and writes to/from the network. This is almost certain to turn up the source of the missing memory.

    Thanks,
    Eric Lawrence
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  7. Adam
    Adam avatar
    5 posts
    Member since:
    Feb 2014

    Posted 13 Feb 2015 in reply to Eric Lawrence Link to this post

    Eric,

    I was set up to use DebugView to see what was going on and the issue mysteriously vanished.  I can no longer reproduce the memory creep that I was seeing before.  Something obviously changed but I have no idea what.  If it starts up again I'll post the results back here.

    Otherwise thanks for the help!

    - Adam
  8. Adam
    Adam avatar
    5 posts
    Member since:
    Feb 2014

    Posted 13 Feb 2015 in reply to Eric Lawrence Link to this post

    The issue started up again this afternoon.  I've included a link to the log file from DebugView below.  I see what appears to be a repeating connection error but I'm not sure what would be causing it.

    https://www.dropbox.com/s/rnd1n9fyd0k24j8/Fiddler%20Memory%20Issue.LOG?dl=0
  9. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 13 Feb 2015 Link to this post

    Thanks, Adam-- There's not nearly enough in this log to account for the memory usage you're reporting. I'll keep investigating based on what we know so far.

    Regards,
    Eric Lawrence
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  10. Ricardo
    Ricardo avatar
    3 posts
    Member since:
    Aug 2015

    Posted 17 Aug 2015 Link to this post

    Hi!

     I'm having the same issues.

    This only happens when I'm using several IIS sites and some IIS express at the same time and It's a nightmare because it goes beyond 10GB+ and starts shuting down sql databases and such.

  11. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 17 Aug 2015 Link to this post

    Hello,

    Unfortunately, saying "I'm having the same issues" doesn't do anything to help resolve the problem. What, specifically, have you tried so far? What do you have the "Keep Only" setting in Fiddler's Toolbar set to? What is the output from the !memory diagnostic run in the QuickExec box?

    Regards,
    Eric Lawrence
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items

     I'm having the same issues.
  12. Ricardo
    Ricardo avatar
    3 posts
    Member since:
    Aug 2015

    Posted 18 Aug 2015 in reply to Eric Lawrence Link to this post

    Hi! I understand and I'll help in anything I can. 

     In the Keep Only I have 100 sessions.

    !memory gives the following output when I was experiencing a slow non-stop in memory increase by fiddler:

     13:09:03:4358 MEMORY ANALYSIS
    Process Bitness: 64
    PRE-GC
    GCAllocated: 5 754 838 608
    VirtualMemory: 5 944 950 784
    WorkingSet: 5 965 074 432

    POST-GC
    GCAllocated: 5 795 679 968
    VirtualMemory: 5 912 428 544
    WorkingSet: 5 931 208 704

     

    Here's the memory reported by task manager:

    http://i.imgur.com/0uJPQe6.png

     

    When this is happening Visual Studio 2013 in debug is using 1 maxed core and after I close fiddler it returns to 1-2% usage so my bet is that it has something to do with the debuger. 

     

  13. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 18 Aug 2015 Link to this post

    Hi, Ricardo--

    The "GCAllocated" of 5gb means that Fiddler is literally storing 5 gigabytes of traffic.

    You mention that you're using Visual Studio 2013... are you doing so to debug a website, using "BrowserLink" or a similar technology? Some users have reported that this causes a huge amount of memory use as BrowserLink sends an endless stream of messages back-and-forth.

    With the "Keep only" feature disabled, do you see any WebSockets in Fiddler's Web Sessions list? If so, double-click one of them to open the WebSockets view. Are there a large number of messages?

    Thanks,
    Eric Lawrence
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  14. Ricardo
    Ricardo avatar
    3 posts
    Member since:
    Aug 2015

    Posted 18 Aug 2015 in reply to Eric Lawrence Link to this post

    Hi!

     Disabling "BrowserLink" solved the fiddler memory problems.

     I'm sorry but I didn't understand the websockets request. How do I identify them in the sessions list? For now I'm OK since I don't really need "BrowserLink" but if you want me to check anything for you just ask.

  15. Eric Lawrence
    Admin
    Eric Lawrence avatar
    832 posts

    Posted 18 Aug 2015 Link to this post

    Hello,

    Yes, BrowserLink is based on SignalR, which uses WebSockets as one of its transports. If disabling browserlink is fine by you then no further action is required.

    Fiddler shows WebSocket traffic in a Session with a small "socket" icon; see the "WebSockets" section of http://www.telerik.com/blogs/what-s-new-in-fiddler-4-5. 

    (FiddlerScript can be used to disable the parsing of WebSocket messages on BrowserLink-related connections; you'd just set oSession["x-no-parse"] on WebSocket sessions that are pointed at the local BrowserLink endpoint.)

    Regards,
    Eric Lawrence
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  16. Andreas
    Andreas avatar
    6 posts
    Member since:
    May 2017

    Posted 30 May Link to this post

    Dear Guys,
    For some weeks now, I often have severe memory problems with Fiddler. Fiddler takes all memory, then all other applications need to access the pagefile and quickly the system becomes unusable.
    * I don't stream any audio or video.
    *  "Keep only" is set to 100.
    * To me, it seems this is somehow correlated to Windows downloading some update packages. Not sure, though. 
    Fiddler Version:
    v4.6.20171.7553
    Built: Fr, 27. Jan 2017
    64-bit AMD64, VM: 49,0mb, WS: 84,0mb
    .NET 4.6.2 WinNT 10.0.15063.0

    If client aborts while streaming, finish if session visible

    !memory in QuickExec Box gives:
    11:57:33:4986 Fiddler.Network.ProtocolViolation - [#278] The Request's Host header did not match the URL's host component.
    URL Host: a-0020.a-msedge.net
    Header Host: officecdn.microsoft.com
    11:57:33:6278 Fiddler.Network.ProtocolViolation - [#279] The Request's Host header did not match the URL's host component.
    URL Host: a-0020.a-msedge.net
    Header Host: officecdn.microsoft.com
    11:57:33:7550 Fiddler.Network.ProtocolViolation - [#280] The Request's Host header did not match the URL's host component.
    URL Host: e1723.dscd.akamaiedge.net
    Header Host: officecdn.microsoft.com
    11:57:33:9009 Fiddler.Network.ProtocolViolation - [#281] The Request's Host header did not match the URL's host component.
    URL Host: e1723.dscd.akamaiedge.net
    Header Host: officecdn.microsoft.com
    12:09:15:5155 fiddler.network.readresponse.failure> Session #346 raised exception System.Net.Sockets.SocketException Eine bestehende Verbindung wurde softwaregesteuert
    durch den Hostcomputer abgebrochen
    12:09:15:5155 fiddler.network.readresponse.failure> Session #347 raised exception System.Net.Sockets.SocketException Eine bestehende Verbindung wurde softwaregesteuert
    durch den Hostcomputer abgebrochen
    12:13:38:7092 fiddler.network.readresponse.failure> Session #352 raised exception System.Net.Sockets.SocketException Eine bestehende Verbindung wurde softwaregesteuert
    durch den Hostcomputer abgebrochen
    12:13:38:7092 fiddler.network.readresponse.failure> Session #353 raised exception System.Net.Sockets.SocketException Eine bestehende Verbindung wurde softwaregesteuert
    durch den Hostcomputer abgebrochen
    12:14:03:7589 MEMORY ANALYSIS
    -= Fiddler Memory Usage =-
    Process Bitness: 64
    OS Version: 10.0.15063.0
    CLR Version: 4.0.30319.42000
    LOH Compact: Supported
    The Web Sessions list contains 101 Sessions, accounting for:
     137.036 bytes of headers
     3.152.234 bytes of bodies
     0 bytes of WebSocket messages
    -PRE-GC-
     GCAllocated: 13.348.669.776
     VirtualMemory: 14.230.929.408
     WorkingSet: 2.936.229.888
    -POST-GC-
     GCAllocated: 9.598.081.592
     VirtualMemory: 9.817.096.192
     WorkingSet: 1.418.104.832
    -= System Memory Info=-
     Total Physical: 8.501.952.512
     Available: 3.918.082.048
     Total Virtual: 140.737.488.224.256
     Available: 140.690.886.983.680
     Total PageFile: 21.374.271.488
     Available: 7.160.733.696
     
     
    After some seconds, all teh freed memory is taken up again. !memory gives then:
    12:15:45:7548 MEMORY ANALYSIS
    -= Fiddler Memory Usage =-
    Process Bitness: 64
    OS Version: 10.0.15063.0
    CLR Version: 4.0.30319.42000
    LOH Compact: Supported
    The Web Sessions list contains 101 Sessions, accounting for:
     137.036 bytes of headers
     3.152.234 bytes of bodies
     0 bytes of WebSocket messages
    -PRE-GC-
     GCAllocated: 12.447.535.864
     VirtualMemory: 12.671.918.080
     WorkingSet: 5.590.409.216
    -POST-GC-
     GCAllocated: 10.362.271.696
     VirtualMemory: 10.570.149.888
     WorkingSet: 3.508.121.600
    -= System Memory Info=-
     Total Physical: 8.501.952.512
     Available: 3.343.585.280
     Total Virtual: 140.737.488.224.256
     Available: 140.690.219.040.768
     Total PageFile: 20.293.812.224
     Available: 5.401.878.528
     
    Four minutes later:
    12:19:17:0911 MEMORY ANALYSIS
    -= Fiddler Memory Usage =-
    Process Bitness: 64
    OS Version: 10.0.15063.0
    CLR Version: 4.0.30319.42000
    LOH Compact: Supported
    The Web Sessions list contains 101 Sessions, accounting for:
     137.036 bytes of headers
     3.152.234 bytes of bodies
     0 bytes of WebSocket messages
    -PRE-GC-
     GCAllocated: 13.218.860.992
     VirtualMemory: 13.464.555.520
     WorkingSet: 1.922.998.272
    -POST-GC-
     GCAllocated: 10.384.166.112
     VirtualMemory: 10.614.800.384
     WorkingSet: 392.175.616
    -= System Memory Info=-
     Total Physical: 8.501.952.512
     Available: 2.732.867.584
     Total Virtual: 140.737.488.224.256
     Available: 140.690.356.396.032
     Total PageFile: 21.373.087.744
     Available: 6.433.079.296 
     
    12:25:04:8333 MEMORY ANALYSIS
    -= Fiddler Memory Usage =-
    Process Bitness: 64
    OS Version: 10.0.15063.0
    CLR Version: 4.0.30319.42000
    LOH Compact: Supported
    The Web Sessions list contains 101 Sessions, accounting for:
     137.036 bytes of headers
     3.152.234 bytes of bodies
     0 bytes of WebSocket messages
    -PRE-GC-
     GCAllocated: 12.335.226.200
     VirtualMemory: 14.014.726.144
     WorkingSet: 2.947.018.752
    -POST-GC-
     GCAllocated: 9.590.238.304
     VirtualMemory: 9.818.116.096
     WorkingSet: 1.271.791.616
    -= System Memory Info=-
     Total Physical: 8.501.952.512
     Available: 4.442.357.760
     Total Virtual: 140.737.488.224.256
     Available: 140.691.292.782.592
     Total PageFile: 24.630.853.632
     Available: 10.420.068.352
     
     
     Process Top List at 12:24 o'clock: 774.png

     

  17. Tsviatko Yovtchev
    Admin
    Tsviatko Yovtchev avatar
    538 posts

    Posted 02 Jun Link to this post

    Hello,

    Any chance you are using BrowserLink, too?

    If you export the 100 sessions to a SAZ file and then restart Fiddler and stop capturing and import the file does the memory usage go up again? 

    Regards,
    Tsviatko Yovtchev
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  18. Andreas
    Andreas avatar
    6 posts
    Member since:
    May 2017

    Posted 07 Jun Link to this post

    a) As MS says BrowserLink is new in VS2013 and I'm only using VS2012, so  I'm quite sure that I'm not using BrowserLink.

    b) In the last days, Fiddler did not show the devatating behaviour. It seems to me, the MS Office update packets (which I think cause the problems together with fiddler) are downloaded in between. So I cannot currently give more information about how it behaves.

  19. Andreas
    Andreas avatar
    6 posts
    Member since:
    May 2017

    Posted 20 Jun Link to this post

    Today, I got the problem again. I did this

    1. !memory

    2. stopped capturing

    3. saved to saz.

    4. !memory   -> This showed, that the memory usage of fiddler still increased after "stop capturing"

    5. Killed Fiddler.

    6. Opened Fiddler. Immediately pressed "Stop Capturing".

    7. Nevertheless, its memory usage increases and stuff is shown in the main window.

    8. Loaded the previously saved saz.

    9. still the used memory increases and stuff is shown in the main window

    10. Below the output of two !memory calls after I've loaded the saz.

    11. Attached a screenshot of the main screen. Requests 114 to 117 have been made after I've stopped capturing and after I've loaded the saz.

    The Web Sessions list contains 108 Sessions, accounting for:
    197.174 bytes of headers
    6.682.206 bytes of bodies
    0 bytes of WebSocket messages

    -PRE-GC-
    GCAllocated: 3.506.759.792
    VirtualMemory: 3.680.952.320
    WorkingSet: 3.223.056.384

    -POST-GC-
    GCAllocated: 2.724.125.256
    VirtualMemory: 2.900.058.112
    WorkingSet: 2.473.553.920

    -= System Memory Info=-
    Total Physical: 8.501.952.512
    Available: 4.033.437.696
    Total Virtual: 140.737.488.224.256
    Available: 140.697.469.562.880
    Total PageFile: 28.536.156.160
    Available: 21.737.340.928

    10:30:08:0007 MEMORY ANALYSIS

    -= Fiddler Memory Usage =-
    Process Bitness: 64

    OS Version: 10.0.15063.0
    CLR Version: 4.0.30319.42000
    LOH Compact: Supported

    The Web Sessions list contains 108 Sessions, accounting for:
    197.174 bytes of headers
    6.682.206 bytes of bodies
    0 bytes of WebSocket messages

    -PRE-GC-
    GCAllocated: 5.585.006.984
    VirtualMemory: 5.765.255.168
    WorkingSet: 4.199.673.856

    -POST-GC-
    GCAllocated: 4.148.364.432
    VirtualMemory: 4.326.060.032
    WorkingSet: 2.766.229.504

    -= System Memory Info=-
    Total Physical: 8.501.952.512
    Available: 3.795.361.792
    Total Virtual: 140.737.488.224.256
    Available: 140.696.513.449.984
    Total PageFile: 28.536.156.160
    Available: 20.306.567.168

     

  20. Tsviatko Yovtchev
    Admin
    Tsviatko Yovtchev avatar
    538 posts

    Posted 23 Jun Link to this post

    Hello,

    Fiddler kept on capturing even after the stop capturing button was clicked? Did that persist for a long time or could it have been just a one-time dumping of previously captured sessions to the UI?

    Regards,
    Tsviatko Yovtchev
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  21. Andreas
    Andreas avatar
    6 posts
    Member since:
    May 2017

    Posted 28 Jun Link to this post

    Hello, I cannot remember if Fiddler kept on capturing for a long time. I'll check for it when the problem happens next time.
Back to Top