Thread (2 messages) 2 messages, 2 authors, 2015-05-06

[RFC] kernel random segmentation fault?

From: long.wanglong <hidden>
Date: 2015-05-06 03:47:48
Also in: linux-mm, lkml

Hi all:

I meet a kernel problem about the random segmentation fault(x86_64). In my testcase, the size of local variables exceeds 20MB.
when run the testcase, it will cause segmentation fault(because the default stack size limit is 8192KB).
when I increase the stack size limit to 1024000KB(ulimit -s 1024000), the testcase will pass.

But when I run the testcase 100 times, it will cause random segmentation fault.

Maybe the commit fee7e49d45149fba60156f5b59014f764d3e3728  "mm: propagate error from stack expansion even for guard page"
cause this problems, when I revert it, the testcase will not cause random segmentation fault problem.

Can anyone give some ideas about this problem?

Best Regards
Wang Long

############ Test Environment #############

# uname -a
Linux ivybridge 4.1.0-rc2+ #3 SMP PREEMPT Wed May 6 10:46:57 CST 2015 x86_64 x86_64 x86_64 GNU/Linux


############  The Testcase ################

#include <stdio.h>
#include <stdlib.h>
#include <sys/resource.h>

#define KB *1024
#define MB *(1024*1024)
#define GB *(1024*1024*1024)

int main(int argc, char** argv)
{
    int ret;
    struct rlimit rlim;

    rlim.rlim_cur=20 MB;
    rlim.rlim_max=20 MB;
    ret = setrlimit(RLIMIT_AS, &rlim);
    if ( 0 > ret)
    {
        perror("setrlimit failed");
        exit(1);
    }

    printf("setrlimit success\n");

    char tmp[20 MB];
    int i = 0;

    for (i = 0; i < 20 MB; i++)
    {
        tmp[i]=1;
    }

    printf("test success\n");
    exit(1);
}

# My config


-- 
1.8.3.4


.


Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help