I have pinpointed the issue on why the same code segfaults on different machines. In "simple_check_1_ge.c", there's a piece of code like the following. In kalkyl, the machine has 8 CPU's, when those are 16, the following code triggers a segmentation fault:
291 for (add = 0; add < cores; add++)
292 {
293 Queue x = NEW (Queue);
294 if (add == 0 && full != '@')
295 full = strstr (full, "\n@") + 1; //drop the fragment
296 if (add != 0) {
297 printf ("full->%0.20s\n", full);
298 full = strstr (full + offsett, "\n@") + 1;
299 }
Specifically, that is line 298 according to valgrind. If one sets "core/2", there's no problem.
Hej Enze,
I have pinpointed the issue on why the same code segfaults on different machines. In "simple_check_1_ge.c", there's a piece of code like the following. In kalkyl, the machine has 8 CPU's, when those are 16, the following code triggers a segmentation fault:
291 for (add = 0; add < cores; add++) 292 { 293 Queue x = NEW (Queue); 294 if (add == 0 && full != '@') 295 full = strstr (full, "\n@") + 1; //drop the fragment 296 if (add != 0) { 297 printf ("full->%0.20s\n", full); 298 full = strstr (full + offsett, "\n@") + 1; 299 }
Specifically, that is line 298 according to valgrind. If one sets "core/2", there's no problem.