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

Reply via email to