http://bugs.winehq.org/show_bug.cgi?id=21054
Summary: Platform SDK 2003 install slow Product: Wine Version: 1.1.34 Platform: x86 OS/Version: Linux Status: NEW Keywords: download, Installer Severity: minor Priority: P3 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
This is not a critical problem, just an observation. 'winetricks psdk2003' works today, but seems a little slow. It spends about five minutes thinking, then about half an hour (?) copying. oprofile shows that during the thinking phase, cpu time is divided up almost evenly between msi.dll and libwine.dll: 213762 52.2918 msi.dll.so 173435 42.4267 libwine.so.1.0 16658 4.0750 kernel32.dll.so During this time, cpu time inside msi is divided up like this 67832 31.7325 JOIN_fetch_int 33596 15.7165 WHERE_evaluate 28618 13.3878 read_table_int 22133 10.3540 TABLE_fetch_int 14115 6.6031 STRING_evaluate 13322 6.2322 bytes_per_column and cpu time inside libwine is divided up like this: 152497 87.9275 strlenW 12290 7.0862 compare_unicode_weights
During the copying phase, cpu time is mostly in the kernel: 23340 37.7866 no-vmlinux 15967 25.8500 cabinet.dll.so 5469 8.8541 libwine.so.1.0 Of the 1/4 of the cpu time in cabinet.dll, nearly all of it was in one function: 15299 95.8164 LZXfdi_decomp
These numbers are with -O0, so they're not especially useful for predicting normal speeds. It'd be interesting to see where the cpu time is at -O2.
http://bugs.winehq.org/show_bug.cgi?id=21054
--- Comment #1 from Dan Kegel dank@kegel.com 2009-12-18 04:33:06 --- Hmm. Maybe it's my router crashing every 15 minutes, but the install seems to have locked up at the end :-(
http://bugs.winehq.org/show_bug.cgi?id=21054
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@meelstraat.net
--- Comment #2 from Hans Leidekker hans@meelstraat.net 2009-12-18 05:01:56 --- Commit 6df6332198597aa0e03f9e15c9f4e8c883356f3b shows that native rejects greater than and less than comparisons of strings in WHERE clauses, which suggests a performance improvement.
If we can guarantee that all string operands in the WHERE clause are taken from the string table, string comparison would reduce to comparing string string ids.
A smarter join algorithm would likely help here too.
http://bugs.winehq.org/show_bug.cgi?id=21054
--- Comment #3 from Dmitry Timoshkov dmitry@codeweavers.com 2009-12-18 05:52:23 --- Platform SDK takes a huge time while installing under Windows for me. I've installed Platform SDK under XP and Vista, and it's ridiculously slow there.
http://bugs.winehq.org/show_bug.cgi?id=21054
--- Comment #4 from Dan Kegel dank@kegel.com 2009-12-19 09:37:44 --- Tried it again twice. Once it finished ok in 22 minutes. Another time it failed with messages err:richedit:ReadStyleSheet ReadStyleSheet: skipping optional destination err:msi:msi_cabextract FDICopy failed err:msi:ACTION_InstallFiles Failed to extract cabinet: L"PSDK-PSDK-common.1.cab" err:msi:ITERATE_Actions Execution halted, action L"InstallFiles" returned 1627 err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1627 That may be what happened on the run I thought was slow (the installer window wouldn't redraw, so I couldn't see what it was saying).
I'll try it again with +msi and see how repeatable this is.
http://bugs.winehq.org/show_bug.cgi?id=21054
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Platform SDK 2003 install |Platform SDK 2003 install |slow |flaky, hangs if internet | |connection flaky?
--- Comment #5 from Dan Kegel dank@kegel.com 2009-12-19 12:25:26 --- There seem to be two failure modes - one where the installer hits "FDICopy failed" (no idea why) and tells the user nicely, and another where internet connectivity failure somehow makes the installer hang. The latter one is probably easy to reproduce - just wait until the installer is copying files, then yank your internet cable for a few seconds, and put it back in.
http://bugs.winehq.org/show_bug.cgi?id=21054
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |frederic.delanoy@gmail.com
--- Comment #6 from Frédéric Delanoy frederic.delanoy@gmail.com 2012-03-16 11:03:44 CDT --- Does that still happen in 1.4? (or, is that bug still relevant?)
http://bugs.winehq.org/show_bug.cgi?id=21054
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.microsoft.com/en | |-us/download/details.aspx?i | |d=22668 CC| |focht@gmx.net Depends on| |22856 Summary|Platform SDK 2003 install |Platform SDK 2003 web |flaky, hangs if internet |installer download |connection flaky? |unreliable Severity|minor |normal
--- Comment #7 from Anastasius Focht focht@gmx.net 2012-04-30 16:46:28 CDT --- Hello,
the bug has been recycled once with msi table join performance issue ....
Currently there is no "flakiness" nor "hang" here but a crash upon downloading. I observed that wininet bug also for other apps/installers (many web installers for Visual Studio that download large amounts of data).
--- snip --- WINEDEBUG=+tid,+seh,+loaddll,+process,+wininet bash winetricks psdk2003 ...
003e:trace:wininet:HTTP_ReceiveRequestData 0x1389cb0 003e:trace:wininet:netconn_read read 2896 bytes 003e:trace:wininet:refill_read_buffer read 2896 bytes, read_size 2896 003e:trace:wininet:NETCON_query_data_available 0 bytes of queued, but unread data 003e:trace:wininet:INTERNET_SendCallback callback(0x7ec11d60) (0x3 (0x1389cb0), 0014a388, 100 (INTERNET_STATUS_REQUEST_COMPLETE), 0x220e8d8, 8) 003e:trace:wininet:INTERNET_SendCallback end callback(). 003e:trace:wininet:WININET_Release object 0x1389cb0 refcount = 1 003a:trace:wininet:InternetQueryDataAvailable (0x3 0x14a404 0 0) 003a:trace:wininet:WININET_AddRef 0x1389cb0 -> refcount = 2 003a:trace:wininet:get_handle_object handle 3 -> 0x1389cb0 003a:trace:wininet:HTTPREQ_QueryDataAvailable (0x1389cb0 0x14a404 0 0) 003a:trace:wininet:NETCON_query_data_available 0 bytes of queued, but unread data 003a:trace:wininet:NETCON_query_data_available 6544 bytes of queued, but unread data 003a:trace:wininet:netconn_read read 6544 bytes 003a:trace:wininet:refill_read_buffer read 6544 bytes, read_size 9440 003a:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7e1df94f ip=7e1df94f tid=003a 003a:trace:seh:raise_exception info[0]=00000000 003a:trace:seh:raise_exception info[1]=57fa6e66 003a:trace:seh:raise_exception eax=57fa6e66 ebx=7e21699c ecx=00000000 edx=7bcdab68 esi=000024e0 edi=0033f128 003a:trace:seh:raise_exception ebp=0033eb48 esp=0033eb30 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 003a:trace:seh:call_stack_handlers calling handler at 0x7bc91b99 code=c0000005 flags=0 wine: Unhandled page fault on read access to 0x57fa6e66 at address 0x7e1df94f (thread 003a), starting debugger... 003a:trace:seh:start_debugger Starting debugger "winedbg --auto 57 108" 003a:trace:process:create_process_impl app (null) cmdline L"winedbg --auto 57 108" 003a:trace:process:find_exe_file looking for L"winedbg" 003a:trace:process:find_exe_file Trying native exe L"C:\windows\system32\winedbg.exe" 003a:trace:process:create_process_impl starting L"C:\windows\system32\winedbg.exe" as Win32 binary (0x10000000-0x10017000) 003a:trace:process:create_process_impl started process pid 003f tid 0040 --- snip ---
Backtrace:
--- snip --- Unhandled exception: page fault on read access to 0xbc9f1388 in 32-bit code (0x7e1ec94f). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7e1ec94f ESP:0033c3c0 EBP:0033c3d8 EFLAGS:00010206( R- -- I - -P- ) EAX:bc9f1388 EBX:7e22399c ECX:00000000 EDX:7bcdab68 ESI:00002d00 EDI:00002000 Stack dump: 0x0033c3c0: ffffffff 0000001f 0033c3f0 7e22399c 0x0033c3d0: 0033c5fc 0033c5fc 0033c448 7e1ee4f4 0x0033c3e0: 013e30c0 00000002 00000000 7e21380c 0x0033c3f0: 013e30c0 018fe374 00000000 00000000 0x0033c400: 7e22399c 0033c5fc 0033c448 7e1f7622 0x0033c410: 00000003 7e23a468 7e216a57 7e2151de Backtrace: =>0 0x7e1ec94f get_avail_data+0x19(req=0x13e30c0) [/home/focht/projects/wine/wine-git/dlls/wininet/http.c:2326] in wininet (0x0033c3d8) 1 0x7e1ee4f4 HTTPREQ_QueryDataAvailable+0xd2(hdr=0x13e30c0, available=0x18fe374, flags=0, ctx=0) [/home/focht/projects/wine/wine-git/dlls/wininet/http.c:2985] in wininet (0x0033c448) 2 0x7e200466 InternetQueryDataAvailable+0xd7(hFile=0x3, lpdwNumberOfBytesAvailble=0x18fe374, dwFlags=0, dwContext=0) [/home/focht/projects/wine/wine-git/dlls/wininet/internet.c:3797] in wininet (0x0033c498) 3 0x7ec1fd9c protocol_read+0x1b5(protocol=0x18fe2f8, buf=0x33c5fc, size=0x2000, read_ret=0x33c568) [/home/focht/projects/wine/wine-git/dlls/urlmon/protocol.c:414] in urlmon (0x0033c4f8) 4 0x7ec19da8 HttpProtocol_Read+0xa4(iface=0x18fe380, pv=0x33c5fc, cb=0x2000, pcbRead=0x33c568) [/home/focht/projects/wine/wine-git/dlls/urlmon/http.c:701] in urlmon (0x0033c538) 5 0x7ec0fc80 ProtocolHandler_Read+0x19b(iface=0x18fe01c, pv=0x33c5fc, cb=0x2000, pcbRead=0x33c5f8) [/home/focht/projects/wine/wine-git/dlls/urlmon/bindprot.c:730] in urlmon (0x0033c598) 6 0x7ec0ebfb BindProtocol_Read+0xbe(iface=0x18fdfe8, pv=0x33c5fc, cb=0x2000, pcbRead=0x33c5f8) [/home/focht/projects/wine/wine-git/dlls/urlmon/bindprot.c:424] in urlmon (0x0033c5d8) 7 0x7ec08696 read_protocol_data+0x3a(stgmed_buf=0x18fe6a8) [/home/focht/projects/wine/wine-git/dlls/urlmon/binding.c:111] in urlmon (0x0033e608) --- snip ---
Sadly, applying 'winetricks -q wininet' recipe before 'psdk2003' doesn't help here (WINEPREFIX=$HOME/.local/share/wineprefixes/psdk2003 bash winetricks -q wininet). The installer simply hangs when about to download.
Adding dependency of bug 22856 here as this is the same crash.
$ wine --version wine-1.5.3-39-gd2581e6
Regards
http://bugs.winehq.org/show_bug.cgi?id=21054
Bug 21054 depends on bug 22856, which changed state.
Bug 22856 Summary: Several "web" installers have unreliable downloads/crashes in wininet (Runes of Magic 3.0.x: "ClientUpdater.exe", Microsoft PSDK, Visual Studio web installers) http://bugs.winehq.org/show_bug.cgi?id=22856
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=21054
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED URL|http://www.microsoft.com/en |http://www.microsoft.com/en |-us/download/details.aspx?i |-us/download/details.aspx?i |d=22668 |d=6510 Component|-unknown |wininet Resolution| |FIXED
--- Comment #8 from Anastasius Focht focht@gmx.net 2013-12-07 12:56:27 CST --- Hello folks,
can't reproduce the instability anymore. Unfortunately the original PSDK 2003 web installer link seems to be gone.
I used "Windows Server 2003 SP1 Platform SDK Web Install" as replacement which utilizes the same technology. Resolving 'fixed'.
$ sha1sum PSDK-x86.exe a42fd342c45f71efe192aa49d9a8a50c1d8a39db PSDK-x86.exe
$ du -sh PSDK-x86.exe 1.3M PSDK-x86.exe
$ wine --version wine-1.7.8-128-g37460b6
Regards
https://bugs.winehq.org/show_bug.cgi?id=21054
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.9.