Issue #9937 has been updated by Koichi Sasada.

Status changed from Assigned to Closed

Ah, I see.

You can't get method_id for top level.

```ruby
TracePoint.new(:class, :b_call){|tp|
  p [tp.event, tp.method_id]
}.enable
1.times{}
class C; end
def foo; 1.times{}; end; foo

#=>
ruby 2.2.0dev (2014-11-27 trunk 48608) [i386-mswin32_110]
[:b_call, nil]
[:class, nil]
[:b_call, :foo]
```


----------------------------------------
Bug #9937: Segfault in the TracePoint API
https://bugs.ruby-lang.org/issues/9937#change-50222

* Author: David Rodrguez
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Category: 
* Target version: 
* ruby -v: ruby 2.2.0dev (2014-06-12 trunk 46413) [i686-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Hi!

It seems that a regression bug has been recently introduced in the TracePoint API (maybe after changeset r45758). byebug's test suite works against 2.0 and 2.1, but segfaults against ruby-head. See https://travis-ci.org/deivid-rodriguez/byebug

Segfault occurs in https://github.com/deivid-rodriguez/byebug/blob/master/ext/byebug/byebug.c#L252, I'm guessing the method ID provided by the TracePoint API is nil, so the SYM2ID call fails.

I'm sorry I'm not currently able to properly investigate this.



-- 
https://bugs.ruby-lang.org/