Kyudos wrote: ↑
Tue Sep 03, 2019 1:22 am
However, I do note that all the stalled attachment uploads are cut off at exactly 5119bytes (4.99KB). This seems very deliberate, but I can't find anything PHP, BB or IIS related that might account for that.
Are you saying that when uploading a >5KB file (e.g. 100KB or more), you end up with an incomplete file in the /files folder which is only 4.99KB?
Or are you actually saying that the upload will be rejected (and no incomplete file will be created), unless you attempt to upload a file which is exactly 4.99KB or smaller?
If it's the former (during a >100KB upload, an incomplete 4.99KB file gets created), that certainly does sound at least consistent with a file system-imposed file limitation. Not that it can't be imposed by something else; e.g. malware protection installed on the server, software intentionally designed to filter and block file system access. If you haven't already, maybe make sure the Windows Application or System event log isn't getting reports during these failed upload attempts. (i.e. Not the web server, but Windows Server itself.)
If it is the situation of "during a >100KB upload, an incomplete 4.99KB file gets created", this actually already answers the question of "does the failed POST attempt actually make it to posting.php?" Because if 5KB worth of the file did get created, it's expected that posting.php is the one who did that.
I see that Microsoft's IIS does have its own configuration for maximum upload size; the maxAllowedContentLength setting in the web.config. But we would be expecting an HTTP response if the POST was being rejected for that reason, same as we would expect when it's rejected for one of the PHP-configured limits. Still, if you didn't already, you might want to review the IIS-specific settings, in addition to the PHP-specific settings you've already been looking at.
The fact that you're getting "no response back to the web browser client at all" (until the connection itself times out 600 seconds later) seems like the biggest and most unusual clue. Like the root cause isn't something as simple as an "upload limit" or "file size creation limit" which would have simply immediately returned a failure response. Something that fits better with "no response at all" could be some anti-malware software that isn't taking into account that the file access is happening on an IIS service process, and is "prompting for quarantine" or similar; which is why processing is simply stalled waiting rather than failing. I'm just saying that kind of thing would fit with the "no response at all"; but certainly there are other things that can probably cause that same symptom.