[MacRuby] #1051: Segfault occurs with RDoc::Parser::Ruby.
MacRuby
ruby-noreply at macosforge.org
Wed Dec 15 18:42:44 PST 2010
#1051: Segfault occurs with RDoc::Parser::Ruby.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Test Script:
{{{
#!ruby
require 'tempfile'
require 'rdoc/options'
require 'rdoc/parser/ruby'
require 'rdoc/stats'
def util_parser(content)
@parser = RDoc::Parser::Ruby.new @top_level, @filename, content,
@options, @stats
end
def util_top_level
RDoc::TopLevel.reset
@top_level = RDoc::TopLevel.new @filename
@top_level2 = RDoc::TopLevel.new @filename2
end
@tempfile = Tempfile.new self.class.name
@filename = @tempfile.path
# Some tests need two paths.
@tempfile2 = Tempfile.new self.class.name
@filename2 = @tempfile2.path
util_top_level
@options = RDoc::Options.new
@options.quiet = true
@stats = RDoc::Stats.new 0
util_parser ""
comment = "# :section: new section\n# woo stuff\n"
@parser.look_for_directives_in @top_level, comment
section = @top_level.current_section
p section.title
p section.comment
p comment
}}}
BackTrace:
{{{
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000024
0x00000001000abd50 in str_concat_string (self=0x2003ad780, str=0x4) at
string.c:865
865 if (str->length_in_bytes == 0) {
(gdb) bt
#0 0x00000001000abd50 in str_concat_string (self=0x2003ad780, str=0x4) at
string.c:865
#1 0x00000001000b2c2b in str_gsub (sel=0x100ec3c00, argc=1,
argv=0x7fff5fbfcd38, str=8593931552, bang=true) at string.c:3917
#2 0x00000001000b31cb in rstr_gsub_bang (str=8593931552, sel=0x100ec3c00,
argc=1, argv=0x7fff5fbfcd38) at string.c:4000
#3 0x0000000100136fb3 in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:448
#4 0x0000000100136fb3 in rb_vm_dispatch () at dispatcher.cpp:849
#5 0x0000000103300e36 in ?? ()
#6 0x000000010335f494 in ?? ()
#7 0x00000001001375e6 in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:161
#8 0x00000001001375e6 in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:466
#9 0x00000001001375e6 in rb_vm_dispatch () at dispatcher.cpp:849
#10 0x0000000103300e36 in ?? ()
#11 0x000000010335e7e4 in ?? ()
#12 0x0000000100137627 in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:163
#13 0x0000000100137627 in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:466
#14 0x0000000100137627 in rb_vm_dispatch () at dispatcher.cpp:849
#15 0x0000000103300e36 in ?? ()
#16 0x0000000103300607 in ?? ()
#17 0x00000001001519cd in rb_vm_run (fname=0x20004f1e0
"/Users/watson/tmp/test_rdoc.rb", node=0x20005d580, binding=0x0,
inside_eval=false) at vm.cpp:3928
#18 0x0000000100038479 in ruby_run_node (n=0x20005d580) at eval.c:211
#19 0x0000000100000c15 in main (argc=3, argv=0x100e1de30,
envp=0x7fff5fbfee60) at main.cpp:40
Current language: auto; currently c
(gdb)
}}}
By the following commands, could confirm this problem.
{{{
On MacRuby source directory:
$ cd test/test-mri/
$ macruby -r require_relative.rb test/rdoc/test_rdoc_parser_ruby.rb -v
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/1051>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list