[Bug 30162] Microsoft .NET 2.0 Framework: "mscorsvw" compile worker hangs sometimes while generating native images from assemblies in GAC (loader section block reported)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Mar 14 19:12:16 CDT 2012


http://bugs.winehq.org/show_bug.cgi?id=30162

Anastasius Focht <focht at 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 at 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 at 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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list