How to troubleshoot issues caused by running Fiddler

2,500 views
Skip to first unread message

Andrew

unread,
Nov 8, 2013, 1:42:12 PM11/8/13
to httpf...@googlegroups.com
Hi, periodically, may be once a week, I start seeing a strange Fiddler behavior -- some programs are unable to connect to internet sites, while some another can. If I close Fiddler, all programs can connect well. If I start it again -- got the problem. Problem appears for both HTTP and HTTPS (capture HTTPS CONNECTs is unchecked).
Affected programs are Outlook, Dropbox, Internet Explorer and Fiddler itself -- when I choose "Check For Updates" in Help menu, I get the following message box:

---------------------------
Error retrieving version information
---------------------------
There was an error retrieving version information. You can check for updates manually by visiting https://fiddler2.com/

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

--- End of inner exception stack trace ---

at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)

at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)

--- End of inner exception stack trace ---

at System.Net.HttpWebRequest.GetResponse()

at Fiddler.Updater.GetLatestVersion(Boolean includeBetaVersions)

at Fiddler.Updater.CheckForUpdates(Boolean bVerbose)
---------------------------
OK
---------------------------

In that time https://fiddler2.com/ is accessible from my PC, if I connect by a browser without a proxy.

In case of Internet Explorer (ver 10), local sites are not accessible:

----
This page can't be displayed

•Make sure the web address http://192.168.1.104:8899 is correct.
•Look for the page with your search engine.
•Refresh the page in a few minutes.
-----

Dropbox siply does not synchronizes files, staying infinitely in "Uploading" state for the file.


While I observe such strange behavior, Fiddler seems to half-work -- some external requests (made from other network hosts, where the proxy is set up) are served ok.

The only way to fix the problem I found is to log off current user and log on again. I did this today's morning, worked all day without any issue and now got Fiddler misbehaving again.

