Debugger stops at unexpected place when using `trace call`
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
Research direction
Reproduce with the listed Ruby 3.1.0 and rdbg 1.7.1 steps using the testapp, then follow the trace call entry point and breakpoint at line 9 in app/controllers/students_controller.rb. Confirm the debugger stops at line 9 rather than line 7 after continuing; the issue has no named debugger source file or test.
Written by the indexing model from the issue text.
Description
Your environment
ruby -v:- ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21]
rdbg -v:- rdbg 1.7.1
To Reproduce
- Clone https://github.com/ono-max/testapp
bundle installrails db:createrails db:migratebin/rails s
$ bin/rails s
=> Booting Puma
=> Rails 7.0.4.2 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.5 (ruby 3.0.3-p157) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 28208
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
- Go to localhost:3000, then it should stop as follows:
...
Use Ctrl-C to stop
Started GET "/" for ::1 at 2023-02-14 01:57:49 +0900
ActiveRecord::SchemaMigration Pluck (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by StudentsController#index as HTML
[1, 10] in ~/workspace/testapp/app/controllers/students_controller.rb
1| class StudentsController < ApplicationController
2| before_action :set_student, only: %i[ show edit update destroy ]
3|
4| # GET /students or /students.json
5| def index
=> 6| binding.break
7| student1 = Student.first
8| student2 = Student.last
9| end
10|
=>#0 StudentsController#index at ~/workspace/testapp/app/controllers/students_controller.rb:6
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/actionpack-7.0.4.2/lib/action_controller/metal/basic_implicit_render.rb:6
# and 75 frames (use `bt' command for all frames)
- "trace call"
- Set a breakpoint at line 9
- Then continue.
- Stop at line 7
...
[2, 11] in ~/workspace/testapp/app/controllers/students_controller.rb
2| before_action :set_student, only: %i[ show edit update destroy ]
3|
4| # GET /students or /students.json
5| def index
6| binding.break
=> 7| student1 = Student.first
8| student2 = Student.last
9| end
10|
11| # GET /students/1 or /students/1.json
=>#0 StudentsController#index at ~/workspace/testapp/app/controllers/students_controller.rb:7 #=> nil
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/actionpack-7.0.4.2/lib/action_controller/metal/basic_implicit_render.rb:6
# and 75 frames (use `bt' command for all frames)
...
Expected behavior
It should stop at line 9.
Additional context
Add any other context about the problem here.
- Dominant language
- Ruby
- Stars
- 1.3k
- Forks
- 146
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ruby/debug
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Support exceptionOptions in setExceptionBreakpoints to catch arbitrary exception classes via DAP Open
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
バグ
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
voxpupuli/puppet-epel#186 · 1 comment ·
-
external_created_at is no longer used for the message timestamp since the new message UI (v4.4.0) OpenBug Frontend
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
TheOdinProject/curriculum#31402 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100