[Bug 39270] Microsoft .NET 2.x/3.x Framework: "mscorsvw" compile worker hangs occasionally while generating native images from assemblies in GAC (heap lock timeout reported)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Sep 13 17:33:20 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=39270

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Created attachment 52349
  --> https://bugs.winehq.org/attachment.cgi?id=52349
mscorsvw compile worker threads live view

Hello folks,

apparently it's a matter of triggering GAC update often enough to hit it ...

With .NET Frameworks 2.x/3.x installed:

--- snip ---
$ wine "c:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\ngen.exe" update
--- snip ---

Another orphaned process (wpid=0x19) with one remaining thread blocking on heap
lock:

--- snip ---

Wine-dbg>info process
 pid      threads  executable (all id:s are in hex)
 00000014 4        'explorer.exe'
 0000000e 6        'services.exe'
 00000023 3        \_ 'plugplay.exe'
 0000001d 4        \_ 'winedevice.exe'
 00000012 4        \_ 'mscorsvw.exe'
 00000008 6        'ngen.exe'
 0000005d 14       \_ 'mscorsvw.exe'
 00000019 1        \_ 'mscorsvw.exe'

Wine-dbg>bt
Backtrace:

=>0 0xf77f1c10 __kernel_vsyscall+0x10() in [vdso].so (0x00000000)
  1 0xf74ecdc7 syscall+0x26() in libc.so.6 (0x00000000)
  2 0x7bc4b2a4 futex_wait+0x3f(addr=0x110070, val=0, timeout=0x33f284)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/critsection.c:69] in ntdll
(0x0033f268)
  3 0x7bc4b3ae fast_wait+0x40(crit=0x110060, timeout=0x3c)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/critsection.c:108] in ntdll
(0x0033f298)
  4 0x7bc4b509 wait_semaphore+0x24(crit=0x110060, timeout=0x3c)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/critsection.c:229] in ntdll
(0x0033f3d8)
  5 0x7bc4b9ad RtlpWaitForCriticalSection+0x128(crit=<couldn't compute
location>)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/critsection.c:452] in ntdll
(0x0033f498)
  6 0x7bc4bc88 RtlEnterCriticalSection+0xd0(crit=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/critsection.c:566] in ntdll
(0x0033f4d8)
  7 0x7bc61f10 RtlAllocateHeap+0xfd(heap=<couldn't compute location>,
flags=<couldn't compute location>, size=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/heap.c:1675] in ntdll
(0x0033f568)
  8 0x7bc4b6bc RtlInitializeCriticalSectionEx+0xb5(crit=<couldn't compute
location>, spincount=<couldn't compute location>, flags=<couldn't compute
location>)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/critsection.c:326] in ntdll
(0x0033f5b8)
  9 0x7b88069c InitializeCriticalSectionEx+0x2a(crit=<couldn't compute
location>, spincount=<couldn't compute location>, flags=<couldn't compute
location>) [/home/focht/projects/wine/wine.repo/src/dlls/kernel32/sync.c:354]
in kernel32 (0x0033f5f8)
  10 0x7b88062b InitializeCriticalSection+0x2c(crit=<couldn't compute
location>) [/home/focht/projects/wine/wine.repo/src/dlls/kernel32/sync.c:311]
in kernel32 (0x0033f628)
  11 0x7d9a0871 msvcrt_initialize_mlock+0x25(locknum=0x1c)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/lock.c:50] in msvcrt
(0x0033f658)
  12 0x7d9a0a74 _lock+0xf1(locknum=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/lock.c:102] in msvcrt
(0x0033f698)
  13 0x7d990ccf MSVCRT__lock_file+0x3b(file=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/file.c:1263] in msvcrt
(0x0033f6c8)
  14 0x7d9902cc MSVCRT_fflush+0x2f(file=0x7da05320)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/file.c:978] in msvcrt
(0x0033f708)
  15 0x7d990216 msvcrt_flush_all_buffers+0x54(mask=0x3)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/file.c:948] in msvcrt
(0x0033f758)
  16 0x7d99029a MSVCRT__flushall+0x14()
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/file.c:964] in msvcrt
(0x0033f778)
  17 0x7d9908f0 msvcrt_free_io+0xa()
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/file.c:1172] in msvcrt
(0x0033f7a8)
  18 0x7d9a0f6a DllMain+0x1a9(hinstDLL=<couldn't compute location>,
fdwReason=<couldn't compute location>, lpvReserved=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcrt/main.c:130] in msvcrt
(0x0033f828)
  19 0x7d9d5fdd __wine_spec_dll_entry+0x64(inst=<couldn't compute location>,
reason=<couldn't compute location>, reserved=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/winecrt0/dll_entry.c:40] in
msvcrt (0x0033f868)
  20 0x7bc640aa call_dll_entry_point+0x15() in ntdll (0x0033f898)
  21 0x7bc665c1 MODULE_InitDLL+0x1ea(wm=0x41fdf00, reason=0, lpReserved=0x1)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/loader.c:1091] in ntdll
(0x0033f9f8)
  22 0x7bc66c08 process_detach+0x88()
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/loader.c:1260] in ntdll
(0x0033fa28)
  23 0x7bc6a77c LdrShutdownProcess+0x5d()
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/loader.c:2702] in ntdll
(0x0033fa58)
  24 0x7bc6a7c0 RtlExitUserProcess+0x41(status=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/ntdll/loader.c:2714] in ntdll
(0x0033fa78)
  25 0x7b872fda ExitProcess+0x11() in kernel32 (0x0033fa94)
  26 0x00000000 (0x0033fa94)
  27 0x79f96d9c in mscorwks (+0x126d9b) (0x0033fb2c)
--- snip ---

I managed to attach a debugger fast enough to catch a long running worker that
is still alive (some seconds) - unfortunately that one exited cleanly.
Usually around 13-14 threads, many of them RPC workers.
See attachment for reference.

Regards

-- 
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