Проблема здесь:
printf("allocating memory..."); //line 2
Во многих архитектурах вы буферизировали вывод, что означает, что то, что вы печатаете на экране, отображается не сразу, а в буфере памяти.Чтобы очистить буфер и убедиться, что он напечатан немедленно, вы можете использовать
printf("allocating memory...\n"); //line 2 with the \n character that flushes the buffer
, хотя я не нашел ничего, чтобы доказать это, кроме личного опыта, или, наоборот, если вы не хотите идти вновую строку (и будьте абсолютно уверены в том, что она очищена), вы можете использовать fflush(stdout)
сразу после строки 2.