This is the second version of my series to try to address some issues noted by ThreadSanitizer. Thanks to all who took the time to provide input on the first version. The largest change is in the third patch, which moves the "avoid writing to slopbuf"-logic into strbuf_setlen, and compiles it unconditionally. Patch 2 hasn't been changed. The others have seen some minor changes. The patch introducing GIT_THREAD_SANITIZER is gone. The end result as far as ThreadSanitizer is concerned is the same: 1) set_try_to_free_routine, where Peff outlined some possibilities, and where I don't feel like I have any idea which of them is better. 2) hashmap_add, which I could try my hands on if Jeff doesn't beat me to it -- his proposed change should fix it and I doubt I could come up with anything "better", considering he knows the code. Martin Martin Ågren (4): convert: always initialize attr_action in convert_attrs pack-objects: take lock before accessing `remaining` strbuf_setlen: don't write to strbuf_slopbuf ThreadSanitizer: add suppressions strbuf.h | 5 ++++- builtin/pack-objects.c | 6 ++++++ color.c | 7 +++++++ convert.c | 5 +++-- transport-helper.c | 7 +++++++ .tsan-suppressions | 10 ++++++++++ 6 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 .tsan-suppressions -- 2.14.1.151.gdfeca7a7e