Appendix A. Exception codes

Table of Contents

Common Exceptions (1)
Raidfile Exceptions (2)
Server Exceptions (3)
Backupstore Exceptions (4)
Cipher Exceptions (5)
Compress Exceptions (6)
Connection Exceptions (7)
Http Exceptions (10)
Conversion Exceptions (12)
Client Exceptions (13)

Common Exceptions (1)

These are exceptions that can occur in any module of the system.

  • (1/0): Common Internal

  • (1/1): Common AssertFailed

  • (1/2): Common OSFileOpenError -- Can't open a file -- attempted to load a non-existant config file or bad file referenced within?

  • (1/3): Common OSFileCloseError

  • (1/4): Common FileAlreadyClosed

  • (1/5): Common BadArguments

  • (1/6): Common ConfigNoKey

  • (1/7): Common ConfigNoSubConfig

  • (1/8): Common GetLineNoHandle

  • (1/9): Common OSFileError -- Error accessing a file. Check permissions.

  • (1/10): Common GetLineEOF

  • (1/11): Common ConfigBadIntValue

  • (1/12): Common GetLineTooLarge -- Protects against very large lines using up lots of memory.

  • (1/13): Common NotSupported

  • (1/14): Common OSFileReadError

  • (1/15): Common OSFileWriteError

  • (1/16): Common FileClosed

  • (1/17): Common IOStreamBadSeekType

  • (1/18): Common CantWriteToPartialReadStream

  • (1/19): Common CollectInBufferStreamNotInCorrectPhase

  • (1/20): Common NamedLockAlreadyLockingSomething

  • (1/21): Common NamedLockNotHeld

  • (1/22): Common StreamableMemBlockIncompleteRead

  • (1/23): Common MemBlockStreamNotSupported

  • (1/24): Common StreamDoesntHaveRequiredProperty

  • (1/25): Common CannotWriteToReadGatherStream

  • (1/26): Common ReadGatherStreamAddingBadBlock

  • (1/27): Common CouldNotLookUpUsername

  • (1/28): Common CouldNotRestoreProcessUser

  • (1/29): Common CouldNotChangeProcessUser

  • (1/30): Common RegexNotSupportedOnThisPlatform -- Your platform does not have built in regular expression libraries.

  • (1/31): Common BadRegularExpression

  • (1/32): Common CouldNotCreateKQueue

  • (1/33): Common KEventErrorAdd

  • (1/34): Common KEventErrorWait

  • (1/35): Common KEventErrorRemove

  • (1/36): Common KQueueNotSupportedOnThisPlatform

  • (1/37): Common IOStreamGetLineNotEnoughDataToIgnore -- Bad value passed to IOStreamGetLine::IgnoreBufferedData()

  • (1/38): Common TempDirPathTooLong -- Your temporary directory path is too long. Check the TMP and TEMP environment variables.

  • (1/39): Common ArchiveBlockIncompleteRead -- The Store Object Info File is too short or corrupted, and will be rewritten automatically when the next backup completes.

  • (1/40): Common AccessDenied -- Access to the file or directory was denied. Please check the permissions.

  • (1/41): Common DatabaseOpenFailed -- Failed to open the database file

  • (1/42): Common DatabaseReadFailed -- Failed to read a record from the database file

  • (1/43): Common DatabaseWriteFailed -- Failed to write a record from the database file

  • (1/44): Common DatabaseDeleteFailed -- Failed to delete a record from the database file

  • (1/45): Common DatabaseCloseFailed -- Failed to close the database file

  • (1/46): Common DatabaseRecordNotFound -- The database does not contain the expected record

  • (1/47): Common DatabaseRecordAlreadyExists -- The database already contains a record with this key, which was not expected

  • (1/48): Common DatabaseRecordBadSize -- The database contains a record with an invalid size

  • (1/49): Common DatabaseIterateFailed -- Failed to iterate over the database keys

  • (1/50): Common ReferenceNotFound -- The database does not contain an expected reference

  • (1/51): Common TimersNotInitialised -- The timer framework should have been ready at this point

