Jeremie Le Hen
2012-Feb-19 21:36 UTC
"File too large" error when appending to a file of 130 MB
Hi list, Can you please Cc: me when replying as I'm not subscribed, thanks. I have a problem with procmail which gets a "File too large" error when it tries to write at the end of some mailbox file. I truss'ed it and I found the following: % stat("/home/jlh/Mail//mbox1",{ mode=-rw------- ,inode=336983,size=138744672,blksize=131072 }) = 0 (0x0) % open("/home/jlh/Mail//mbox1",O_WRONLY|O_APPEND|O_CREAT,0667) = 5 (0x5) % lseek(5,0x0,SEEK_END) = 138744672 (0x8451360) % wait4(0xffffffff,0x0,0x1,0x0,0x3,0x5) ERR#10 'No child processes' % lseek(5,0x0,SEEK_CUR) = 138744672 (0x8451360) % fcntl(5,F_SETLKW,0xffffd9a4) = 0 (0x0) % lseek(5,0x0,SEEK_END) = 138744672 (0x8451360) % write(5,"F",1) ERR#27 'File too large' % fstat(5,{ mode=-rw------- ,inode=336983,size=138744672,blksize=131072 }) = 0 (0x0) % write(5,"rom lionel.messien+caf_=jlh=chch"...,3627) ERR#27 'File too large' I can append something to the file manually. I wonder if the error doesn't come from the SETLKW fnctl(2) call, but I cannot experiment it because truss(1) doesn't show the content of the flock structure. If I change the procmail recipe to write to another file (which doesn't exist), the file is successfully created and messages can be appended. I narrowed down the failure threshold between 48 MB and 49 MB (in steps of 64 KB, it failed between 781 and 782 blocks). This is a 8.2 32 bits jail on a 8.2 amd64 host. In the jail, /home is a nullfs mounted ZFS filesystem. The mailbox is not that big: % felucia:jlh$ ls -l Mail/mbox1 % -rw-------+ 1 jlh jlh 138744672 Feb 19 11:46 Mail/mbox1 (( For some unknown reason some ACL keep appearing, but the problem if still there anyway if I do setfacl -b on it: % felucia:jlh$ getfacl Mail/mbox1 % # file: Mail/mbox1 % # owner: jlh % # group: jlh % owner@:rw-p--aARWcCos:------:allow % group@:------a-R-c--s:------:allow % everyone@:------a-R-c--s:------:allow )) Does anyone have an idea about this error? Besides, if someone knows why those ACLs keep appearing, I would be glad to know it :). Thanks. -- Jeremie Le Hen Men are born free and equal. Later on, they're on their own. Jean Yanne
Rick Macklem
2012-Feb-20 00:46 UTC
"File too large" error when appending to a file of 130 MB
Jeremie Le Hen wrote:> Hi list, > > Can you please Cc: me when replying as I'm not subscribed, thanks. > > I have a problem with procmail which gets a "File too large" error > when > it tries to write at the end of some mailbox file. > > I truss'ed it and I found the following: > > % stat("/home/jlh/Mail//mbox1",{ mode=-rw------- > ,inode=336983,size=138744672,blksize=131072 }) = 0 (0x0) > % open("/home/jlh/Mail//mbox1",O_WRONLY|O_APPEND|O_CREAT,0667) = 5 > (0x5) > % lseek(5,0x0,SEEK_END) = 138744672 (0x8451360) > % wait4(0xffffffff,0x0,0x1,0x0,0x3,0x5) ERR#10 'No child processes' > % lseek(5,0x0,SEEK_CUR) = 138744672 (0x8451360) > % fcntl(5,F_SETLKW,0xffffd9a4) = 0 (0x0) > % lseek(5,0x0,SEEK_END) = 138744672 (0x8451360) > % write(5,"F",1) ERR#27 'File too large' > % fstat(5,{ mode=-rw------- > ,inode=336983,size=138744672,blksize=131072 }) = 0 (0x0) > % write(5,"rom lionel.messien+caf_=jlh=chch"...,3627) ERR#27 'File too > large' > > I can append something to the file manually. I wonder if the error > doesn't come from the SETLKW fnctl(2) call, but I cannot experiment it > because truss(1) doesn't show the content of the flock structure. > > If I change the procmail recipe to write to another file (which > doesn't > exist), the file is successfully created and messages can be appended. > I narrowed down the failure threshold between 48 MB and 49 MB (in > steps > of 64 KB, it failed between 781 and 782 blocks). > > > This is a 8.2 32 bits jail on a 8.2 amd64 host. In the jail, /home is > a > nullfs mounted ZFS filesystem. The mailbox is not that big: > > % felucia:jlh$ ls -l Mail/mbox1 > % -rw-------+ 1 jlh jlh 138744672 Feb 19 11:46 Mail/mbox1 > > > (( For some unknown reason some ACL keep appearing, but the problem if > still there > anyway if I do setfacl -b on it: > > % felucia:jlh$ getfacl Mail/mbox1 > % # file: Mail/mbox1 > % # owner: jlh > % # group: jlh > % owner@:rw-p--aARWcCos:------:allow > % group@:------a-R-c--s:------:allow > % everyone@:------a-R-c--s:------:allow > )) > > > Does anyone have an idea about this error? Besides, if someone knows > why those ACLs keep appearing, I would be glad to know it :). >AFAIK, NFSv4 style ACLs are always enabled for ZFS and cannot be turned off.> Thanks. > -- > Jeremie Le Hen > > Men are born free and equal. Later on, they're on their own. > Jean Yanne > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to > "freebsd-stable-unsubscribe@freebsd.org"
Phil Murray
2012-Feb-21 01:49 UTC
"File too large" error when appending to a file of 130 MB
On 20/02/2012, at 10:36 AM, Jeremie Le Hen wrote:> Hi list, > > Can you please Cc: me when replying as I'm not subscribed, thanks. > > I have a problem with procmail which gets a "File too large" error when > it tries to write at the end of some mailbox file. > >Is procmail running from Postfix (or some other MTA)? I've hit this problem where Postfix has set a filesize ulimit, which all the scripts spawned from Postfix will inherit. In my case, I had a script that was hitting the filesize limit trying to log it's results to a logfile that doesn't get rotated. I imagine the same thing could happen with procmail, if postfix was calling it. Cheers Phil