Certain downloads repeatedly fail when in Incognito mode, and succeed in Regular mode, even when the requests sent by the browser are 100% word-for-word identical. Request logs provided.
SHORT SUMMARY:
A few specific direct downloads from a third-party server successfully finish in Regular browsing mode but fail half-way in Incognito mode. This is reproducable on numerous tries and persists between Firefox restarts, system reboots, and ISP changes. This difference between Regular and Incognito remains even when the requests that the browser sends are fully word-for-word identical, down to the DNT=1 in the request. There are no issues with downloads in Google Chrome on the same machine, and similarly no issues in Incognito mode in an old ESR Firefox (v52) on a really old laptop with WinXP. This problem ONLY appears in Firefox 92. ========================================
FULL DETAILS:
I'm using the latest public release of Firefox, 92.0.1, on Windows 8. I have a habit of using Incognito mode most of the time, and I found out that certain downloads fail in Incognito tabs - but succeed in Regular tabs. A few examples:
http://down.360safe.com/cse/360cse_official.exe http://down.360safe.com/cse/360cse_9.5.0.122.exe http://down.360safe.com/cse/360cse_9.5.0.114.exe http://down.360safe.com/cse/360cse_9.0.1.162.exe
They are direct links to the .exe setups of various versions of an obscure browser called 360 Extreme Browser, recommended for use with WinXP on obsolete hardware since it's supposedly very lightweight. You can run them through VirusTotal if you want. The first link always points to the latest release, the other links are specific releases.
When I open any of them, I am first presented with the regular download dialog box, while Firefox automatically starts downloading the file to %TEMP% in the background, without waiting for my decision (as it always does):
https://i.imgur.com/0D6pH4Z.png
... then, a couple seconds later, I'm presented with the "source file could not be read" error.
https://i.imgur.com/3f6StGQ.png
When I click OK, the first dialog box also disappears, and there is no trace of the (failed) download left in the download widget in the top right.
Alternatively, I can try to be very fast, and as soon as the first dialog box appears, I can quickly click "Save File" and press Enter in the folder selection window that appears. That way, I can confirm the download before it gets a chance to fail. But it fails anyway, except this time I can see the incomplete file in my destination folder, and the failed download in the list of downloads in the top right corner of Firefox. This download fails about 5-15 MBs into the file - it's different between different attempts.
It is my understanding that the "nature" or "mechanism" of the fail is the same, but if it happens while it's downloading to %TEMP% and I haven't selected the folder yet, then I'm presented with an explicit error message and there is no trace of it in the download history, and if it happens when I've already selected the folder, then there is no explicit error message and the failed download is displayed in the download history.
In the latter case, I can then press "Retry download" in the download history. Then, the download will successfully restart (not from zero, but from the percentage that it failed at) and will successfully complete. But the FIRST try, initiated by the tab ("by the page"?) and not by the "download history" widget in the corner, ALWAYS fails at some point between 5-15 MBs.
========================================
INVESTIGATION AND LOGS AND LOTS OF TECHNICAL DETAILS
So you might say, that third-party server is acting weird and is probably misconfigured. But:
- This download ALWAYS SUCCEEDS without any problems in Regular (not Incognito) tabs. It ALWAYS FAILS in Incognito.
- This download ALWAYS SUCCEEDS in Google Chrome that I have on this same machine, both in Regular and in Incognito.
- This download ALWAYS SUCCEEDS in Firefox 52.9 ESR on a really obsolete laptop with WinXP that I have, connected to the same network(s), both in Regular and in Incognito.
To sum up, this fails VERY SPECIFICALLY in Incognito mode in Firefox 92 (current modern version) and NOWHERE ELSE.
All download attempts that are successful (non-Incognito FF 92, Google Chrome, FF 52.9 ESR...) result in a downloaded file with the same correct size and checksum. The download that is successfully RESTARTED after failing in Incognito (read details above) also results in a file with the same size and checksum.
I am not aware of any software on this machine that would be interrupting the download, such as antivirus. In any case, it's interrupted when it reaches a different random size on each different attempt, and it only affects Incognito Firefox and nothing else - not Regular tabs of FF and not Chrome. I have also tried two different ISPs - one that provides me with Ethernet at my place, and my mobile phone ISP. Same behavior between them. The only third-party plugin that I have in Firefox is uBlock. I disabled it completely and this didn't change anything.
I've inspected the requests and responses, using Firefox's own dev tools.
REGULAR TAB (not incognito) = SUCCESSFUL DOWNLOAD
https://pastebin.com/xzXXJDEt (so as not to clutter this message with long request listings)
INCOGNITO TAB: FAILED DOWNLOAD
https://pastebin.com/Nq0txZ9P (same reasoning)
The differences are: Incognito mode forces HTTPS, sends Sec-Fetch- entries in the GET request, and also sends DNT = 1. Everything else is the same.
I then went to Firefox settings and enabled sending DNT *all the time*, even in Regular (non-incognito) tabs. I also tried to download explicitly from the https:// URL in Regular (non-incognito) mode, just like Incognito mode forces https. This resulted in a request that is sent from a Regular tab but is 100% identical to the request sent from Incognito mode. Read below:
https://pastebin.com/0QCpKqBZ (same reasoning for hosting on Pastebin)
You can check that this request from a Regular (non-incognito) tab is now word-for-word identical to the request from an Incognito tab. Yet, the download from Incognito STILL fails at ~10 MBs into the file, and the download from Regular STILL succeeds. I fail to see any difference between the requests, whatsoever.
In the Cookies tab, there are "No cookies for this request" for both Regular and Incognito downloads. The Security tab looks 100% identical for Regular and Incognito downloads, and looks like this: https://i.imgur.com/SAhzquW.png (idk how to copy this in plaintext form).
In another online discussion elsewhere while I was troubleshooting this, I was advised to see if network.dns.echconfig.enabled was set to TRUE and to try setting it to FALSE. Not sure what this would change, but I went to check and found that it was already FALSE.
Also, in that discussion elsewhere, I had one more user running Firefox on Windows 10 (according to his publicly displayed user agent) confirm this. But I don't know how to reach him to ask for extensive troubleshooting like mine.
========================================
FINAL SUMMARY:
- Some specific downloads fail halfway in Incognito Mode in latest Firefox
- There are no issues in Regular (non-incognito) mode, or in Google Chrome on this same machine, or in obsolete Firefox 52 on another machine
- This persists across Firefox restarts, reboots, ISP changes
- This difference between Regular and Incognito modes persists even when you change settings so that the sent GET requests are 100% word-for-word identical
Help me troubleshoot this further? Even if this is caused by that third-party server acting up (for whatever reason), how does it tell between my Regular firefox tab and my Incognito firefox tab when the sent requests are the same? And even if this is caused by something else on my machine or in my network, then the same question applies, how can this "something" tell between my Regular and Incognito tabs?
jagev53494 द्वारा
All Replies (4)
When I test in my regular Firefox 92 profile, in a private window, Firefox is sending a second request that returns a 403 Forbidden
Possibly the server is closing the connection after this forbidden request?
When I test in a cleaner Firefox 92 profile or a cleaner Firefox 93 beta (Developer Edition) profile, in a private window, everything works fine.
So... could it be a setting??
By the way, was using the Browser Console with "Requests" enabled on the filter bar to notice the second request. Ctrl+Shift+J, https://developer.mozilla.org/docs/Tools/Browser_Console
jscher2000 said
Firefox is sending a second request that returns a 403 Forbidden GET http://down.360safe.com/ Possibly the server is closing the connection after this forbidden request?
Oh, I wasn't aware of the Browser Console tool (the one that's separate from Dev Tools for a given page). I can see the GET http://down.360safe.com/ request (with a 403 response) on my machine too. I don't see the *original* request of the specific file though. Does this Browser Console window only show requests that don't come from specific tabs/pages, which you can see in that tab's network details in Ctrl+Shift+E?
In any case, I noticed a warning line there about HTTPS-First Mode updating the original request through HTTP to HTTPS when downloading from an Incognito / Private tab. This got me thinking, and I tried the following. Instead of trying to download this:
http://down.360safe.com/cse/360cse_9.5.0.122.exe
... from an Incognito tab, I explicitly tried to download this:
https://down.360safe.com/cse/360cse_9.5.0.122.exe (noticee the manually added HTTPS)
And this succeeded without any errors in a Private tab. Also, in this case, I don't see any second request like GET https://down.360safe.com/ in Browser Console. I don't know if the download of the file doesn't fail because this second request doesn't get sent at all (for whatever reason), or maybe I just don't see it in Browser Console?
jscher2000 said
When I test in a cleaner Firefox 92 profile or a cleaner Firefox 93 beta (Developer Edition) profile, in a private window, everything works fine.
So... could it be a setting?? </blockquote>
Just to clarify, do you also see the download failing in your "regular" Firefox 92 (in Private/Incognito), or do you only see the second request there?
And could you please explain what you mean by "regular" vs "cleaner" Firefox profiles?
Thank you for your time!
jagev53494 द्वारा
jagev53494 said
Oh, I wasn't aware of the Browser Console tool (the one that's separate from Dev Tools for a given page). I can see the GET http://down.360safe.com/ request (with a 403 response) on my machine too. I don't see the *original* request of the specific file though. Does this Browser Console window only show requests that don't come from specific tabs/pages, which you can see in that tab's network details in Ctrl+Shift+E?
I see both as long as I had it open before the request. It's pretty comprehensive but there could be exceptions.
The HTTPS link worked for me in private.
Just to clarify, do you also see the download failing in your "regular" Firefox 92 (in Private/Incognito), or do you only see the second request there? And could you please explain what you mean by "regular" vs "cleaner" Firefox profiles?
Yes, same pattern you saw with HTTP. A cleaner profile was a new one I created in recent months for testing and grabbing screenshots, which has only had minimal customizations.