this post was submitted on 08 Jun 2024
1056 points (98.5% liked)

Programmer Humor

19187 readers
1160 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] uis@lemm.ee 1 points 3 months ago (1 children)

Well, threadsanitizer catches them in runtime. Not sure about GCC static analyser and other SA tools.

[–] 5C5C5C@programming.dev 3 points 3 months ago* (last edited 3 months ago) (1 children)

I use thread sanitizer and address sanitizer in my CI, and they have certainly helped in some cases, but they don't catch everything. In fact it's the cases that they miss which are by far the most subtle instances of undefined behavior of all.

They also slow down execution so severely that I can't use them when trying to recreate issues that occur in production.

[–] uis@lemm.ee 1 points 3 months ago

They caught lock inversion, that helped to fix obscure hangs, that I couldn't reproduce on my machine, but were constantly happening on machine with more cores.