Hello, The bug is that if you run ``fossil ui'' from within a subdirectory of a working checkout, then try to annotate source files fossil crashes with SIGSEGV and dumps core.
I haven't had the time to fix this so I'm reporting it now in the event that I don't get around to fixing it. As far as I can tell, the bug was introduced in a branch with commit [41f35ca4ec617891], though the crash didn't manifest until later. In this commit, when I try to annotate, Fossil doesn't crash, but it returns invalid manifest: http://www.fossil-scm.org/index.html/info/41f35ca4ec617891 Then with [d2b1565b7c112b82] it begins crashing: http://www.fossil-scm.org/index.html/info/d2b1565b7c112b82 And then the crash was introduced into trunk here: http://www.fossil-scm.org/index.html/info/ab8ed318e782cc73 This is the line where it crashes: http://www.fossil-scm.org/index.html/artifact?ln=2410&name=313f4c51a31b276b It crashes because annotate_start() never got run, and consequently it has bogus memory addresses in all its pointers. Why didn't annotate_start() return useful data? Because fnid is 0 and the while loop is never entered: http://www.fossil-scm.org/index.html/artifact?ln=2259-2261+2279&name=313f4c51a31b276b The call to file_canonical_name here munges the filename because it gets the current working directory and appends it to the file: http://www.fossil-scm.org/index.html/artifact?ln=1284&name=d1d99096ad028323 So for example, in the Fossil repository: cd /tmp/fossil/src; fossil ui Then try to annotate src/db.c And Fossil will crash because the path that it was trying to look up was: /tmp/fossil/src/src/db.c Andy -- TAI64 timestamp: 400000005a6411aa _______________________________________________ fossil-dev mailing list fossil-dev@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-dev