Raidfile Exceptions (2)

These are exceptions that can occur in the Raidfile module of the system.

  • (2/0): RaidFile Internal

  • (2/1): RaidFile CantOpenConfigFile -- The raidfile.conf file is not accessible. Check that it is present in the default location or daemon configuration files point to the correct location.

  • (2/2): RaidFile BadConfigFile

  • (2/3): RaidFile NoSuchDiscSet

  • (2/4): RaidFile CannotOverwriteExistingFile

  • (2/5): RaidFile AlreadyOpen

  • (2/6): RaidFile ErrorOpeningWriteFile

  • (2/7): RaidFile NotOpen

  • (2/8): RaidFile OSError -- Error when accessing an underlying file. Check file permissions allow files to be read and written in the configured raid directories.

  • (2/9): RaidFile WriteFileOpenOnTransform

  • (2/10): RaidFile WrongNumberOfDiscsInSet -- There should be three directories in each disc set.

  • (2/11): RaidFile RaidFileDoesntExist -- Error when accessing a file on the store. Check the store with bbstoreaccounts check.

  • (2/12): RaidFile ErrorOpeningFileForRead

  • (2/13): RaidFile FileIsDamagedNotRecoverable

  • (2/14): RaidFile InvalidRaidFile

  • (2/15): RaidFile DirectoryIncomplete

  • (2/16): RaidFile UnexpectedFileInDirPlace

  • (2/17): RaidFile FileExistsInDirectoryCreation

  • (2/18): RaidFile UnsupportedReadWriteOrClose

  • (2/19): RaidFile CanOnlyGetUsageBeforeCommit

  • (2/20): RaidFile CanOnlyGetFileSizeBeforeCommit

  • (2/21): RaidFile ErrorOpeningWriteFileOnTruncate

  • (2/22): RaidFile FileIsCurrentlyOpenForWriting

  • (2/23): RaidFile RequestedModifyUnreferencedFile -- Internal error: the server attempted to modify a file which has no references.

  • (2/24): RaidFile RequestedModifyMultiplyReferencedFile -- Internal error: the server attempted to modify a file which has multiple references.

  • (2/25): RaidFile RequestedDeleteReferencedFile -- Internal error: the server attempted to delete a file which is still referenced.

Server Exceptions (3)