An interesting fact, while "Capture HTTPS CONNECTS" is unchecked (and Fiddler did restarted), I see "CONNECT d.dropbox.com:443 HTTP/1.1" captured by Fiddler. Looks like a bug in the code (I've never seen described issues until I updated Fiddler to recent version this summer).

What can I do to troubleshoot?


Fiddler Web Debugger (v4.4.5.6)
Built: Wednesday, October 23, 2013

64-bit AMD64, VM: 46.00mb, WS: 69.00mb
.NET 4.0.30319.18052 WinNT 6.1.7601 SP1

You've run Fiddler: 200 times.

Running ELEVATED on: host2008r2:8888
Listening to: All Adapters
Gateway: No Gateway

Andrew

unread,
Nov 8, 2013, 2:21:07 PM11/8/13
to httpf...@googlegroups.com
Here's result of Chrome network diagnostics, with Fiddler running:

Started connection test suite suite on 2013-11-08 21:12:53.645

ResultExperimentErrorTime (ms)
PASSFetch http://192.168.1.104/
  • Don't use any proxy
5
FAILFetch http://192.168.1.104/
  • Use system proxy settings
ERR_CONNECTION_RESET (-101)4
PASSFetch http://192.168.1.104/
  • Use Firefox's proxy settings
3
PASSFetch http://192.168.1.104/
  • Auto-detect proxy settings
2555
PASSFetch http://192.168.1.104/
  • Don't use any proxy
  • Disable IPv6 host resolving
2
FAILFetch http://192.168.1.104/
  • Use system proxy settings
  • Disable IPv6 host resolving
ERR_CONNECTION_RESET (-101)6
PASSFetch http://192.168.1.104/
  • Use Firefox's proxy settings
  • Disable IPv6 host resolving
4
PASSFetch http://192.168.1.104/
  • Auto-detect proxy settings
  • Disable IPv6 host resolving
2552
PASSFetch http://192.168.1.104/
  • Don't use any proxy
  • Probe for IPv6 host resolving
7
FAILFetch http://192.168.1.104/
  • Use system proxy settings
  • Probe for IPv6 host resolving
ERR_CONNECTION_RESET (-101)0
PASSFetch http://192.168.1.104/
  • Use Firefox's proxy settings
  • Probe for IPv6 host resolving
7
PASSFetch http://192.168.1.104/
  • Auto-detect proxy settings
  • Probe for IPv6 host resolving
2550

Completed connection test suite suite

And without Fiddler running:

Input a URL which failed to load, and then click the button to run some tests for why it failed.
URL:  

Started connection test suite suite on 2013-11-08 21:13:50.412

ResultExperimentErrorTime (ms)
PASSFetch http://192.168.1.104/
  • Don't use any proxy
4
PASSFetch http://192.168.1.104/
  • Use system proxy settings
4
PASSFetch http://192.168.1.104/
  • Use Firefox's proxy settings
3
PASSFetch http://192.168.1.104/
  • Auto-detect proxy settings
2552
PASSFetch http://192.168.1.104/
  • Don't use any proxy
  • Disable IPv6 host resolving
2
PASSFetch http://192.168.1.104/
  • Use system proxy settings
  • Disable IPv6 host resolving
4
PASSFetch http://192.168.1.104/
  • Use Firefox's proxy settings
  • Disable IPv6 host resolving
4
PASSFetch http://192.168.1.104/
  • Auto-detect proxy settings
  • Disable IPv6 host resolving
2552
PASSFetch http://192.168.1.104/
  • Don't use any proxy
  • Probe for IPv6 host resolving
6
PASSFetch http://192.168.1.104/
  • Use system proxy settings
  • Probe for IPv6 host resolving
0
PASSFetch http://192.168.1.104/
  • Use Firefox's proxy settings
  • Probe for IPv6 host resolving
0
Fetch http://192.168.1.104/
  • Auto-detect proxy settings
  • Probe for IPv6 host resolving
??

While the test shows that the resource cannot be reached when Fiddler is running, it's reachable from another network device (Android) via Fiddler as proxy, as well as from Android simulator, running locally and connecting to the site via Fiddler.

Eric, I made process dump, with evidence that Fiddler does capture HTTPS (dropbox) even if it's turned off in the settings. Let me know if you want it to investigate.




EricLaw

unread,
Nov 8, 2013, 5:17:43 PM11/8/13
to httpf...@googlegroups.com
DropBox will never successfully sync through Fiddler if HTTPS decryption is enabled unless you exempt the dropbox servers. The dropbox client application uses Certificate Pinning to prevent decryption of its traffic. (This is not new and has been there for years).

If DropBox is using Fiddler to send HTTPS requests despite the Capture HTTPS Connects checkbox being unchecked, this is a bug you should report to the DropBox development team.

The error message "System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host" typically means that a firewall or gateway is blocking traffic.

EricLaw

unread,
Nov 8, 2013, 5:49:30 PM11/8/13
to httpf...@googlegroups.com
Your Chrome results are consistent with a firewall blocking access to Fiddler.

Your DropBox results should be sent to the DropBox team so that they can fix their bugs. Let's be very precise here: Fiddler shows you the traffic that's sent to it. DropBox is sending Fiddler traffic contrary to the system's proxy settings.
Message has been deleted

Andrew

unread,
Nov 20, 2013, 12:50:28 PM11/20/13
to httpf...@googlegroups.com
Finally I was able to figure it out experimentally. I'm posting just in case someone faces with a similar problem.
In my case, the cause of partly rejected HTTP connections was adb.exe process -- it's "Android Debug Bridge", a part of Android SDK. I found that by killing processes one by one, after I got the problem another time. Once the adb.exe was killed, the connectivity restored immediately. I didn't get the actual cause of the problem, as adb.exe is launched and stopped tens times through the day, and usually doesn't cause any side effects.
Reply all
Reply to author
Forward
0 new messages