I was getting this from “fossil stash” for no obvious reason: fossil: ./src/delta.c:231: checksum: Assertion `(z - (const unsigned char*)0)%4==0' failed.
Rebuilding both the local repo and the master repo didn’t help. Closing the current checkout and re-opening it did. The number of uncommitted changes was rather large, so instead of attempting to put the fresh checkout back into the pre-failure state, I just backed up my changes outside of Fossil and let Fossil overwrite the changed files. (I re-opened the repo over the top of the previous checkout rather than do all of this in a new tree.) As a test after re-opening the repo, I deleted part of a function and stashed that, then removed it from the stash. Stashing seems to work fine now. Here’s the backtrace from the resulting SIGABRT core dump: #0 0x00000035fee2ffc5 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00000035fee2ffc5 in raise () from /lib64/libc.so.6 #1 0x00000035fee31a70 in abort () from /lib64/libc.so.6 #2 0x00000035fee29466 in __assert_fail () from /lib64/libc.so.6 #3 0x0000000000422c72 in checksum (zIn=<value optimized out>, N=<value optimized out>) at ./src/delta.c:231 #4 0x0000000000422f4f in delta_create (zSrc=0x13e8dde0 "", lenSrc=0, zOut=0x54183f "", lenOut=0, zDelta=0x13e8cf14 "5") at ./src/delta.c:372 #5 0x00000000004237f6 in blob_delta_create (pOriginal=<value optimized out>, pTarget=0x7fffaf5dccd0, pDelta=0x7fffaf5dcd10) at ./src/deltacmd.c:40 #6 0x000000000046a833 in stash_add_file_or_dir (stashid=<value optimized out>, vid=<value optimized out>, zFName=<value optimized out>) at ./src/stash.c:126 #7 0x000000000046a9d5 in stash_create () at ./src/stash.c:195 #8 0x000000000046af08 in stash_cmd () at ./src/stash.c:494 #9 0x0000000000447e55 in main (argc=<value optimized out>, argv=<value optimized out>) at ./src/main.c:804 This was with version [b8c7af5bd9], plus the patch I recently sent to the list, running on CentOS 5. Since I purposely did not leave my local repo in a state where I can reproduce this, I don’t know if there’s any more help I can provide in tracking this down. When I say that this happened for no obvious reason, I mean that I can’t tie this event to a prior event. The system didn’t crash, it was working just fine prior to the error, etc. This failure just seemed to come out of the blue. The only odd thing is that this is probably the largest stash I’ve ever attempted. 38 files changed, and coming to about 2300 lines of diffs. (Ever gone down a rat hole, got lost, and needed to teleport back to the surface? Yeah, one of those.) _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users