RepoJournal
Go

@golang

Go and the standard library — backend infrastructure at scale

Pick a date

The Wire · Showcase

RUNTIME MUTEX PROFILING LANDS, ARCHIVE/ZIP GETS CRITICAL FIX

By RepoJournal · Filed · About Go

Go's runtime now splits mutex lock tracking from preemption disable, unblocking safe contention profiling while a major Zip64 writer bug gets patched.

The core runtime change [1] separates gp.m.locks into two distinct mechanisms: one for tracking actual mutex holds and another for preemption disabling. This architectural split enables the mutex contention profiler to safely acquire mutexes during sampling without false positives. It's a careful fix that impacts how every Go program running on multiple goroutines manages synchronization visibility. Separately, archive/zip [2] shipped a critical writer-side Zip64 edge case fix that was causing mysterious failures when uploading files to external services. The bug manifested only in files larger than 4GiB but smaller than 6.5GiB, making it nearly impossible to debug. On the profile front, internal/profile [3] now correctly returns errors from gzip.Writer.Close in Profile.Write, preventing silent data corruption when pprof serialization fails due to disk full or broken pipes. The tooling desk is busy too: gopls [4] fixed generic method hover support and [5] corrected long-broken inlay hint logic in var specs, while the modernize analyzer [6] now handles negated error type assertions properly.

Action items

References

  1. [1] runtime: split gp.m.locks bits for lock vs acquirem golang/go
  2. [2] archive/zip: fix writer-side Zip64 edge cases golang/go
  3. [3] internal/profile: return error from gzip.Writer.Close in Profile.Write golang/go
  4. [4] gopls/internal/golang: Hover: add test of generic methods golang/tools
  5. [5] gopls/internal/golang: InlayHint: fix bug in 'var' specs golang/tools
  6. [6] go/analysis/passes/modernize: errorsastype: support negated case golang/tools
  7. [7] x86/x86asm: support AVX instructions golang/arch

FAQ

What changed in Go on May 21, 2026?
Go's runtime now splits mutex lock tracking from preemption disable, unblocking safe contention profiling while a major Zip64 writer bug gets patched.
What should Go teams do about it?
Review runtime mutex profiling changes if you maintain observability tooling • Upgrade to latest archive/zip if generating files over 4GiB • Update pprof callers to handle Profile.Write errors
Which Go repositories shipped on May 21, 2026?
golang/go, golang/tools, golang/arch

Related across the cluster

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.