RepoJournal
Rails

@rails

Ruby on Rails — Shopify, Basecamp, GitHub all run on it

Pick a date

The Wire · Showcase

RAILS KILLS DEADLOCK BUG IN BARE CONNECTIONS, PUSHES RACTOR SAFETY

By RepoJournal · Filed · About Rails

A fresh connection trying to check its database version was deadlocking against itself, and Shopify just shipped the fix.

Rails merged a critical fix for NullPool that was causing synchronization deadlocks [1] [2] [3]. The problem: when a bare connection (one using NullPool instead of ConnectionPool) queries server version on startup, it re-enters a Mutex-protected method that wasn't built for re-entrancy. A normal ConnectionPool uses a Monitor, which handles this gracefully, but NullPool's Mutex chokes. This is the kind of subtle bug that burns hours in production. Separately, Active Record is continuing its push toward Ractor safety [4] [5] by freezing and constantizing modules so they can be safely used in Ractorized contexts. This is table-stakes if you're running concurrent Ractors in your app. Documentation got a refresh with this week's TWIR [6] . Nothing earth-shaking here, but the connection deadlock fix is worth deploying immediately if you're using Rails with database connections that spin up fresh.

Action items

References

  1. [1] Merge pull request #57506 from Shopify/hm-tnotxonttqlwlvyo rails/rails
  2. [2] Fix NullPool#server_version deadlock rails/rails
  3. [3] Fix NullPool#server_version deadlock ↗ rails/rails
  4. [4] Active Record Ractor-safe freezing ↗ rails/rails
  5. [5] Merge pull request #57475 from Shopify/ar_ractor_freeze rails/rails
  6. [6] Add TWIR 29.05.2026 ↗ rails/website

FAQ

What changed in Rails on May 30, 2026?
A fresh connection trying to check its database version was deadlocking against itself, and Shopify just shipped the fix.
What should Rails teams do about it?
Pull latest rails/rails main and test fresh connections in your environment • Review your Ractor usage patterns if you're running concurrent code paths
Which Rails repositories shipped on May 30, 2026?
rails/rails, rails/website

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.