Re: [PATCH] add the ability to create and retrieve delta objects
- From
- Chris Mason <mason@suse.com>
- Date
- May 3, 2005, 14:13 UTC
- Message-ID
- <200505031013.57476.mason@suse.com>
- In-Reply-To
- <Pine.LNX.4.62.0505030344170.14033@localhost.localdomain>
On Tuesday 03 May 2005 04:06, Nicolas Pitre wrote:
Show 8 quoted lines
> On Mon, 2 May 2005, Linus Torvalds wrote: > > If you do something like this, you want such a delta-blob to be named by > > the sha1 of the result, so that things that refer to it can transparently > > see either the original blob _or_ the "deltified" one, and will never > > care. > > Yep, that's what I've done last weekend (and just made it actually > work since people are getting interested).
Hmmm, something is strange here, am I using this wrong?
coffee:~/git/linus.orig # ./test-delta -d foo foo2 delta1 coffee:~/git/linus.orig # ./test-delta -p foo delta1 out *** glibc detected *** free(): invalid next size (fast): 0x0804b008 *** Aborted
Valgrind output:
==9634== Invalid read of size 1 ==9634== at 0x1B9036F0: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1B90906F is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid write of size 1 ==9634== at 0x1B9036F3: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1BA3A08D is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid read of size 1 ==9634== at 0x1B9036F6: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1B90906E is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid write of size 1 ==9634== at 0x1B9036F9: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1BA3A08C is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid read of size 1 ==9634== at 0x1B9036FC: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1B90906D is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid write of size 1 ==9634== at 0x1B9036FF: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1BA3A08B is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid read of size 1 ==9634== at 0x1B903702: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1B90906C is not stack'd, malloc'd or (recently) free'd ==9634== ==9634== Invalid write of size 1 ==9634== at 0x1B903708: memcpy (in /usr/lib/valgrind/vgpreload_memcheck.so) ==9634== by 0x8049142: patch_delta (patch-delta.c:59) ==9634== by 0x80487CB: main (test-delta.c:65) ==9634== Address 0x1BA3A08A is not stack'd, malloc'd or (recently) free'd delta operation failed (returned NULL) ==9634== ==9634== ERROR SUMMARY: 206 errors from 13 contexts (suppressed: 0 from 0) ==9634== malloc/free: in use at exit: 0 bytes in 0 blocks. ==9634== malloc/free: 1 allocs, 1 frees, 5 bytes allocated. ==9634== For a detailed leak analysis, rerun with: --leak-check=yes ==9634== For counts of detected errors, rerun with: -v
-chris