[Akonadi] [Bug 332013] on moving a mail: ItemRetrieverException: Unable to retrieve item from resource: NO PartHelperException, unable to open for writing, file too big

Martin Steigerwald ms at teamix.de
Tue Mar 25 14:36:17 GMT 2014


https://bugs.kde.org/show_bug.cgi?id=332013

--- Comment #6 from Martin Steigerwald <ms at teamix.de> ---
Well, I straced akonadiserver during that happening and really got a file to
big back on trying to write the file. Excerpt:

28443 <... poll resumed> )              = 1 ([{fd=96, revents=POLLIN}])
28443 read(97, 0x7f12ad7f9b60, 16)      = -1 EAGAIN (Resource temporarily
unavailable)
28443 ioctl(96, FIONREAD, [10])         = 0
28443 read(96, "491 BEGIN\n", 10)       = 10
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 write(137, "\v\0\0\0\3BEGIN WORK", 15) = 15
28443 read(137, "\7\0\0\1\0\0\0\3\0\0\0", 16384) = 11
28443 write(97, "\1\0\0\0\0\0\0\0", 8)  = 8
28443 select(97, [96], [96], NULL, {30, 0}) = 1 (out [96], left {29, 999998})
28443 write(96, "491 OK Begin completed\r\n", 24) = 24
28443 write(97, "\1\0\0\0\0\0\0\0", 8)  = 8
28443 poll([{fd=97, events=POLLIN}, {fd=96, events=POLLIN}], 2, 21930) = 1
([{fd=97, revents=POLLIN}])
28443 poll([{fd=97, events=POLLIN}, {fd=96, events=POLLIN}], 2, 21930) = 1
([{fd=97, revents=POLLIN}])
28443 read(97, "\2\0\0\0\0\0\0\0", 16)  = 8
28443 poll([{fd=97, events=POLLIN}, {fd=96, events=POLLIN}], 2, 21930) = 1
([{fd=96, revents=POLLIN}])
28443 read(97, 0x7f12ad7f9b60, 16)      = -1 EAGAIN (Resource temporarily
unavailable)
28443 ioctl(96, FIONREAD, [123])        = 0
28443 read(96, "492 X-AKAPPEND 591 26707 (\\MimeT"..., 123) = 123
28443 write(97, "\1\0\0\0\0\0\0\0", 8)  = 8
28443 select(97, [96], [96], NULL, {30, 0}) = 1 (out [96], left {29, 999998})
28443 write(96, "+ Ready for literal data (expect"..., 49) = 49
28443 write(97, "\1\0\0\0\0\0\0\0", 8)  = 8
28443 select(97, [96], [], NULL, {30, 0}) = 1 (in [96], left {29, 999998})
28443 write(97, "\1\0\0\0\0\0\0\0", 8)  = 8
28443 ioctl(96, FIONREAD, [5153])       = 0
28443 read(96, "MIME-Version: 1.0\r\nReceived: fro"..., 5153) = 5153
28443 write(97, "\1\0\0\0\0\0\0\0", 8)  = 8
28443 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 write(137, "\5\0\0\0\32!\0\0\0", 9) = 9
28443 read(137, "\7\0\0\1\0\0\0\3\0\0\0", 16384) = 11
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 write(137,
"N\0\0\0\27!\0\0\0\0\1\0\0\0\f\0\1\3\0\376\0\376\0\376\0\10\0\10\0\f\0\1"...,
82) = 82
28443 read(137, "\n\0\0\1\0\1\375\247$\27\3\0\0\0", 16384) = 14
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 write(137, "\5\0\0\0\32\"\0\0\0", 9) = 9
28443 read(137, "\7\0\0\1\0\0\0\3\0\0\0", 16384) = 11
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 poll([{fd=137, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
28443 write(137,
"6\0\0\0\27\"\0\0\0\0\1\0\0\0\4\1\10\0\376\0\374\0\10\0\3\0\1\0\247$\27\0"...,
58) = 58
28443 read(137, "\n\0\0\1\0\1\375A/.\3\0\0\0", 16384) = 14
28443 stat("/home/ms/.local/share/akonadi/file_db_data", {st_mode=S_IFDIR|0775,
st_size=21475328, ...}) = 0
28443 open("/home/ms/.local/share/akonadi/file_db_data//3026753_r0",
O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 EFBIG (File too large)

I am not sure whether its possible to find out the exact size, Akonadi
requested here. In any, cause I do not see any fallocate flags in there, which
probably wouldn't work over NFS anyway.

28443 open("/home/ms/.local/share/akonadi/akonadiserver.error",
O_WRONLY|O_CREAT|O_APPEND|O_CLOEXEC, 0666) = 8

There it writes 

Insert: payload file  "/home/ms/.local/share/akonadi/file_db_data//3026753_r0" 
could not be open for writing! 
Error:  "Die Datei ist zu groß" 

into the log.

28443 fcntl(8, F_SETFD, FD_CLOEXEC)     = 0
28443 fstat(8, {st_mode=S_IFREG|0664, st_size=15365, ...}) = 0
28443 fstat(8, {st_mode=S_IFREG|0664, st_size=15365, ...}) = 0
28443 lseek(8, 15365, SEEK_SET)         = 15365
28443 lseek(8, 15365, SEEK_SET)         = 15365


I am wondering what is happening here. Does an IMAP debug protocol makes sense
here? Maybe Exchange IMAP server reports wrong size of mail or something?

I stored the complete strace log, but I don't like to paste it here before
checking whether it has any confidential data in it.

Ah, I mentioned "file too big" in subject of bug. And well on exit, that might
not be a crash, but just a slow response of the IMAP resource?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list