https://bugs.winehq.org/show_bug.cgi?id=31757
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|Abandoned? |Installer CC| |focht@gmx.net Component|-unknown |winhttp Summary|Adobe Application Manager |Adobe Application Manager |is unable to install - |6.x/7.x download fails with |download fails |error code A12E5 (winhttp | |request headers missing | |byte range)
--- Comment #14 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, still present.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+winhttp,+wininet wine ./AdobeApplicationManager.exe >>log.txt 2>&1
... 002f:Call winhttp.WinHttpOpenRequest(0000000c,006311c4 L"GET",0063a750 L"AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip",00000000,00630470 L"Adobe.referer",00000000,00000100) ret=004bab32 ... 002f:Ret winhttp.WinHttpOpenRequest() retval=0000000d ret=004bab32 002f:Call winhttp.WinHttpSendRequest(0000000d,0063ad50 L"Range: bytes=13384828-14680063\r\n",00000000,00000000,00000000,00000000,00000000) ret=004ba5e4 002f:trace:winhttp:WinHttpSendRequest 0xd, L"Range: bytes=13384828-14680063\r\n", 0x0, 0, 0, 0 ... 002f:trace:winhttp:send_request full request: "GET /AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip HTTP/1.1\r\nUser-Agent: Adobe Application Manager 2.0\r\nHost: ccmdl.adobe.com\r\nConnection: Keep-Alive\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n" ... 002f:trace:winhttp:read_line returning "Content-Length: 212585352" ... --- snip ---
--- snip --- $ grep "Range: bytes=" log.txt
002b:Call winhttp.WinHttpSendRequest(00000003,0062d438 L"Range: bytes=0-773\r\n",00000000,00000000,00000000,00000000,00000000) ret=004ba5e4 002b:trace:winhttp:WinHttpSendRequest 0x3, L"Range: bytes=0-773\r\n", 0x0, 0, 0, 0 0025:Call winhttp.WinHttpSendRequest(00000003,0062e5c0 L"Range: bytes=0-7346\r\n",00000000,00000000,00000000,00000000,00000000) ret=004ba5e4 0025:trace:winhttp:WinHttpSendRequest 0x3, L"Range: bytes=0-7346\r\n", 0x0, 0, 0, 0 0030:Call winhttp.WinHttpSendRequest(00000003,00639e48 L"Range: bytes=3672582-4194303\r\n",00000000,00000000,00000000,00000000,00000000) ret=004ba5e4 0030:trace:winhttp:WinHttpSendRequest 0x3, L"Range: bytes=3672582-4194303\r\n", 0x0, 0, 0, 0 0027:Call winhttp.WinHttpSendRequest(00000005,0063a150 L"Range: bytes=5245446-6291455\r\n",00000000,00000000,00000000,00000000,00000000) ret=004ba5e4 0027:trace:winhttp:WinHttpSendRequest 0x5, L"Range: bytes=5245446-6291455\r\n", 0x0, 0, 0, 0 ... 002f:Call winhttp.WinHttpQueryDataAvailable(0000000d,0184e880) ret=004ba84b 002f:trace:winhttp:WinHttpQueryDataAvailable 0xd, 0x184e880 002f:trace:winhttp:addref_object 0x15adc0 -> refcount = 2 002f:trace:winhttp:grab_object handle 0xd -> 0x15adc0 002f:trace:winhttp:query_data_available 8192 bytes available 002f:trace:winhttp:release_object object 0x15adc0 refcount = 1 002f:Ret winhttp.WinHttpQueryDataAvailable() retval=00000001 ret=004ba84b 002f:Call winhttp.WinHttpReadData(0000000d,013c08e6,00002000,0184e8d0) ret=004ba948 002f:trace:winhttp:WinHttpReadData 0xd, 0x13c08e6, 8192, 0x184e8d0 002f:trace:winhttp:addref_object 0x15adc0 -> refcount = 2 002f:trace:winhttp:grab_object handle 0xd -> 0x15adc0 002f:trace:winhttp:read_data retrieved 8192 bytes (1579206/212585352) 002f:trace:winhttp:release_object object 0x15adc0 refcount = 1 002f:Ret winhttp.WinHttpReadData() retval=00000001 ret=004ba948 ... 002f:trace:winhttp:query_data_available 8192 bytes available 002f:trace:winhttp:release_object object 0x15adc0 refcount = 1 002f:Ret winhttp.WinHttpQueryDataAvailable() retval=00000001 ret=004ba84b 002f:Call winhttp.WinHttpReadData(0000000d,013ca8e6,00002000,0184e8d0) ret=004ba948 002f:trace:winhttp:WinHttpReadData 0xd, 0x13ca8e6, 8192, 0x184e8d0 002f:trace:winhttp:addref_object 0x15adc0 -> refcount = 2 002f:trace:winhttp:grab_object handle 0xd -> 0x15adc0 002f:trace:winhttp:read_data retrieved 8192 bytes (1620166/212585352) 002f:trace:winhttp:release_object object 0x15adc0 refcount = 1 002f:Ret winhttp.WinHttpReadData() retval=00000001 ret=004ba948 ... 002f:Call winhttp.WinHttpCloseHandle(0000000c) ret=004b970f 002f:trace:winhttp:WinHttpCloseHandle 0xc ... 0021:Call user32.SetWindowTextW(0001007a,0063b0e8 L"Sorry, there seems to be a problem with the download process (Error code: A12E5). For troubleshooting tips, please visit our customer support page.") ret=0041d016 --- snip ---
There is an app log file 'LBS.log' located here:
'/home/focht/.wine/drive_c/users/focht/Temp/AdobeDownload'
--- snip --- ... ... 06/14/15 01:28:55:740 | [ERROR] | | Download | LBS | LBSWorkflowManager | | | 46 | Segment 1 of size 2097152 is Invalid 06/14/15 01:28:55:752 | [ERROR] | | Download | LBS | LBSWorkflowManager | | | 46 | Segment 2 of size 2097152 is Invalid 06/14/15 01:28:55:763 | [ERROR] | | Download | LBS | LBSWorkflowManager | | ... 06/14/15 01:29:20:152 | [ERROR] | | Download | LBS | LBSWorkflowManager | | | 46 | Segment 1 of size 2097152 is Invalid 06/14/15 01:29:20:572 | [ERROR] | | Download | LBS | LBSWorkflowManager | | | 46 | Segment 9 of size 2097152 is Invalid 06/14/15 01:29:20:891 | [ERROR] | | Download | LBS | LBSWorkflowManager | | | 46 | Segment 10 of size 2097152 is Invalid 06/14/15 01:29:21:033 | [FATAL] | | Download | LBS | LBSWorkflowManager | | | 52 | Fatal error has occured. errotType = -60 extendedErrorCode = 417 06/14/15 01:29:21:043 | [WARN] | | Download | LBS | DownloadManifest | | | 67 | Asset file could not be downloaded --- snip ---
The file to be downloaded:
http://ccmdl.adobe.com/AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip
The returned error code -60 is rather generic:
https://helpx.adobe.com/creative-cloud/kb/download-update-errors.html
https://helpx.adobe.com/creative-cloud/kb/error--60-trying-download.html
The app creates several threads to have each handle a chunk of the large file (around 2 MB segment, GET + byte range), with 8 KB transferred at a time (winhttp).
The internal error (through debugging):
'Retry count overshoot for ERROR_SEGMENT_VALIDATION_FAILURE'
There is a fixed number of segment retrieval/validation retries until the app gives up: 0x3C = 60
I patched this threshold in the debugger at runtime to infinite and the app requested all segments over and over again. I cancelled after some minutes, with data re-downloaded in the GB range through retries.
To simulate the download behaviour of the app on the CDN, 'axel' is useful here. You need to pass special user agent otherwise you get 'unauthorized' error.
--- snip --- $ axel -n14 -a --user-agent="Adobe Application Manager" http://ccmdl.adobe.com/AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip Initializing download: http://ccmdl.adobe.com/AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip File size: 212585352 bytes Opening output file ACCCx3_1_0_108.zip Starting download
Connection 12 finished ] Connection 10 finished ] Connection 6 finished ] Connection 4 finished ] Connection 7 finished ] Connection 9 finished ] Connection 0 finished ] Connection 3 finished ] Connection 5 finished ] Connection 13 finished ] Connection 1 finished ] Connection 8 finished ] Connection 2 finished ] [100%] [..................................................] [ 5.6MB/s] [00:00]
Downloaded 202.7 megabytes in 36 seconds. (5716.06 KB/s) --- snip ---
Verification of the download (md5sum matches):
--- snip --- $ md5sum ACCCx3_1_0_108.zip d1ff0cedf65f05ed69d10029aa2071b5 ACCCx3_1_0_108.zip
$ unzip -tq ACCCx3_1_0_108.zip No errors detected in compressed data of ACCCx3_1_0_108.zip. --- snip ---
Using 'wireshark' on the app:
TCP stream 10 (download thread 1)
--- snip --- GET /AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip HTTP/1.1 User-Agent: Adobe Application Manager 2.0 Host: ccmdl.adobe.com Connection: Keep-Alive Pragma: no-cache Cache-Control: no-cache
HTTP/1.1 200 OK Server: Apache Accept-Ranges: bytes Content-Type: application/zip Last-Modified: Wed, 10 Jun 2015 13:36:02 GMT ETag: "d1ff0cedf65f05ed69d10029aa2071b5:1434038522" Content-MD5: 0f8M7fZfBe1p0QApqiBxtQ== Content-Length: 212585352 Date: Sat, 13 Jun 2015 23:47:05 GMT Connection: keep-alive
PK...........F................packages/PK........ --- snip ---
(header of ZIP file)
TCP stream 11 (download thread 2)
--- snip --- GET /AdobeProducts/KCCC/1/win32/ACCCx3_1_0_108.zip HTTP/1.1 User-Agent: Adobe Application Manager 2.0 Host: ccmdl.adobe.com Connection: Keep-Alive Pragma: no-cache Cache-Control: no-cache
HTTP/1.1 200 OK Server: Apache Accept-Ranges: bytes Content-Type: application/zip Last-Modified: Wed, 10 Jun 2015 13:36:02 GMT ETag: "d1ff0cedf65f05ed69d10029aa2071b5:1434038522" Content-MD5: 0f8M7fZfBe1p0QApqiBxtQ== Content-Length: 212585352 Date: Sat, 13 Jun 2015 23:47:05 GMT Connection: keep-alive
PK...........F................packages/PK........ --- snip ---
(same for the other download threads)
All of them operate on the same fixed range - the range was never added to headers!
$ sha1sum AdobeApplicationManager.exe e5020b2bc958782adae95d5c0343bee4dbd5f663 AdobeApplicationManager.exe
$ du -sh AdobeApplicationManager.exe 2.1M AdobeApplicationManager.exe
$ wine --version wine-1.7.45
Regards