Forum: Ruby-core [ruby-trunk - Bug #7635][Open] debug_inspector API segfaults when opened from inside an eval frame

Posted by charliesome (Charlie Somerville) (Guest)
on 2012-12-29 14:52
(Received via mailing list)
Issue #7635 has been reported by charliesome (Charlie Somerville).

----------------------------------------
Bug #7635: debug_inspector API segfaults when opened from inside an eval 
frame
https://bugs.ruby-lang.org/issues/7635

Author: charliesome (Charlie Somerville)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2012-12-29 trunk 38656) [x86_64-darwin11.4.0]


=begin

(({rb_debug_inspector_open})) segfaults when it is called from inside an 
eval frame.

Using this C extension:

  #include "ruby/ruby.h"

  static VALUE
  cb()
  {
      return Qnil;
  }

  static VALUE
  debug_inspector()
  {
      return rb_debug_inspector_open(cb, NULL);
  }

  void
  Init_debug_inspector()
  {
      rb_define_global_function("debug_inspector", debug_inspector, 0);
  }

Calling (({debug_inspector})) from the top level and from within methods 
works fine, calling inside eval from the top level works fine, but 
calling inside eval from within a method segfaults.

Here is a test program that segfaults:

  require "./debug_inspector" # the c extension above

  def x
    eval "debug_inspector"
  end

  x

=end
Posted by ko1 (Koichi Sasada) (Guest)
on 2013-01-25 04:16
(Received via mailing list)
Issue #7635 has been updated by ko1 (Koichi Sasada).

Category set to core
Status changed from Open to Assigned
Assignee set to ko1 (Koichi Sasada)
Priority changed from Normal to High
Target version set to 2.0.0

Ah.. I missed this ticket.

----------------------------------------
Bug #7635: debug_inspector API segfaults when opened from inside an eval 
frame
https://bugs.ruby-lang.org/issues/7635#change-35601

Author: charliesome (Charlie Somerville)
Status: Assigned
Priority: High
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-12-29 trunk 38656) [x86_64-darwin11.4.0]


=begin

(({rb_debug_inspector_open})) segfaults when it is called from inside an 
eval frame.

Using this C extension:

  #include "ruby/ruby.h"

  static VALUE
  cb()
  {
      return Qnil;
  }

  static VALUE
  debug_inspector()
  {
      return rb_debug_inspector_open(cb, NULL);
  }

  void
  Init_debug_inspector()
  {
      rb_define_global_function("debug_inspector", debug_inspector, 0);
  }

Calling (({debug_inspector})) from the top level and from within methods 
works fine, calling inside eval from the top level works fine, but 
calling inside eval from within a method segfaults.

Here is a test program that segfaults:

  require "./debug_inspector" # the c extension above

  def x
    eval "debug_inspector"
  end

  x

=end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.