[Box Backup] Endian bug in rc2 and trunk...

Alex Harper boxbackup@fluffy.co.uk
Fri, 08 Feb 2008 01:26:21 -0800


Hi,

Apparent endian bug in rc2 (also present on trunk). Client (bbackupd) is x86
OS X client 10.5.1, server (bbstored) is PPC OS X Server 10.5.1.

This is a fresh install, first backup of this account (or any account for
that matter).

bbstored extended logging:

WARNING: Message from child process 1116: Incoming connection from
192.168.1.10 port 51883
Client certificate CN: BACKUP-5dd
Send block allocation size is 1024
Receive Version(0x1)
Receive Version(0x1)
Send Version(0x1)
Send Version(0x1)
Receive Login(0x5dd,0)
Receive Login(0x5dd,0)
NOTICE: Login from Client ID 0x000005dd Read/Write
Send LoginConfirmed(0,0x2,0xc80000,0x1180000)
Send LoginConfirmed(0,0x2,0xc80000,0x1180000)
Receive ListDirectory(0x100000000000000,0x2,0xc,false)
Receive ListDirectory(0x100000000000000,0x2,0xc,false)
WARNING: Exception thrown: RaidFileException(RaidFileDoesntExist) at
RaidFileRead.cpp(1063)
Connection statistics for BACKUP-5dd: IN=81 OUT=84 TOTAL=165
ERROR: Error in child process, terminating connection: RaidFile
RaidFileDoesntExist (Error when accessing a file on the store. Check the
store with bbstoreaccounts check.) (2/11)


Forcing bbackupd to run on the x86 client under PPC emulation fixes the
problem, with the corrected command:

ListDirectory(0x1,0x2,0xc,false)

I'm sure this is a trivial fix for 0.11 but it leaves me wondering about
other lurking endian bugs. Of course, I completely understand Box comes with
no guarantees and that my setup may be unusual.

Would be it reasonable to force all my clients to run PPC binaries (in
emulation if necessary)? While I could switch to an x86 server, that would
just move the problem to the PPC clients. I'm wondering if forcing everyone
to use network-order natively is a way to avoid pitfalls.

Thanks for any advice,

Alex

--
Alex Harper                                         aharper@foobox.net

"Eternity is a terrible thought. I mean, where's it going to end?"
                                                   - Tom Stoppard