Don't know if this is a gcc problem, or what, but it looks like comparisons between afs_offs_t's are not working properly:
If I copy the contents of nbytes and size to temporary integers, the comparisons work just fine in the read loop. But it looks like the results are reversed, when nbytes=2048 and size=8192, the generated code thinks that size<nbytes. But copying size and nbytes to temporary unsigned long or int vars it thinks that size > nbytes. What's odd is that a afs_offs_t is supposed to be an afs_uint32, which should be an unsigned long. Now here is where it gets really weird. If I copy nbytes and size to afs_uint32 temporary vars, the comparison works fine as well... AHHH! I see now. afs_offs_t is a non-atomic (not the right word) data type when on a client that supports 64 bit. The code should be changed to use the 64bit compare functions if AFS_64BIT_CLIENT is defined. I'll try to come up with a patch. The current cvs head code should probably be considered unsafe until all of the recent largefile changes have been checked over for this sort of problem. -- Nathan On Wed, 2003-03-12 at 17:59, Nathan Neulinger wrote: > Looks like there is something going wacko with the Log() call, those > numbers aren't real, as least not the 1362... one. Printing out those > numbers individually appears to work ok. Might be a integer width issue? > > In any case, looks like in the empty-volume case, iod_Read is returning > 2053 bytes when a read of 2048 bytes was requested. Still digging... > > On Wed, 2003-03-12 at 16:26, Neulinger, Nathan wrote: > > Looks to me like the nbytes value is way out of wack. I get this on the > > empty volume: > > > > Mar 12 16:21:34 afs-fs18 volserver[13119]: 1 Volser: CreateVolume: > > volume 538199060 (users.nneul.test1) created > > Mar 12 16:21:34 afs-fs18 volserver[13119]: 1 Volser: WriteFile: Error > > reading dump file 1 size=2048 nbytes=136295336 (2048 of 136295336); > > restore aborted > > Mar 12 16:21:34 afs-fs18 volserver[13119]: 1 Volser: ReadVnodes: IDEC > > inode 1 > > > > -- Nathan > > > > ------------------------------------------------------------ > > Nathan Neulinger EMail: [EMAIL PROTECTED] > > University of Missouri - Rolla Phone: (573) 341-4841 > > Computing Services Fax: (573) 341-4216 > > > > > > > -----Original Message----- > > > From: Neulinger, Nathan > > > Sent: Wednesday, March 12, 2003 4:22 PM > > > To: [EMAIL PROTECTED] > > > Subject: RE: [OpenAFS-devel] error report with hardly any > > > useful information, an assert in file server code > > > > > > > > > I have a reproducible error condition with the current cvs volserver > > > code. I can move sw.krb5src between my other file servers (all running > > > 2002-09-18 build) without any problem, but as soon as I try > > > to move the > > > volume to the file server running current code, it fails: > > > > > > Mar 12 16:11:19 afs-fs18 volserver[13119]: admin is executing > > > CreateVolume 'sw.krb5src' > > > Mar 12 16:11:19 afs-fs18 volserver[13119]: 1 Volser: CreateVolume: > > > volume 536928507 (sw.krb5src) created > > > Mar 12 16:12:12 afs-fs18 volserver[13119]: 1 Volser: WriteFile: Error > > > reading dump file 1 size=2048 nbytes=136294776 (-482088960 of > > > 136294775); restore aborted > > > Mar 12 16:12:12 afs-fs18 volserver[13119]: 1 Volser: ReadVnodes: IDEC > > > inode 1 > > > > > > Note - moving volumes OFF of that server works fine. > > > > > > I'm going to try and get some more info, but since this is very > > > reproducible, I figured it would be a good thing to investigate. > > > > > > Note - it hapens with ANY volume size, including a freshly created > > > volume that is completely empty. > > > > > > -- Nathan > > > > > > ------------------------------------------------------------ > > > Nathan Neulinger EMail: [EMAIL PROTECTED] > > > University of Missouri - Rolla Phone: (573) 341-4841 > > > Computing Services Fax: (573) 341-4216 > > > > > > > > > > -----Original Message----- > > > > From: Neulinger, Nathan > > > > Sent: Wednesday, March 12, 2003 3:31 PM > > > > To: [EMAIL PROTECTED] > > > > Subject: [OpenAFS-devel] error report with hardly any useful > > > > information, an assert in file server code > > > > > > > > > > > > > > > > > > > > Just upgraded a server to current snapshot, and got this assert. I > > > > believe it was in the process of trying to do a dump or a > > > > clone. I'm not > > > > positive. > > > > > > > > Assertion failed! file > > > > /umr/s/openafs/openafs/src/viced/afsfileprocs.c, > > > > line 6725. > > > > > > > > That looks to be something to do with large file support. > > > > > > > > I also got a couple of these, but have not been able to reproduce. > > > > > > > > Mar 12 15:18:06 afs-fs8 volserver[20341]: 1 Volser: Clone: Cloning > > > > volume 537102738 to new volume 538198043 > > > > Mar 12 15:18:11 afs-fs8 volserver[20341]: 1 Volser: WriteFile: Error > > > > reading dump file 1 size=354304 nbytes=136179608 (-702464 of > > > > 136179607); > > > > restore aborted > > > > Mar 12 15:18:11 afs-fs8 volserver[20341]: 1 Volser: ReadVnodes: IDEC > > > > inode 67108865 > > > > > > > > I need to check and make sure, but it looks like I'm seeing > > > a bunch of > > > > warnings about idle transactions that I wasn't seeing > > > before. They are > > > > all against clone volumes that were being used for dumps. > > > > > > > > Just got another one of those assertions. > > > > > > > > Basically, current cvs file/volserver code appears to have > > > > some issues. > > > > I'm going to try getting some more details on another > > > server with some > > > > test volumes... > > > > > > > > -- Nathan > > > > > > > > ------------------------------------------------------------ > > > > Nathan Neulinger EMail: [EMAIL PROTECTED] > > > > University of Missouri - Rolla Phone: (573) 341-4841 > > > > Computing Services Fax: (573) 341-4216 > > > > _______________________________________________ > > > > OpenAFS-devel mailing list > > > > [EMAIL PROTECTED] > > > > https://lists.openafs.org/mailman/listinfo/openafs-devel > > > > > > > _______________________________________________ > > > OpenAFS-devel mailing list > > > [EMAIL PROTECTED] > > > https://lists.openafs.org/mailman/listinfo/openafs-devel > > > > > _______________________________________________ > > OpenAFS-devel mailing list > > [EMAIL PROTECTED] > > https://lists.openafs.org/mailman/listinfo/openafs-devel -- ------------------------------------------------------------ Nathan Neulinger EMail: [EMAIL PROTECTED] University of Missouri - Rolla Phone: (573) 341-4841 Computing Services Fax: (573) 341-4216 _______________________________________________ OpenAFS-devel mailing list [EMAIL PROTECTED] https://lists.openafs.org/mailman/listinfo/openafs-devel
