http://bugs.winehq.org/show_bug.cgi?id=20351
Summary: Keyword corral crashes : Unhandled Exception: OutOfMemoryException. Product: Wine Version: 1.1.28 Platform: PC URL: http://www.johncow.com/brand-new-free-keyword-corral-t ool-by-john-cow-dot-com/ OS/Version: Linux Status: NEW Keywords: download, regression Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: xerox_xerox2000@yahoo.co.uk
This is a regression, the app used to crash a bit later in LsaLookupNmaes2 (see http://bugs.winehq.org/show_bug.cgi?id=16418) , but now crashes rightaway:
27ebfdb879ad4ddccbef5a864ea6928c7b80ccc1 is first bad commit commit 27ebfdb879ad4ddccbef5a864ea6928c7b80ccc1 Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Mon Oct 12 17:20:57 2009 +0900
kernel32: Implement HeapQueryInformation, add some basic tests for it.
:040000 040000 65792138b4ecb4df0a323a534fd0e12d84379e80 91d5e4e851e21c3ca7b72663d6152d5b4b5ffbb3 M dlls :040000 040000 2a67e12eca5063f497d228963956fcad7df7ebed 1a4a902ecba35e9b16486226ae060f2321f3c4e2 M include
http://bugs.winehq.org/show_bug.cgi?id=20351
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet
http://bugs.winehq.org/show_bug.cgi?id=20351
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.1.28 |1.1.31
http://bugs.winehq.org/show_bug.cgi?id=20351
--- Comment #1 from Dmitry Timoshkov dmitry@codeweavers.com 2009-10-14 00:07:06 --- I can't reproduce this. After installing dotnet20 with winetricks and then the app, I see the output reported in the bug 16418.
http://bugs.winehq.org/show_bug.cgi?id=20351
--- Comment #2 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-14 10:57:12 --- (In reply to comment #1)
I can't reproduce this. After installing dotnet20 with winetricks and then the app, I see the output reported in the bug 16418.
He, you're right... I ran the regression test on an existing .wine with some other stuff installed (my bad). With a clean .wine the bug is gone.
What is very strange though is this: i backed up that existing ~/.wine. When I move it back, i get the crash OutOfMemoryException. When I comment out HeapQueryInformation from kernel32.spec, the bug is gone.
However, when I run without above hack, a +relay log shows absolutely no call to HeapQueryInformation at all. This all makes no sense to me.
Dmitri, sorry for the noise, shall i resolve as invalid?
http://bugs.winehq.org/show_bug.cgi?id=20351
--- Comment #3 from Dmitry Timoshkov dmitry@codeweavers.com 2009-10-14 12:06:26 --- (In reply to comment #2)
Dmitri, sorry for the noise, shall i resolve as invalid?
Yeah, if there is no a real bug...
http://bugs.winehq.org/show_bug.cgi?id=20351
--- Comment #4 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-15 09:11:54 --- (In reply to comment #3)
(In reply to comment #2)
Dmitri, sorry for the noise, shall i resolve as invalid?
Yeah, if there is no a real bug...
For now i'll resolve as invalid. I've backed up that ~/.wine where the crash occurred. I'll see if i can find anything useful about this crash later on
http://bugs.winehq.org/show_bug.cgi?id=20351
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID
--- Comment #5 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-15 09:13:27 --- invalid for now
http://bugs.winehq.org/show_bug.cgi?id=20351
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-15 09:13:42 --- cl
http://bugs.winehq.org/show_bug.cgi?id=20351
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #7 from Anastasius Focht focht@gmx.net 2009-10-15 11:03:17 --- Hello,
I remember encountering such strange symptoms before.
When new Windows API functions are added to Wine dlls (just like HeapQueryInformation stub), the order of exports (and ordinals) naturally changes (if not explicitly specified). JIT compiled .NET assemblies (MSIL compiled to native code) have various optimizations also related to imports of unmanaged API. Basically due to API exports reordering, the wrong function is resolved/called from native image, leading to such strange symptoms.
You might try to force recreation of your NGEN cache (native .NET images) in WINEPREFIX and try your app again.
Something like this:
1. remove "c:\windows\assembly\NativeImages_xxx" folder just to be sure no leftover. 2. run 'wine ./ngen.exe update' (from where ngen.exe resides) 3. run your app
AFAIK when Windows Updates service updates system binaries, ngen is automatically scheduled, taking care of invalidated native .NET images.
Regards
http://bugs.winehq.org/show_bug.cgi?id=20351
--- Comment #8 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-15 13:58:12 ---
Something like this:
- remove "c:\windows\assembly\NativeImages_xxx" folder just to be sure no
leftover. 2. run 'wine ./ngen.exe update' (from where ngen.exe resides) 3. run your app
Ha, you're right again. The above commands fixes the bug.
Maybe it's worth to add something to appdb about this for people who don't remove their ~/.wine every day. Thanks for the clarification again.
http://bugs.winehq.org/show_bug.cgi?id=20351
--- Comment #9 from Anastasius Focht focht@gmx.net 2009-10-15 14:42:20 --- Hello,
--- quote --- Ha, you're right again. The above commands fixes the bug.
Maybe it's worth to add something to appdb about this for people who don't remove their ~/.wine every day. Thanks for the clarification again. --- quote ---
Well such problems are hard to diagnose. It was just an educated guess ;-)
In general people are better off with recreating the WINEPREFIX than using such special fixes. The last thing I want is to maintain a list of "how to repair seemingly broken WINEPREFIX" notes in appdb.
If this problem becomes more prominent one day, wine(boot) might need to schedule a run-once action for WINEPREFIXes with .NET installations to force a refresh of native image cache in case of API reordering.
Anyway, I documented this special issue here for the sake of google indexing and my lost memories so this bug was useful.
Regards