On Mon, Jul 10, 2017 at 04:40:42PM +0200, Lars Schneider wrote: > > If you want to see it in action, you can do: > > > > make SANITIZE=address > > ./git log -g HEAD HEAD >/dev/null > > > > which finds a bug I recently fixed (but the fix isn't in master yet). > > Do you think it would make sense to run these sanitizers on TravisCI > to ensure they keep clean? If yes, should we run only "address" or all > of them (if they run clean)? Maybe. It's expensive and it's relatively rare that it catches anything. I used to run valgrind (which is even more expensive) once every release or so. This is much cheaper, but I've noticed that the Travis environment is a lot slower than my laptop. So it might take an hour to run there, which I think would trigger some timeouts? I guess the best way is to try it and see. I probably wouldn't do an ASan run for each environment, but just one Linux ASan run, due to the CPU expense. (TBH, I think the existing gcc versus clang on both platforms is already slight overkill. But I guess if we have CPU to burn, more coverage is better than less). I think "address" is the only one that runs clean right now. With some work I think we could get "undefined" to run clean. The others, I'm not so sure. Some of them can actually be combined in a single build, but I'd have to dig into the documentation to see which (I think "thread" and "address" don't work well together, but "undefined" and "address" might). My SANITIZE trick doesn't handle multiple entries, but it could probably be taught to. -Peff