Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

remote debugger failing on first hit with puma

未關閉
#1,121 6 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
需要釐清
活躍度
停滯
技術堆疊
docker, ruby
領域
devtools

研究方向

Start by reproducing the first-hit failure with Ruby 3.3.5, rdbg 1.9.2, Puma in a local Docker container, and the Sinatra request flow described. Inspect the remote debugger behavior around the initial SIGURG and step transition, including the reported Puma and Rack paths. Done means the first breakpoint can be stepped through normally without losing context.

由索引模型根據 Issue 內容生成。

描述

Your environment

  • ruby -v: 3.3.5
  • rdbg -v: 1.9.2

Describe the bug
When hitting breakpoint via placing "debugger" into source code, and connecting with remote debugger, with sinatra controller and puma web server in local docker container, first time when "debugger" is hit will fail, as described below

For example,
Puma started freshly serving sinatra app in local docker container

    33|       def some_method_called_via_puma_via_sinatra_controller
=>  34|         debugger
    35|         some logic...
    37|       end
    38|
(rdbg:remote) n
# No sourcefile available for /usr/local/bundle/gems/puma-6.4.2/lib/puma/single.rb

Stop by SIGURG
(rdbg:remote) n
# it looks like it tries to step in code, but in reality context is lost
(rdbg:remote) n
[1, 7] in $(Gem)/rack-2.2.9/lib/rack/file.rb
     1| # frozen_string_literal: true
     2|
     3| require_relative 'files'
     4|
=>   5| module Rack
     6|   File = Files
     7| end
(rdbg:remote) c

Thus only way to end to proceed is to hit "continue", since control flow has jumped into some odd place, and now, after this failure when doing same request again, debugger works as espected (i.e. does not hit this "SIGURG" which seems to break thing).

Makes usage rather irritating since after every modify of code (and restart of web server thus), have to first hit debugger "cold", and failing, and hitting continue, and now it seems to be "hot", and can actually succeed.

To Reproduce

  • Local docker container
  • running sinatra app with puma on it
  • setting up remote debugger
  • adding breakpoint via placing "debugger" into code
  • launching app on container
  • performing some request hitting "debugger" put in code
  • connect remote debugger to process
    => fails on first time, if hitting continue, and retrying request it works as expected

Expected behavior
It would not fail on first time, since it makes debugging few cases difficult.

Additional context
Issue has been there for a while, i.e. it has had this failure always for me with this debug gem

主要語言
Ruby
星號
1.3k
分支
146
PR 合併指標
30 天內沒有已合併 PR

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

ruby/debug 的其他 Issue

查看 ruby/debug 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。