These are exceptions that can occur in the Server module of the system.

  • (3/0): Server Internal

  • (3/1): Server FailedToLoadConfiguration

  • (3/2): Server DaemoniseFailed

  • (3/3): Server AlreadyDaemonConstructed

  • (3/4): Server BadSocketHandle

  • (3/5): Server DupError

  • (3/8): Server SocketAlreadyOpen

  • (3/10): Server SocketOpenError

  • (3/11): Server SocketPollError

  • (3/13): Server SocketCloseError

  • (3/14): Server SocketNameUNIXPathTooLong

  • (3/16): Server SocketBindError -- Check the ListenAddresses directive (bbstored) or CommandSocket (bbackupd) in your config file -- must refer to local IP addresses (or existing writable path) only

  • (3/17): Server SocketAcceptError

  • (3/18): Server ServerStreamBadListenAddrs

  • (3/19): Server ServerForkError

  • (3/20): Server ServerWaitOnChildError

  • (3/21): Server TooManySocketsInMultiListen -- There is a limit on how many addresses you can listen on simulatiously.

  • (3/22): Server ServerStreamTooManyListenAddresses

  • (3/23): Server TLSContextNotInitialised

  • (3/24): Server TLSAllocationFailed

  • (3/25): Server TLSLoadCertificatesFailed

  • (3/26): Server TLSLoadPrivateKeyFailed

  • (3/27): Server TLSLoadTrustedCAsFailed

  • (3/28): Server TLSSetCiphersFailed

  • (3/29): Server SSLLibraryInitialisationError

  • (3/31): Server TLSNoSSLObject

  • (3/35): Server TLSAlreadyHandshaked

  • (3/40): Server SocketSetNonBlockingFailed

  • (3/43): Server Protocol_BadUsage

  • (3/51): Server Protocol_UnsuitableStreamTypeForSending

  • (3/53): Server CantWriteToProtocolUncertainStream

  • (3/54): Server ProtocolUncertainStreamBadBlockHeader

  • (3/55): Server SocketPairFailed

  • (3/56): Server CouldNotChangePIDFileOwner

  • (3/57): Server SSLRandomInitFailed -- Read from /dev/*random device failed

Backupstore Exceptions (4)

These are exceptions that can occur in the Backupstore module of the system.

  • (4/0): BackupStore Internal

  • (4/1): BackupStore BadAccountDatabaseFile

  • (4/2): BackupStore AccountDatabaseNoSuchEntry

  • (4/3): BackupStore InvalidBackupStoreFilename

  • (4/4): BackupStore UnknownFilenameEncoding

  • (4/5): BackupStore CouldntReadEntireStructureFromStream

  • (4/6): BackupStore BadDirectoryFormat

  • (4/7): BackupStore CouldNotFindEntryInDirectory

  • (4/8): BackupStore OutputFileAlreadyExists

  • (4/9): BackupStore OSFileError

  • (4/10): BackupStore StreamDoesntHaveRequiredFeatures

  • (4/11): BackupStore BadBackupStoreFile

  • (4/12): BackupStore CouldNotLoadStoreInfo

  • (4/13): BackupStore BadStoreInfoOnLoad

  • (4/14): BackupStore StoreInfoIsReadOnly

  • (4/15): BackupStore StoreInfoDirNotInList

  • (4/16): BackupStore StoreInfoBlockDeltaMakesValueNegative

  • (4/17): BackupStore DirectoryHasBeenDeleted

  • (4/18): BackupStore StoreInfoNotInitialised

  • (4/19): BackupStore StoreInfoAlreadyLoaded

  • (4/20): BackupStore StoreInfoNotLoaded

  • (4/21): BackupStore ReadFileFromStreamTimedOut

  • (4/22): BackupStore FileWrongSizeAfterBeingStored

  • (4/23): BackupStore AddedFileDoesNotVerify

  • (4/24): BackupStore StoreInfoForWrongAccount

  • (4/25): BackupStore ContextIsReadOnly

  • (4/26): BackupStore AttributesNotLoaded

  • (4/27): BackupStore AttributesNotUnderstood

  • (4/28): BackupStore WrongServerVersion

  • (4/29): BackupStore ClientMarkerNotAsExpected -- Another process logged into the store and modified it while this process was running. Check you're not running two or more clients on the same account.

  • (4/30): BackupStore NameAlreadyExistsInDirectory

  • (4/31): BackupStore BerkelyDBFailure

  • (4/32): BackupStore InodeMapIsReadOnly

  • (4/33): BackupStore InodeMapNotOpen

  • (4/34): BackupStore FilenameEncryptionKeyNotKnown

  • (4/35): BackupStore FilenameEncryptionNoKeyForSpecifiedMethod

  • (4/36): BackupStore FilenameEncryptionNotSetup

  • (4/37): BackupStore CouldntLoadClientKeyMaterial

  • (4/38): BackupStore BadEncryptedAttributes

  • (4/39): BackupStore EncryptedAttributesHaveUnknownEncoding

  • (4/40): BackupStore OutputSizeTooSmallForChunk

  • (4/41): BackupStore BadEncodedChunk

  • (4/42): BackupStore NotEnoughSpaceToDecodeChunk

  • (4/43): BackupStore ChunkHasUnknownEncoding

  • (4/44): BackupStore ChunkContainsBadCompressedData

  • (4/45): BackupStore CantWriteToEncodedFileStream

  • (4/46): BackupStore Temp_FileEncodeStreamDidntReadBuffer

  • (4/47): BackupStore CantWriteToDecodedFileStream

  • (4/48): BackupStore WhenDecodingExpectedToReadButCouldnt

  • (4/49): BackupStore BackupStoreFileFailedIntegrityCheck

  • (4/50): BackupStore ThereIsNoDataInASymLink

  • (4/51): BackupStore IVLengthForEncodedBlockSizeDoesntMeetLengthRequirements

  • (4/52): BackupStore BlockEntryEncodingDidntGiveExpectedLength

  • (4/53): BackupStore CouldNotFindUnusedIDDuringAllocation

  • (4/54): BackupStore AddedFileExceedsStorageLimit

  • (4/55): BackupStore CannotDiffAnIncompleteStoreFile

  • (4/56): BackupStore CannotDecodeDiffedFilesWithoutCombining

  • (4/57): BackupStore FailedToReadBlockOnCombine

  • (4/58): BackupStore OnCombineFromFileIsIncomplete

  • (4/59): BackupStore BadNotifySysadminEventCode

  • (4/60): BackupStore InternalAlgorithmErrorCheckIDNotMonotonicallyIncreasing

  • (4/61): BackupStore CouldNotLockStoreAccount -- Another process is accessing this account -- is a client connected to the server?

  • (4/62): BackupStore AttributeHashSecretNotSet

  • (4/63): BackupStore AEScipherNotSupportedByInstalledOpenSSL -- The system needs to be compiled with support for OpenSSL 0.9.7 or later to be able to decode files encrypted with AES

  • (4/64): BackupStore SignalReceived -- A signal was received by the process, restart or terminate needed. Exception thrown to abort connection.

  • (4/65): BackupStore IncompatibleFromAndDiffFiles -- Attempt to use a diff and a from file together, when they're not related

  • (4/66): BackupStore DiffFromIDNotFoundInDirectory -- When uploading via a diff, the diff from file must be in the same directory

  • (4/67): BackupStore PatchChainInfoBadInDirectory -- A directory contains inconsistent information. Run bbstoreaccounts check to fix it.

  • (4/68): BackupStore UnknownObjectRefCountRequested -- A reference count was requested for an object whose reference count is not known.

  • (4/69): BackupStore MultiplyReferencedObject -- Attempted to modify an object with multiple references, should be uncloned first

  • (4/70): BackupStore CorruptReferenceCountDatabase -- The account's refcount database is corrupt and must be rebuilt by housekeeping.

  • (4/71): BackupStore CancelledByBackgroundTask -- The current task was cancelled on request by the background task.

Cipher Exceptions (5)

These are exceptions that can occur in the Cipher module of the system.

  • (5/0): Cipher Internal

  • (5/1): Cipher UnknownCipherMode

  • (5/2): Cipher AlreadyInitialised

  • (5/3): Cipher BadArguments

  • (5/4): Cipher EVPInitFailure

  • (5/5): Cipher EVPUpdateFailure

  • (5/6): Cipher EVPFinalFailure

  • (5/7): Cipher NotInitialised

  • (5/8): Cipher OutputBufferTooSmall

  • (5/9): Cipher EVPBadKeyLength

  • (5/10): Cipher BeginNotCalled

  • (5/11): Cipher IVSizeImplementationLimitExceeded

  • (5/12): Cipher PseudoRandNotAvailable

  • (5/13): Cipher EVPSetPaddingFailure

  • (5/14): Cipher RandomInitFailed -- Failed to read from random device

  • (5/15): Cipher LengthRequestedTooLongForRandomHex

Compress Exceptions (6)

These are exceptions that can occur in the Compress module of the system.

  • (6/0): Compress Internal

  • (6/1): Compress InitFailed

  • (6/2): Compress EndFailed

  • (6/3): Compress BadUsageInputNotRequired

  • (6/4): Compress TransformFailed

  • (6/5): Compress CopyCompressStreamNotAllowed

  • (6/6): Compress NullPointerPassedToCompressStream

  • (6/7): Compress CompressStreamReadSupportNotRequested -- Specify read in the constructor

  • (6/8): Compress CompressStreamWriteSupportNotRequested -- Specify write in the constructor

  • (6/9): Compress CannotWriteToClosedCompressStream

Connection Exceptions (7)

These are exceptions that can occur in the Connection module of the system.

  • (7/6): Connection SocketWriteError -- Probably a network issue between client and server.

  • (7/7): Connection SocketReadError -- Probably a network issue between client and server.

  • (7/9): Connection SocketNameLookupError -- Check hostname specified.

  • (7/12): Connection SocketShutdownError

  • (7/15): Connection SocketConnectError -- Probably a network issue between client and server, bad hostname, or server not running.

  • (7/30): Connection TLSHandshakeFailed

  • (7/32): Connection TLSShutdownFailed

  • (7/33): Connection TLSWriteFailed -- Probably a network issue between client and server.

  • (7/34): Connection TLSReadFailed -- Probably a network issue between client and server, or a problem with the server.

  • (7/36): Connection TLSNoPeerCertificate

  • (7/37): Connection TLSPeerCertificateInvalid -- Check certification process

  • (7/38): Connection TLSClosedWhenWriting

  • (7/39): Connection TLSHandshakeTimedOut

  • (7/41): Connection Protocol_Timeout -- Probably a network issue between client and server.

  • (7/42): Connection Protocol_ObjTooBig

  • (7/44): Connection Protocol_BadCommandRecieved

  • (7/45): Connection Protocol_UnknownCommandRecieved

  • (7/46): Connection Protocol_TriedToExecuteReplyCommand

  • (7/47): Connection Protocol_UnexpectedReply -- Server probably reported an error.

  • (7/48): Connection Protocol_HandshakeFailed

  • (7/49): Connection Protocol_StreamWhenObjExpected

  • (7/50): Connection Protocol_ObjWhenStreamExpected

  • (7/52): Connection Protocol_TimeOutWhenSendingStream -- Probably a network issue between client and server.

  • (7/53): Connection Protocol_StreamsNotConsumed -- The server command handler did not consume all streams that were sent.

Http Exceptions (10)

These are exceptions that can occur in the Http module of the system.

  • (10/0): HTTP Internal

  • (10/1): HTTP RequestReadFailed

  • (10/2): HTTP RequestAlreadyBeenRead

  • (10/3): HTTP BadRequest

  • (10/4): HTTP UnknownResponseCodeUsed

  • (10/5): HTTP NoContentTypeSet

  • (10/6): HTTP POSTContentTooLong

  • (10/7): HTTP CannotSetRedirectIfReponseHasData

  • (10/8): HTTP CannotSetNotFoundIfReponseHasData

  • (10/9): HTTP NotImplemented

  • (10/10): HTTP RequestNotInitialised

  • (10/11): HTTP BadResponse

  • (10/12): HTTP ResponseReadFailed

  • (10/13): HTTP NoStreamConfigured

Conversion Exceptions (12)

These are exceptions that can occur in the Conversion module of the system.

  • (12/0): Conversion Internal

  • (12/1): Conversion CannotConvertEmptyStringToInt

  • (12/2): Conversion BadStringRepresentationOfInt

  • (12/3): Conversion IntOverflowInConvertFromString

  • (12/4): Conversion BadIntSize

Client Exceptions (13)

These are exceptions that can occur in the Client module of the system.

  • (13/0): Client Internal

  • (13/1): Client AssertFailed

  • (13/2): Client ClockWentBackwards -- Invalid (negative) sync period: perhaps your clock is going backwards?

  • (13/3): Client FailedToDeleteStoreObjectInfoFile -- Failed to delete the StoreObjectInfoFile, backup cannot continue safely.

  • (13/4): Client CorruptStoreObjectInfoFile -- The store object info file contained an invalid value and is probably corrupt. Try deleting it.