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