[Bug 14275] Kontakt 3 fails at startup (VirtualLock/NtLockVirtualMemory of region fails due to low per-user default "ulimit -l" value)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Dec 19 16:13:23 CST 2011


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

Anastasius Focht <focht at 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 at 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/332eee40530f698c74f16d27c9833ccccb25bfa2:/dlls/ntdll/virtual.c#l2309

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

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