Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Connection refused error after updating to 1.6.X in a Rails project running inside docker

Offen
#761 15 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
docker, rails, ruby
Bereich
devtools

Rechercherichtung

Reproduce the failure with the Ruby 3.1.2-slim Docker image and the listed rdbg command, then inspect debug-1.6.0/lib/debug/client.rb at connect_unix and compare its socket naming with debug 1.5.0. Done means rdbg -A attaches to the running Rails/Puma process after updating to a 1.6 release.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Your environment

  • ruby -v: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [aarch64-linux]
  • rdbg -v: working: rdbg 1.5.0, non-working rdbg 1.6.X

Describe the bug
I'm using the official Ruby 3.1.2-slim docker image. After updating the debug gem from 1.5.0 to 1.6.X, I cannot attach to the running process any more.

I'm running a Rails project with the latest Rails version (7.0.4) and the Puma web server. This is the command I'm running:

rdbg --open --nonstop -c -- rails s -b '0.0.0.0'

Using debug 1.5.0, all is well:

❯ dc exec web rdbg -A
# No sourcefile available for /usr/local/bundle/gems/puma-5.6.5/lib/puma/single.rb
=>#0    [C] Thread#join at /usr/local/bundle/gems/puma-5.6.5/lib/puma/single.rb:61
  #1    Puma::Single#run at /usr/local/bundle/gems/puma-5.6.5/lib/puma/single.rb:61
  # and 15 frames (use `bt' command for all frames)

Stop by SIGURG
(rdbg:remote) c    # continue command

Socket name (automatically chosen by the debug gem): /tmp/ruby-debug-sock-0/ruby-debug-ruby-debug-1

Using debug 1.6.X, the connection does not work any more:

/usr/local/lib/ruby/3.1.0/socket.rb:64:in `connect': Connection refused - connect(2) for /tmp/ruby-debug-sock-0/ruby-debug-UnknownUser-1 (Errno::ECONNREFUSED)
        from /usr/local/lib/ruby/3.1.0/socket.rb:64:in `connect_internal'
        from /usr/local/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from /usr/local/lib/ruby/3.1.0/socket.rb:1078:in `unix'
        from /usr/local/bundle/gems/debug-1.6.0/lib/debug/client.rb:158:in `connect_unix'
        from /usr/local/bundle/gems/debug-1.6.0/lib/debug/client.rb:108:in `initialize'
        from /usr/local/bundle/gems/debug-1.6.0/exe/rdbg:31:in `new'
        from /usr/local/bundle/gems/debug-1.6.0/exe/rdbg:31:in `<top (required)>'
        from /app/bin/rdbg:29:in `load'
        from /app/bin/rdbg:29:in `<main>'

Socket name (automatically chosen by the debug gem): /tmp/ruby-debug-sock-0/ruby-debug-UnknownUser-1

Notice the change in the socket name, maybe this has something to do with this issue? The socket does exist, though, and permissions seem correct.

To Reproduce
Update debug to 1.6.X. I've tried all released 1.6 versions, none of them is working. Going back to 1.5 resolves the issue for me.

Expected behavior
rdbg -A connects to the running process.

Vorherrschende Sprache
Ruby
Sterne
1.3k
Forks
146
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ruby/debug

Alle Issues in ruby/debug

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.