I should have said that the v3 case is 2's complement for 32 bit
integers while the v4 case is 2's complement for 64 bit integers.

Also, the internal representation is clearly right in that both v3 and
v4 are retrieving the right number, just displaying it incorrectly.

- v3 is showing it as an unsigned rather than signed integer.
- v4 is realizing it is an unsigned integer but rejecting it as negative
  and then erroneously setting it to zero (and topping on the cake
  recording it as the 64 bit 2's complement of zero)

backu...@kosowsky.org wrote at about 21:51:27 -0400 on Monday, April 8, 2019:
 > OK, figured it out... VERY INTERESTING.
 > 
 > The original file has an mtime of -2082826800 which corresponds to 5AM
 > Friday, Jan 1, 1904.
 > The the error message in question is actually *right* and not an
 > error:
 >     setVarInt botch: got negative argument -2082826800; setting to 0
 > 
 > i.e. it truly is a negative mtime.
 > 
 > The reason for this odd time is that the file was created on a Mac128
 > (circa 1985) and apparently, on old Macs (pre-PowerPC), time starts with 
 > midnight Jan
 > 1, 1904 and runs until 2040. Now 5AM GMT is actually 12AM EST (my home
 > timezone), so the file shows a 'default' old Mac start date of
 > midnight Jan 1, 1904.
 > 
 > Now for the interesting part.
 > Both the v3 and v4 versions of BackupPC_attribPrint are actually wrong! 2 
 > (different) bugs!!!!
 > 
 > 1. v3 displays a positive mtime of 2212140496 which is is right only
 >    in the sense that it is the decimal equivalent of the 2's
 >    complement representation of -2082826800
 > 
 > 2. v4 properly catches that the mtime is negative, but signals an
 >    error rather than writing it. it then proceeds however to record a
 >    wrong (and very large) mtime of 18446744071626724816, rather than
 >    0. The number however is 2^64 which is the 2's complement of 0 for
 >    8 byte integers
 > 
 > 
 > Fascinating. I learned a lot from nailing this one down.
 > Now both the v3 and v4 bugs should presumably be corrected :)
 > 
 > "" wrote at about 20:23:18 -0400 on Monday, April 8, 2019:
 >  > "" wrote at about 20:13:33 -0400 on Monday, April 8, 2019:
 >  > 
 >  > Once again seems to be a problem with bpc_attrib.c:
 >  > BackupPC_attribPrint
 >  > 
 >  > Using v3:
 >  >  'MacWrite 5.0Scrap' => {
 >  >    'uid' => 501,
 >  >    'mode' => 33188,
 >  >    'sizeDiv4GB' => 0,
 >  >    'size' => 0,
 >  >    'type' => 0,
 >  >    'gid' => 501,
 >  >    'sizeMod4GB' => 0,
 >  >    'mtime' => 2212140496
 >  >   },
 >  >                            
 >  > Using v4:
 >  > 
 >  >  'MacWrite 5.0Scrap' => {
 >  >    'compress' => 3,
 >  >    'digest' => '',
 >  >    'gid' => 501,
 >  >    'inode' => 0,
 >  >    'mode' => 33188,
 >  >    'mtime' => '18446744071626724816',
 >  >    'name' => 'MacWrite 5.0Scrap',
 >  >    'nlinks' => 0,
 >  >    'size' => 0,
 >  >    'type' => 0,
 >  >    'uid' => 501
 >  >   },
 >  > 
 >  > Clearly, v4 is messing up on reading 'mtime' which presumably is what
 >  > is causing the problem, consistent with the verbose output of
 >  > BackupPC_migrateV3toV4 (as more fully excertped below)
 >  > 
 >  >  > setVarInt botch: got negative argument -2082826800; setting to 0
 >  >  > Wrote file MacWrite 5.0Scrap: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 0, inode = 11616435, nlinks = 0, digest = 0xd41d8c..., 
 > bufUsed = 925
 >  > 
 >  > 
 >  > 
 >  >  > 
 >  >  > Craig Barratt wrote at about 23:39:50 -0700 on Sunday, April 7, 2019:
 >  >  >  > Jeff,
 >  >  >  > 
 >  >  >  > Please send me an attrib file that triggers that error.
 >  >  >  > 
 >  >  >  > Craig
 >  >  >  > 
 >  >  > 
 >  >  > Here is the relevant verbose output from BackupPc_migrateV3toV4
 >  >  > starting with the attrib file:
 >  >  > 
 >  >  > bpc_poolRefDeltaUpdate(5a3631521955e47e179ea20d8a84ac5a, 1), count now 
 > 1
 >  >  > 
 > bpc_attrib_dirWrite(/var/lib/backuppc/pc/consult/13.v4/./f%2f/fvar/fopt/fexecutor/fshare/fhome/fSystem
 >  Folder/attrib): dirPath = 
 > /var/lib/backuppc/pc/consult/13.v4/./f%2f/fvar/fopt/fexecutor/fshare/fhome/fSystem
 >  Folder, attribFileName = attrib, baseAttribFileName = attrib
 >  >  > 
 > bpc_path_create(/var/lib/backuppc/pc/consult/13.v4/./f%2f/fvar/fopt/fexecutor/fshare/fhome/fSystem
 >  Folder)
 >  >  > Wrote file Extensions: type = 5, mode = 040771, uid/gid = 0/1002, size 
 > = 4096, inode = 11616442, nlinks = 0, digest = 0x000000..., bufUsed = 4
 >  >  > Wrote file %mac.rsrc: type = 0, mode = 0100660, uid/gid = 0/1002, size 
 > = 6753, inode = 11616437, nlinks = 0, digest = 0xc874b4..., bufUsed = 37
 >  >  > Wrote file system.ard: type = 0, mode = 0100660, uid/gid = 0/1002, 
 > size = 0, inode = 11616455, nlinks = 0, digest = 0xd41d8c..., bufUsed = 85
 >  >  > Wrote file %MacWrite 5.0Scrap: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 198, inode = 11616432, nlinks = 0, digest = 0x85e52a..., 
 > bufUsed = 133
 >  >  > Wrote file Excel Toolbars: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 267, inode = 11616447, nlinks = 0, digest = 0x619077..., 
 > bufUsed = 191
 >  >  > Wrote file %ParamRAM: type = 0, mode = 0100660, uid/gid = 0/1002, size 
 > = 198, inode = 11616457, nlinks = 0, digest = 0x5a3631..., bufUsed = 245
 >  >  > Wrote file Printer: type = 0, mode = 0100640, uid/gid = 0/1002, size = 
 > 0, inode = 11616441, nlinks = 0, digest = 0xd41d8c..., bufUsed = 293
 >  >  > Wrote file %system.ard: type = 0, mode = 0100660, uid/gid = 0/1002, 
 > size = 798, inode = 11616445, nlinks = 0, digest = 0xdcd6d0..., bufUsed = 338
 >  >  > Wrote file %System: type = 0, mode = 0100660, uid/gid = 0/1002, size = 
 > 487415, inode = 11616434, nlinks = 0, digest = 0xa9c2a3..., bufUsed = 388
 >  >  > Wrote file System: type = 0, mode = 0100660, uid/gid = 0/1002, size = 
 > 0, inode = 11616433, nlinks = 0, digest = 0xd41d8c..., bufUsed = 435
 >  >  > Wrote file Browser: type = 0, mode = 0100640, uid/gid = 0/1002, size = 
 > 0, inode = 11616450, nlinks = 0, digest = 0xd41d8c..., bufUsed = 479
 >  >  > Wrote file ParamRAM: type = 0, mode = 0100660, uid/gid = 0/1002, size 
 > = 20, inode = 11616443, nlinks = 0, digest = 0xcef2a5..., bufUsed = 524
 >  >  > Wrote file %Printer: type = 0, mode = 0100640, uid/gid = 0/1002, size 
 > = 2279, inode = 11616438, nlinks = 0, digest = 0x07c53e..., bufUsed = 570
 >  >  > Wrote file %Browser: type = 0, mode = 0100640, uid/gid = 0/1002, size 
 > = 119268, inode = 11616448, nlinks = 0, digest = 0x9fb0e6..., bufUsed = 617
 >  >  > Wrote file %windows.rsrc: type = 0, mode = 0100660, uid/gid = 0/1002, 
 > size = 15917, inode = 11616451, nlinks = 0, digest = 0xd30945..., bufUsed = 
 > 665
 >  >  > Wrote file %Excel Toolbars: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 198, inode = 11616439, nlinks = 0, digest = 0x7c1511..., 
 > bufUsed = 717
 >  >  > Wrote file windows.rsrc: type = 0, mode = 0100660, uid/gid = 0/1002, 
 > size = 0, inode = 11616453, nlinks = 0, digest = 0xd41d8c..., bufUsed = 772
 >  >  > Wrote file mac.rsrc: type = 0, mode = 0100660, uid/gid = 0/1002, size 
 > = 0, inode = 11616440, nlinks = 0, digest = 0xd41d8c..., bufUsed = 822
 >  >  > Wrote file Excel Settings (4): type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 0, inode = 11616436, nlinks = 0, digest = 0xd41d8c..., 
 > bufUsed = 868
 >  >  > setVarInt botch: got negative argument -2082826800; setting to 0
 >  >  > Wrote file MacWrite 5.0Scrap: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 0, inode = 11616435, nlinks = 0, digest = 0xd41d8c..., 
 > bufUsed = 925
 >  >  > Wrote file %godata.sav: type = 0, mode = 0100644, uid/gid = 501/501, 
 > size = 198, inode = 11616452, nlinks = 0, digest = 0x39c291..., bufUsed = 977
 >  >  > Wrote file %Preferences: type = 0, mode = 0100660, uid/gid = 0/1002, 
 > size = 198, inode = 11616454, nlinks = 0, digest = 0x087760..., bufUsed = 
 > 1028
 >  >  > Wrote file godata.sav: type = 0, mode = 0100644, uid/gid = 501/501, 
 > size = 1100, inode = 11616456, nlinks = 0, digest = 0xb247c3..., bufUsed = 
 > 1079
 >  >  > Wrote file MacWrite 5.0Undo: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 32, inode = 11616446, nlinks = 0, digest = 0x70bc8f..., 
 > bufUsed = 1129
 >  >  > Wrote file %MacWrite 5.0Undo: type = 0, mode = 0100644, uid/gid = 
 > 501/501, size = 198, inode = 11616449, nlinks = 0, digest = 0xb5c763..., 
 > bufUsed = 1184
 >  >  > Wrote file Preferences: type = 5, mode = 040771, uid/gid = 0/1002, 
 > size = 4096, inode = 11616431, nlinks = 0, digest = 0x000000..., bufUsed = 
 > 1241
 >  >  > 
 >  >  > 
 >  >  > I am also attaching the relevant attrib file
 >  >  > [DELETED ATTACHMENT attrib, Untyped binary data]
 > 
 > 
 > _______________________________________________
 > BackupPC-users mailing list
 > BackupPC-users@lists.sourceforge.net
 > List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
 > Wiki:    http://backuppc.wiki.sourceforge.net
 > Project: http://backuppc.sourceforge.net/


_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

Reply via email to