http://bugs.winehq.org/show_bug.cgi?id=23847
Summary: ntdll: NtQuerySystemInformation(SYSTEM_PROCESSOR_PERFORMANCE_ INFORMATION) should provide NT-style 100ns units (.NET 1.x CLR) Product: Wine Version: 1.3.0 Platform: x86 URL: http://www.microsoft.com/DownLoads/details.aspx?family id=D7158DEE-A83F-4E21-B05A-009D06457787 OS/Version: Linux Status: NEW Keywords: dotnet, download, Installer Severity: normal Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
after bug 17084 (.NET 1.0: imagehlp.ImageGetDigestStream needs more flesh (assembly registration fails)) was fixed, the installer still fails.
The first blocker is now the presence of some .NET registry keys that ought to help Mono but break the MS installer itself (path to v1.0.xxx Microsoft CLR core library is incorrectly constructed, leading to mscorwks.dll load failure). You can work around by deleting the following key before running the installer:
--- snip --- $ wine reg delete "HKLM\Software\Microsoft.NETFramework" --- snip ---
Near the end, the installer spawns "regasm.exe" tool several times to register various assemblies. Unfortunately the tool crashes with division by zero (+tid,+seh,+relay):
--- snip --- ... 0040:Call ntdll.NtQuerySystemInformation(00000008,031ce960,00000060,00000000) ret=792cf160 0040:Ret ntdll.NtQuerySystemInformation() retval=00000000 ret=792cf160 0040:trace:seh:raise_exception code=c0000094 flags=0 addr=0x79243177 ip=79243177 tid=0040 0040:trace:seh:raise_exception eax=00000000 ebx=ffffffff ecx=00000000 edx=00000000 esi=00000022 edi=00000001 0040:trace:seh:raise_exception ebp=031ce9f0 esp=031ce940 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010246 --- snip ---
Interestingly there are other calls from the same addresses that don't crash:
--- snip --- 0020:Call ntdll.NtQuerySystemInformation(00000008,0320e960,00000060,00000000) ret=792cf160 0020:trace:ntdll:NtQuerySystemInformation (0x00000008,0x320e960,0x00000060,(nil)) 000d:Call KERNEL32.SwitchToThread() ret=7929a604 000d:Ret KERNEL32.SwitchToThread() retval=00000001 ret=7929a604 0020:Ret ntdll.NtQuerySystemInformation() retval=00000000 ret=792cf160 0020:Call KERNEL32.Sleep(000001f4) ret=792d00bc --- snip ---
Using additional "printf" style debugging to dump kernel+user+idle jiffies I noticed the crashes happen when the values accumulated only small changes in capture intervals. It seems the CLR employs some kind of cpu resource utilization calculation (using certain capture intervals) that breaks if the ticks/time units increment fall below some threshold.
Windows NT accounts SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION values in 100ns units. See: http://msdn.microsoft.com/en-us/library/ms724509.aspx
I fixed dlls/ntdll/nt.c:NtQuerySystemInformation( SystemProcessorPerformanceInformation class) to convert jiffies to NT-style 100-ns units and it helped to keep the .NET CLR CPU usage calculation happy and to not let the regasm tool crash anymore (installer succeeded).
Regards
http://bugs.winehq.org/show_bug.cgi?id=23847
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #1 from Austin English austinenglish@gmail.com 2010-07-31 13:31:10 --- Hm. I guess winetricks should delete that registry key when installing dotnet then...
http://bugs.winehq.org/show_bug.cgi?id=23847
--- Comment #2 from Anastasius Focht focht@gmx.net 2010-07-31 13:44:23 --- Hello,
--- quote --- Hm. I guess winetricks should delete that registry key when installing dotnet then... --- quote ---
No, it's not a general problem with .NET Framework installs (yet).
It only happens with .NET 1.0 which isn't covered by Winetricks anyway (.NET 1.1, 2.0, 3.0 ...). I'm not aware of any software/app that strictly demands .NET 1.0 but even then .NET 1.1 will do it in any case.
I only test the installer to hunt down Wine bugs and for the sake of completeness to track all .NET releases in appdb. So there is no need to take action for Winetricks.
Regards
http://bugs.winehq.org/show_bug.cgi?id=23847
--- Comment #3 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-11-27 08:44:02 CST --- Created an attachment (id=32168) --> (http://bugs.winehq.org/attachment.cgi?id=32168) patch
so something like the attached patch should fix it i guess?
not sure how to deal with the Apple-stuff though
http://bugs.winehq.org/show_bug.cgi?id=23847
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #32168|0 |1 is obsolete| |
--- Comment #4 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-12-09 14:56:23 CST --- (From update of attachment 32168) here's another patch, previous was incorrect as times from /proc/stat are not in seconds
http://bugs.winehq.org/show_bug.cgi?id=23847
--- Comment #5 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-12-09 14:58:31 CST --- Created an attachment (id=32429) --> (http://bugs.winehq.org/attachment.cgi?id=32429) new patch
Take into account that /proc/stat reports times in USER_HZ ticks . I'll send the patch
http://bugs.winehq.org/show_bug.cgi?id=23847
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |17084
http://bugs.winehq.org/show_bug.cgi?id=23847
ray@rh-software.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ray@rh-software.com
http://bugs.winehq.org/show_bug.cgi?id=23847
--- Comment #6 from ray@rh-software.com 2011-04-19 11:02:18 CDT --- I expect this is fixed in the 1.3.18 release.
http://bugs.winehq.org/show_bug.cgi?id=23847
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #7 from Anastasius Focht focht@gmx.net 2011-04-25 05:49:50 CDT --- Hello,
--- quote --- I expect this is fixed in the 1.3.18 release. --- quote ---
Indeed, it was fixed some time ago by Maarten Lankhorst:
http://source.winehq.org/git/wine.git/commit/f45b6c54bec52e9a8429fafa7a663ed...
http://source.winehq.org/git/wine.git/commit/67755d2593c372539005fab2aaf01fa...
Alexandre recently did some cleanup :
http://source.winehq.org/git/wine.git/commit/cc01c46f415821ec458845f678287a2...
.NET 1.0 (1.0.3705) installs now in clean WINEPREFIX - pure nostalgia ;-)
Regards
http://bugs.winehq.org/show_bug.cgi?id=23847
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2011-04-29 13:15:10 CDT --- Closing bugs fixed in 1.3.19.
http://bugs.winehq.org/show_bug.cgi?id=23847
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |f45b6c54bec52e9a8429fafa7a6 | |63edf98c98422
--- Comment #9 from Anastasius Focht focht@gmx.net 2011-10-11 15:05:45 CDT --- Hello,
filling/correcting fields ...
Regards
https://bugs.winehq.org/show_bug.cgi?id=23847
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.microsoft.com/Do |https://web.archive.org/web |wnLoads/details.aspx?family |/20060212113642/http://down |id=D7158DEE-A83F-4E21-B05A- |load.microsoft.com/download |009D06457787 |/e/b/2/eb247c2a-e6b3-4694-9 | |8a2-b27111d233dd/dotnetredi | |st.exe