[HN Gopher] Show HN: Deadlog - almost drop-in mutex for debuggin...
___________________________________________________________________
Show HN: Deadlog - almost drop-in mutex for debugging Go deadlocks
I've done this same println debugging thing so many times, along
with some sed/awk stuff to figure out which call was causing the
issue. Now it's a small Go package. With some `runtime.Callers` I
can usually find the spot by just swapping the existing Mutex or
RWMutex for this one. Sometimes I switch the
mu.Lock() defer mu.Unlock() with the LockFunc/RLockFunc
to get more detail defer mu.LockFunc()() I
almost always initialize it with
`deadlog.New(deadlog.WithTrace(1))` and that's plenty. Not the
most polished library, but it's not supposed to land in any commit,
just a temporary debugging aid. I find it useful.
Author : dirteater_
Score : 12 points
Date : 2026-02-10 17:44 UTC (5 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| fractorial wrote:
| Cool utility! I would be remiss if I didn't mention synctest [1]
| which is quite excellent for not only async time testing but also
| catching subtle concurrency bugs.
|
| [1] https://go.dev/blog/synctest
___________________________________________________________________
(page generated 2026-02-10 23:01 UTC)