I've got IIS 8.5 running on a couple of servers with BITS uploads enabled on a virtual directory. Looking through the logs, I see several different sorts of errors where it says (bits_error:{GUID},500,0x80070070)
or some other error code. I'm able to match these to Error Descriptions on the client side using the PowerShell Get-BitsTransfer
cmdlet and accessing the ErrorDescription attribute, but only if I happen to be the client encountering the error.
The specific codes I'm seeing are
I'm sure there are more. BitsMsg.h includes some of the common ones.
Any pointers to more details on the full list of error codes for BITS_POST entries in the IIS log files would be appreciated.
Update: Using Failed Request Tracing, I'm able to see a bit more information on the Invalid Index error (0x80070585). I don't see any activity on the virtual directory in SysInternals Process Monitor, nor do I see any handles open to that directory on the machine when using Handle. However, I've verified that the credentials stored to bind to that Virtual Directory in IIS Manager are working, and when I do a Test Connection, I see in procmon that INetMgr.exe has indeed accessed the local directory I expected it to. Anyway, here's the interesting bit from the trace file. It seems like we're getting to the BITS Service dll and choking inside it.
ISAPI_START
CALL_ISAPI_EXTENSION
DllName="C:\Windows\system32\bitssrv.dll"
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER",
HttpStatus="500", HttpReason="Internal Server Error",
HttpSubStatus="0", ErrorCode="The operation completed successfully.(0x0)",
ConfigExceptionInfo=""
GENERAL_SET_RESPONSE_HEADER HeaderName="Pragma", HeaderValue="no-cache", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-packet-type", HeaderValue="Ack", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error", HeaderValue="0x80070585", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error-Context", HeaderValue="0x5", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="Content-Length", HeaderValue="0", Replace="false" 14:20:19.559
ISAPI_EXTENSION_DONE 14:20:19.559
ISAPI_END
One last clue is that for the entries in the log where I'm seeing the error 0x80070585, there's no job GUID listed after bits_error
. It's just (bits_error:,500,0x80070585). It's as if the desired remote path for the upload is coming across, but it fails very early in the upload protocol.
Update 2: There's a potentially related Windows Update error code SUS_E_INVALIDINDEX
a.k.a. SUS_S_ALREADY_UNINSTALLED
, which means "The update to be uninstalled is already not installed -- An attempt was made to use an invalid index." Since Windows Update uses the BITS protocol, maybe the index they're talking about is a file index into the job. However, BITS upload jobs only ever have at most one file, and the hex value for that one is 0x80240007.
See also WU_E_INVALIDINDEX and this StackOverflow answer.
User contributions licensed under CC BY-SA 3.0