http://bugs.winehq.org/show_bug.cgi?id=30162
Bug #: 30162 Summary: dotnetfx.exe: crash during installation of .net 2.0 with mscorsvw.exe Product: Wine Version: 1.4-rc6 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: bugs.winehq.org@terrorise.me.uk Classification: Unclassified
Created attachment 39352 --> http://bugs.winehq.org/attachment.cgi?id=39352 wine output
1) download .net framework 2.0 (dotnetfx.exe, http://www.microsoft.com/download/en/details.aspx?id=19) 2) run it in a fresh wine 1.4-rc6 environment 3) install claims to complete, however at the end there is a crash in mscorsvw.exe - Program Error Details fails to load
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #1 from frankster bugs.winehq.org@terrorise.me.uk 2012-03-14 11:32:37 CDT --- I reported this defect with the wine system version set to XP.
I have retried the install with the system version set to 2000 and it did not occur.
http://bugs.winehq.org/show_bug.cgi?id=30162
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, download, Installer Status|UNCONFIRMED |NEW URL| |http://www.microsoft.com/do | |wnloads/details.aspx?Family | |ID=0856eacb-4362-4b0d-8edd- | |aab15c5e04f5 CC| |focht@gmx.net Summary|dotnetfx.exe: crash during |Microsoft .NET 2.0 |installation of .net 2.0 |Framework: "mscorsvw" |with mscorsvw.exe |compile worker hangs | |sometimes while generating | |native images from | |assemblies in GAC (loader | |section block reported) Ever Confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net 2012-03-14 19:12:16 CDT --- Hello,
confirming though I can't reproduce it reliably.
Adding any WINEDEBUG channel(s) changes the frequency of occurrence (more channels -> less likely to none). Using +relay it always succeeds (while producing multi GiB log file).
The "crash" at the end (log file) was forced due to second loader section timeout.
--- snip --- ... 0083:trace:process:create_process_impl app (null) cmdline L"C:\windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /NoDependencies /nologo" ... 0083:trace:process:create_process_impl started process pid 0084 tid 0085 ... 0085:trace:process:create_process_impl app L"C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorsvw.exe" cmdline L"C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorsvw.exe -UseCLSID {D57FA8DE-DFE3-4837-8173-192D5B59CF90} -Comment "Dependency Analyzer"" ... 0085:trace:process:create_process_impl started process pid 0086 tid 0087 ... 0085:trace:process:create_process_impl app L"C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorsvw.exe" cmdline L"C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorsvw.exe -UseCLSID {C044B998-513C-4FF2-AA81-8A9F0CC2CBB1} -Comment "Compile worker for mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"" ... 0085:trace:process:create_process_impl started process pid 00a3 tid 00a4 ... <other assemblies queued up> 00bd:trace:process:create_process_impl app (null) cmdline L"C:\windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "AspNetMMCExt, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /NoDependencies /queue:3 /nologo" ... 00a8:trace:process:create_process_impl app (null) cmdline L"C:\windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /NoDependencies /nologo" ... 00ae:trace:process:create_process_impl app L"C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorsvw.exe" cmdline L"C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorsvw.exe -UseCLSID {51550B86-9E52-4BF4-8542-5C6722783CE4} -Comment "Dependency Analyzer"" ... 00b0:err:ntdll:RtlpWaitForCriticalSection section 0x7bcc8be4 "/home/focht/projects/wine/wine-git/dlls/ntdll/loader.c: loader_section" wait timed out in thread 00b0, blocked by 00a4, retrying (60 sec) --- snip ---
Maybe some race between ngen client/server process/service and RPC teardowns
$ wine --version wine-1.4-246-g945c5bb
Regarding Win2K/WinXP mode: somewhere before Wine 1.4, changes resulted in different installer execution path, not calling/relying on junction point API for installing specific assemblies into GAC (System.EnterpriseServices). This allows to run the .NET 2.0 installer without winetricks (though still required for .NET service pack installers and other .NET versions to clean up Mono stuff before).
I didn't find the time yet to bisect this goodie. Maybe someone can.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #3 from Austin English austinenglish@gmail.com 2012-03-15 03:36:18 CDT --- (In reply to comment #2)
Regarding Win2K/WinXP mode: somewhere before Wine 1.4, changes resulted in different installer execution path, not calling/relying on junction point API for installing specific assemblies into GAC (System.EnterpriseServices). This allows to run the .NET 2.0 installer without winetricks (though still required for .NET service pack installers and other .NET versions to clean up Mono stuff before).
I didn't find the time yet to bisect this goodie. Maybe someone can.
4a6c63e24a5a9ab22dc4e2145db16d86fe8f1895 is the first bad commit commit 4a6c63e24a5a9ab22dc4e2145db16d86fe8f1895 Author: Hans Leidekker hans@codeweavers.com Date: Tue Mar 8 10:08:16 2011 +0100
msi: Make a second pass to determine which files to install in the InstallFiles action.
This is needed because the target path can still change after CostFinalize is executed. This happens in the .NET 1.1 Service Pack 1 installer where a custom action calls SetTargetPath.
:040000 040000 e47f1d44f9a363bee3749974d4202ccdbe6b5621 a1aa78c09ac65419f258971ca7075586b51776cf M dlls bisect run success
Used git bisect run and the following script: #!/bin/bash set -x wineserver -k || true rm -rf $HOME/.wine || exit 125 ./configure || exit 125 make -j15 || exit 125 cd $HOME/.cache/winetricks/dotnet20 || exit 125 $HOME/wine-git/wine dotnetfx.exe /q /c:"install.exe /q" || exit 0 exit 1
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #4 from Austin English austinenglish@gmail.com 2013-03-05 22:14:27 CST --- On my work gentoo machine, mscorsvw.exe hangs around after winetricks dotnet20. This is new, a regression test points to 9f3ff9240df477ff8b674bcfc1c4ab69989a2b9f, but wmvcore seems unlikely to be related (and disabling that dll doesn't help).
err:ntdll:RtlpWaitForCriticalSection section 0x7bcb9964 "loader.c: loader_section" wait timed out in thread 00ad, blocked by 00a1, retrying (60 sec)
Focht, have you seen this?
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #5 from Anastasius Focht focht@gmx.net 2013-03-06 01:44:24 CST --- Hello Austin,
--- quote --- On my work gentoo machine, mscorsvw.exe hangs around after winetricks dotnet20. This is new, a regression test points to 9f3ff9240df477ff8b674bcfc1c4ab69989a2b9f, but wmvcore seems unlikely to be related (and disabling that dll doesn't help).
err:ntdll:RtlpWaitForCriticalSection section 0x7bcb9964 "loader.c: loader_section" wait timed out in thread 00ad, blocked by 00a1, retrying (60 sec)
Focht, have you seen this? --- quote ---
yes, I've seen these hangs quite frequently (which makes .NET 3.x recipes often fail because they depend on .NET 2.x). AFAIK it started to worsen some months ago but I had no interest/time investigating further. Might be multiple regressions that contributed here.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30162
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #6 from Anastasius Focht focht@gmx.net 2013-05-02 14:04:12 CDT --- Hello folks,
I propose an analysis for this nasty bug in near future .. for now just a bit #winehq chat log ;-)
--- snip --- <focht> austin987: do you still occasionally get .net install problems (2.0 is the culprit)? ... <austin987> focht, I know 3.0 was having issues for me, let me try a few times with 2 <focht> well 2.0 problems (mscorsvw) are sneaking into 3.0 installer hence it looks like 3.0 (delayed crash/hang) but the root cause is 2.0 <focht> after install check for zombified processes, that's the sign of trouble <austin987> focht, yep, failing here <focht> good <focht> or not (if you like the "works" state) :) <austin987> heh ... <focht> there are two visible symptoms: zombified mscorsvw.exe and "critical section timed out/blocked by thread xx" console messages, later crashing mscorsvw.exe <focht> actually I already analyzed it some time ago but was too lazy to write a proper report .. it's unfortunately not easy to fix ... <austin987> have you narrowed down the regression? or was this the one that was a combination of a few commits? ... <focht> it's not a single commit that broke it .. it was just luck that it worked in earlier times. ... <focht> basically a shutdown race between two server threads (one of them waiting for the parent to die = client, the other one an ole server thread serving the client) .. the wrong one wins and causes a mess (forceful termination of process) ... <austin987> I see <austin987> I can file a bug for now, if you'd like, and you can dump your analysis later ... <focht> austin987: no, it's already there: http://bugs.winehq.org/show_bug.cgi?id=30162 ... <austin987> ahhh, that one, yeah ... <focht> austin987: you can try an ugly hack and see if it works for you reliably ... add: killall "mscorsvw.exe" to the end of load_dotnet20 script function (it will get rid of zombified ole servers) ... <austin987> focht, seems to work here ... <focht> you might add that hack to winetricks trunk referencing the bug.. it will probably stay some time --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #7 from Austin English austinenglish@gmail.com 2013-05-02 14:59:34 CDT --- https://code.google.com/p/winetricks/source/detail?r=950
though dotnet30+ still fails..
http://bugs.winehq.org/show_bug.cgi?id=30162
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |bfcdf6df8eea1230fb0e1835a80 | |9e49e5971e5d2 Status|NEW |RESOLVED Component|-unknown |kernel32 Resolution| |FIXED
--- Comment #8 from Anastasius Focht focht@gmx.net 2013-05-17 15:12:01 CDT --- Hello folks,
this should be fixed now with commit http://source.winehq.org/git/wine.git/commit/bfcdf6df8eea1230fb0e1835a809e49...
Thanks Dmitry for the work on process shutdown behaviour.
@austin: mscorsvw (ngen service) 'kill' workaround in winetricks 'dotnet20' recipe can be disabled >= wine-1.5.31
Regards
http://bugs.winehq.org/show_bug.cgi?id=30162
--- Comment #9 from Austin English austinenglish@gmail.com 2013-05-20 17:08:03 CDT --- (In reply to comment #8)
Hello folks,
this should be fixed now with commit http://source.winehq.org/git/wine.git/commit/bfcdf6df8eea1230fb0e1835a809e49...
Thanks Dmitry for the work on process shutdown behaviour.
@austin: mscorsvw (ngen service) 'kill' workaround in winetricks 'dotnet20' recipe can be disabled >= wine-1.5.31
Regards
https://code.google.com/p/winetricks/source/detail?r=954
http://bugs.winehq.org/show_bug.cgi?id=30162
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2013-05-24 13:32:04 CDT --- Closing bugs fixed in 1.5.31.
https://bugs.winehq.org/show_bug.cgi?id=30162
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.microsoft.com/do |https://web.archive.org/web |wnloads/details.aspx?Family |/20051029064215/http://down |ID=0856eacb-4362-4b0d-8edd- |load.microsoft.com/download |aab15c5e04f5 |/5/6/7/567758a3-759e-473e-b | |f8f-52154438565a/dotnetfx.e | |xe
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download link via Internet Archive.
https://web.archive.org/web/20051029064215/http://download.microsoft.com/dow...
https://www.virustotal.com/gui/file/46693d9b74d12454d117cc61ff2e9481cabb100b...
$ sha1sum dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a dotnetfx.exe
$ du -sh dotnetfx.exe 23M dotnetfx.exe
Regards