http://bugs.winehq.org/show_bug.cgi?id=14275
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW Summary|Kontakt 3 fails at startup |Kontakt 3 fails at startup | |(VirtualLock/NtLockVirtualM | |emory of region fails due | |to low per-user default | |"ulimit -l" value) Ever Confirmed|0 |1
--- Comment #21 from Anastasius Focht focht@gmx.net 2011-12-19 16:13:23 CST --- Hello,
--- quote --- This is your friendly reminder that there has been no bug activity for 6 months. Is this still an issue in current (1.3.16 or newer) wine? --- quote ---
yep, still applies but you can work around by raising RLIMIT_MEMLOCK (comment #11).
The lowest limit seems to be around 4 MiB. You get a message box "WARNING: memory is getting low. This may cause dropouts or other artefacts" but the app still starts.
Lower than that it just crashes as I explained in comment #2
'ulimit -l 16384' (16 MiB) seems a safe bet.
Maybe Wine could print a warning once when mlock() fails (looking at errno ENOMEM), suggesting to raise limit like it does when running out of file handles (ulimit -n).
Source:
http://source.winehq.org/git/wine.git/blob/332eee40530f698c74f16d27c9833cccc...
As already explained in comment #2 the app tries to ensure that these lock calls don't fail by relying on SetProcessWorkingSetSize():
From MSDN:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366895.aspx
--- quote --- Applications that need to lock larger numbers of pages must first call the SetProcessWorkingSetSize function to increase their minimum and maximum working set sizes. The maximum number of pages that a process can lock is equal to the number of pages in its minimum working set minus a small overhead. --- quote ---
This API is a no-op in Wine (doesn't touch rlimit on Linux).
If no warning message is desired, it seems feasible to close this bug as WONTFIX.
---
$ sha1sum Kontakt3_Demo_Win.zip 5ae3cba688c835e8ea41923a879cd78103430cc0 Kontakt3_Demo_Win.zip
$ sha1sum Kontakt\ 3\ Demo.exe 3ee4b10f6be8518baecd7372ddc02f3cdef30a28 Kontakt 3 Demo.exe
$ wine --version wine-1.3.35-43-gd9d4a06
Regards