lkml.org 
[lkml]   [2010]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: mprotect() failed: Cannot allocate memory
    From
    Date
    On Wed, 2010-04-21 at 01:05 +0200, Paweł Sikora wrote:
    > hi,
    >
    > i'm trying to debug an ugly application with ElectricFence.
    > in fact, on x86-64 box with 8GB ram and 16GB swap i'm getting following error:
    >
    > "ElectricFence Exiting: mprotect() failed: Cannot allocate memory"
    >
    > the program has been compiled with gcc-4.5, glibc-2.11.1, kernel-2.6.32.
    > did you ever come across such (kernel/glibc) limitations?
    >
    > here's a simple testcase which triggs -ENOMEM in mprotect().

    You probably depleted the max map count, see:
    /proc/sys/vm/max_map_count

    We have a limit on the number of maps you can have, those mprotect()
    calls split you maps like crazy, see also /proc/$pid/maps.

    eg. change your second test program to include something like:

    char buf[128];
    snprintf(buf, sizeof(buf), "cat /proc/%d/maps", (int)getpid());
    system(buf);

    at the end after lowering your NN count to fit, and observe the result
    of those mprotect() calls.

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-04-21 12:19    [W:0.021 / U:0.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site