I am using Ubuntu 12.04 LTS. I wrote a simple program as follows to create crash
// null.c #include int main() { int *p = NULL; int k=*p;
My understanding is that using ulimit is not permanent, i.e. if you reboot then the limit goes back to 0. To have unlimited permanent, you need to change /etc/security/limits.conf. Similarly for core pattern etc, change /etc/sysctl.conf.