Better info, oops regarding ECONNRESET
Scott Moomaw
scott at bridgewater.edu
Thu Aug 30 16:07:11 GMT 2001
I found the RST packets coming from the host in question so you can
disregard my post from yesterday. I wasn't looking far enough into the
output :-) It's been a long week here . . .
Looking more carefully at the truss commands, I have some more info as to
the situation. I'll include a truss snipped and then explain my theory.
19311: open64("eudora/Out.mbx", O_RDWR|O_NONBLOCK) = 23
19311: gettimeofday(0x08253990) = 0
19311: fcntl(13, F_SETLKW, 0x08046E9C) = 0
19311: fcntl(13, F_SETLKW, 0x08046E9C) = 0
19311: fcntl(13, F_SETLKW, 0x08047340) = 0
19311: send(5, "\0\0\0 AFF S M B -\0\0\0".., 69, 0) = 69
19311: poll(0x08047884, 3, 60000) = 1
19311: read(5, "\0\0\0 +", 4) = 4
19311: read(5, "FF S M B12\0\0\0\0\0\0\0".., 43) = 43
19311: gettimeofday(0x081DF1C4) = 0
19311: llseek(23, 0, SEEK_END) = 230402
19311: send(5, "\0\0\0 'FF S M B12\0\0\0".., 43, 0) = 43
19311: poll(0x08047884, 3, 60000) = 1
19311: read(5, "\0\0\0 3", 4) = 4
19311: read(5, "FF S M B1A\0\0\0\0\0\0\0".., 51) = 51
19311: gettimeofday(0x081DF1C4) = 0
19311: fstat64(23, 0x08047908) = 0
19311: llseek(23, 230771, SEEK_SET) = 230771
19311: read(23, 0x082222D5, -369) Err#22 EINVAL
19311: write(5, "\001FF", 3) = 3
19311: poll(0x08047884, 3, 60000) (sleeping...)
19311: poll(0x08047884, 3, 60000) = 1
19311: read(5, 0x08211E89, 4) Err#131 ECONNRESET
19311: time() = 999186383
19311: getuid() = 0 [9023]
The client that I've truss'ed about is running Eudora and in the process
of sending a new message. As part of this, it needs to append the new
message to Out.mbx on the server. Looking at the Out.mbx that exists, I
find that it is exactly 230402 bytes in size. If you look at the above
truss, you'll see a llseek to location 230771. Then the process attempts
to read from a location 369 bytes prior. The read(23, 0x082222D5, -369)
call fails with EINVAL because the read of negative bytes is disallowed.
It seems as if the system is trying to extend the file, by seeking beyond
its length, and then trying to backup using a negative read. Make sense?
I think that this negative read is really where things start to breakdown.
Your thoughts, ideas, fixes are appreciated.
Scott
------------------------------------------------------------------------
Scott Moomaw, Network Administrator Scott at Bridgewater.edu
Bridgewater College, IT Center
Bridgewater, VA 22812
Phone (540) 828 - 8000 x5437 FAX: (540) 828 - 5493
More information about the samba-technical
mailing list