[Box Backup-dev] Where to put my bug fixes?

Ben Summers boxbackup-dev at fluffy.co.uk
Mon Jul 31 15:15:54 BST 2006


Nick

Please create a new branch off trunk and commit them there. (Not to  
trunk.)

We do sort of have branches for different kinds of work, it's just  
they're named by individuals at the moment. Suggestions for better  
ways of working welcomed.

Thanks

Ben


On 31 Jul 2006, at 10:45, Nick Knight wrote:

> Hello all,
>
> I know have now 3 bugs found in box backup 0.10, 1 specific to Windows
> and 2 general. All large file issues, which from my tests means any
> platform are not capable of backing up or restoring files >2GB.
>
> I know last time I worked on box I had a branch in SVN for my work, so
> where is best to put my work now? This branch is quite old etc.
>
> Also just a suggestion, but in previous development teams I have  
> worked
> on, they created branches for areas of work, so for example
>
>  - Win 32 development
>  - General bugs for next release
>  - Gui branch (etc etc)
>
> Just an idea?
>
> Regards
>
> Nick
>
> PS
> I had my fist encounter of GDB during these search for bugs, I have to
> say in my opinion the worst debugger I have ever used!!
>
> PPS - here are the bugs:
>
> Bugs found
>
> Win32 specific
> The emu called into the supplied stat structure, which the size of  
> file
> size was only 32 bit. There is a way with the Win32 headers to exclude
> their structure and create our own, which support 64 bit addressing.
>
> General
>
> Bug 1.
>
> In lib/backupclient/BackupStoreFileEncodeStream.cpp line 270:
>
> 	} while(rBlockSizeOut <= (BACKUP_FILE_MAX_BLOCK_SIZE/2) &&
> rNumBlocksOut > BACKUP_FILE_INCREASE_BLOCK_SIZE_AFTER);
> 	//BUG - Nick Knight 24-07-2006
> 	//Not sure whether this is the fix or the backupstorefile.cpp is
> the problem, they
> 	//certainly do not match...
> 	//added divide by 2.
>
> This on the client created blocks which the restore did not like the
> block size (this could also be fixed on the restore - but it  
> appeared to
> be sensible to fix it here.
>
> Bug 2.
>
> In /lib/common/ReadGatherStream.cpp
>
>
>                 // Anything in the current block?
>                 if(mPositionInCurrentBlock <
> mBlocks[mCurrentBlock].mLength)
>                 {
>                         // Read!
>                         pos_type s = mBlocks[mCurrentBlock].mLength -
> mPositionInCurrentBlock;
>                         if(s > bytesToRead) s = bytesToRead;
>
>                         int r =
> mComponents[mBlocks[mCurrentBlock].mComponent]->Read(buffer, s,
> Timeout);
>
> The pos_type s = mBlocks[mCurrentBlock].mLength -
> mPositionInCurrentBlock; var s was an int, when the server put a  
> single
> large file together, it places the whole file (data) as a single block
> into the object, which means any read should be the same addressable
> space.
> _______________________________________________
> Boxbackup-dev mailing list
> Boxbackup-dev at fluffy.co.uk
> http://lists.warhead.org.uk/mailman/listinfo/boxbackup-dev




More information about the Boxbackup-dev mailing list