Is a program's maximum stack size a constant value?

Viewed 62

I'm running on Linux version 5.0.0-29-generic, with a maximum stack size of 8192KBytes. Is it always 8192 KBytes?

void main()
{
    char arr[8384000] = {};
    int x = 3;
}

I've run this code, and it only seg-faulted 50% of the time, I wonder why that is.

sergey@ipkt /proj/sergey/experiments (master) $ ./3
Segmentation fault (core dumped)
sergey@ipkt /proj/sergey/experiments (master) $ ./3
Segmentation fault (core dumped)
sergey@ipkt /proj/sergey/experiments (master) $ ./3
sergey@ipkt /proj/sergey/experiments (master) $ ./3
sergey@ipkt /proj/sergey/experiments (master) $ ./3
sergey@ipkt /proj/sergey/experiments (master) $ ./3
Segmentation fault (core dumped)
sergey@ipkt /proj/sergey/experiments (master) $ ./3
Segmentation fault (core dumped)
0 Answers
Related