Hello again Unfortunately I ran into trouble trying to implement the cancel callback in the Subvertpy library. The library passes a temporary pool to svn_ra_get_location_segments(), and then destroys the pool when the call returns. However this seems to be causing a segfault in the subsequent call to svn_ra_get_log2().
GDB backtrace and demonstration code: https://gist.github.com/vadmium/8643825 After reading Bert’s response, it sounds like the Serf implementation doesn’t handle cancellation properly at all, and my crash could be another symptom of the same problem. So unless anyone has any other suggestions I think I will try to avoid returning errors into any callback, cancel function or otherwise.