I have been experimenting on some of my PDM (parallel disk model) sorting code and wanted to create huge files with billions of keys I wanted to create a file with 1 billion integers (1024*1024*1024*4), the program stopped after some time saying that it "File size limit exceeded" , however in my shell (csh) the 'limit' command showed unlimited.
[vamsik@abadon PDMSorting]$ ./pdm_sort Setting RAND_SEED to 1201763856 Filesize limit exceeded [vamsik@abadon PDMSorting]$ ls -al key_file.txt ---------- 1 vamsik fuse 2147483647 Jan 31 02:18 key_file.txt [vamsik@abadon PDMSorting]$
I saw that the file was created without any permissions, so I tweaked my 'umask' but nothing changed (I was doing a open with (O_WRONLY|O_CREAT)). You might be wondering what exactly I'm trying to say in this post, in fact the story just started, rather than setting my 'umask' to 'umask 22', I have set it to 'umask 755' and as usual I was doing a build with 'make' this is what happened.
[vamsik@abadon PDMSorting]$ make gcc -O2 -I../myutil/ -c ExternalSort.c ExternalSort.c:1: fatal error: can't open /tmp/cct9kuSr.s for writing: Permission denied compilation terminated. The bug is not reproducible, so it is likely a hardware or OS problem. make: *** [ExternalSort.o] Error 1 [vamsik@abadon PDMSorting]$
Looks strange right? , see the funny thing it says "The bug is not reproducible, so it is likely a hardware or OS problem." , its really a stupid error message how can it say it cannot be reproduces? , just set 'umask 755' and do a 'gcc' on any file its going to say the same thing, in fact the message is a utter contradiction because we can reproduce this by changing the 'umask'. I'm going to report this to the 'gcc' maintainers or submit a patch to the maintainers.