Hi Reed,
On Mon, Jun 06, 2005 at 10:36:39AM -0400, Reed L. O'Brien wrote:
> strace attached.
>
> the early part is thunderbird. the latter is outlook. there is a
> line with ######## seperating the two.
>
> I hope the file isn't too big it's nearly 1MB compressed.
Nope, came through without problems. Thanks!
Ok. This is Binc 1.3 which I'm not too familiar with, but I've
analyzed the trace anyway;
[pid 10278] stat64("Trash/cur", 0xbffff50c) = -1 EACCES (Permission
denied)
[pid 10278] stat64("INBOX.Trash/cur", 0xbffff50c) = -1 EACCES
(Permission denied)
[pid 10278] stat64("Junk E-mail/cur", 0xbffff50c) = -1 EACCES
(Permission denied)
These don't look good - please check the unix permissions in the
mailbox.
Reading on, at the end of the Thunderbird session:
[pid 10277] read(0, "7 create \"INBOX/Trash\"\r\n", 4095) = 24
[pid 10277] write(8, "7 create \"INBOX/Trash\"\r\n", 24) = 24
[pid 10278] read(0, "7 create \"INBOX/Trash\"\r\n", 4095) = 24
[pid 10278] mkdir("INBOX.Trash", 0777) = -1 EEXIST (File exists)
[pid 10278] write(1, "7 NO CREATE failed: unable to create
INBOX.Trash: File exists\r\n", 63) = 63
[pid 10277] read(9, "7 NO CREATE failed: unable to create
INBOX.Trash: File exists\r\n", 8192) = 63
[pid 10277] write(1, "7 NO CREATE failed: unable to create
INBOX.Trash: File exists\r\n", 63) = 63
[pid 10277] read(0, "8 select \"INBOX\"\r\n", 4095) = 18
[pid 10277] write(8, "8 select \"INBOX\"\r\n", 18) = 18
[pid 10278] read(0, "8 select \"INBOX\"\r\n", 4095) = 18
[pid 10278] select(1, [0], NULL, NULL, NULL <unfinished ...>
[pid 10277] select(10, [0 9], NULL, NULL, {2100, 0} <unfinished ...>
-STOP-
Ok, so what's going on? Well, we see pid 10277 and 10278 sending data
back and forth. 10277 is bincimap-up which is talking to Thunderbird
on stdin and stdout, and bincimapd on fd 8/9, 10278 is bincimapd
talking to bincimap-up on stdin and stdout.
Command 7 works ok, trying to create Trash which fails because it
exists but then there's command 8, a select, which makes bincimapd go
do a select() for more input without a timeout; which is clearly a
bug. Now to find out why..
In the outlook session, it works better:
[pid 10286] read(0, "p77h SELECT \"INBOX\"\r\n", 4095) = 21
[pid 10286] write(8, "p77h SELECT \"INBOX\"\r\n", 21) = 21
[pid 10287] read(0, "p77h SELECT \"INBOX\"\r\n", 4095) = 21
[pid 10286] select(10, [0 9], NULL, NULL, {2100, 0} <unfinished ...>
[pid 10287] stat64("INBOX/cur", {st_mode=S_IFDIR|S_ISVTX|0755,
st_size=557056, ...}) = 0
[pid 10287] stat64("INBOX/new", {st_mode=S_IFDIR|S_ISVTX|0755,
st_size=32768, ...}) = 0
[pid 10287] stat64("INBOX/tmp", {st_mode=S_IFDIR|S_ISVTX|0755,
st_size=4096, ...}) = 0
[pid 10287] stat64("INBOX/new/", {st_mode=S_IFDIR|S_ISVTX|0755,
st_size=32768, ...}) = 0
[pid 10287] stat64("INBOX/cur/", {st_mode=S_IFDIR|S_ISVTX|0755,
st_size=557056, ...}) = 0
[pid 10287] stat64("INBOX/bincimap-cache", {st_mode=S_IFREG,
st_size=428921, ...}) = 0
[pid 10287] open("INBOX/bincimap-scan-lock", O_WRONLY|O_CREAT|O_EXCL,
0666) = 4
[pid 10287] close(4) = 0
[pid 10287] open("INBOX/bincimap-cache", O_RDONLY) = -1 EACCES
(Permission denied)
But there's still the Permission denied. And there are more of those
as well. So first suggestion from me is double-check permissions.
Perhaps it will just work<tm> if they are changed.
Either way, the Binc behavior isn't really right, so thanks for
showing this! :)
//Peter