[MacRuby] #1243: Segfault occurs in rb_vm_const_lookup_level when use Webrick.
MacRuby
ruby-noreply at macosforge.org
Wed Apr 27 00:14:45 PDT 2011
#1243: Segfault occurs in rb_vm_const_lookup_level when use Webrick.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
I launch a Webrick server and crash when I browse the URL that there is
404 of HTTP status.
Test Script:
{{{
#!ruby
require 'open-uri'
require 'webrick'
def with_http
Dir.mktmpdir {|dr|
srv = WEBrick::HTTPServer.new({
:DocumentRoot => dr,
:ServerType => Thread,
:BindAddress => '127.0.0.1',
:Port => 0})
_, port, _, host = srv.listeners[0].addr
begin
th = srv.start
yield srv, dr, "http://#{host}:#{port}"
ensure
srv.shutdown
end
}
end
with_http {|srv, dr, url|
begin
open("#{url}/not-exist") {}
rescue
end
}
}}}
BackTrace:
{{{
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x000000000000000c
[Switching to process 38895 thread 0x2407]
0x000000010013fed8 in rb_vm_const_lookup_level (outer=8590901440,
outer_mask=0, path=24885, lexical=true, defined=false, outer_stack=0x4) at
vm.cpp:1317
1317 while (root_outer != NULL && root_outer->pushed_by_eval) {
(gdb) bt
#0 0x000000010013fed8 in rb_vm_const_lookup_level (outer=8590901440,
outer_mask=0, path=24885, lexical=true, defined=false, outer_stack=0x4) at
vm.cpp:1317
#1 0x00000001016011f6 in ?? ()
#2 0x000000010012ddb8 in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:159
#3 0x000000010012ddb8 in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:466
#4 0x000000010012ddb8 in rb_vm_dispatch () at dispatcher.cpp:872
#5 0x0000000101600514 in ?? ()
#6 0x000000010164162e in ?? ()
#7 0x000000010012ddb8 in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:159
#8 0x000000010012ddb8 in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:466
#9 0x000000010012ddb8 in rb_vm_dispatch () at dispatcher.cpp:872
#10 0x0000000101600514 in ?? ()
#11 0x0000000107eb1d80 in ?? ()
#12 0x000000010012de2b in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:163
#13 0x000000010012de2b in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:466
#14 0x000000010012de2b in rb_vm_dispatch () at dispatcher.cpp:872
#15 0x0000000101600514 in ?? ()
#16 0x00000001016597ba in ?? ()
#17 0x000000010012ddea in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:161
#18 0x000000010012ddea in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:466
#19 0x000000010012ddea in rb_vm_dispatch () at dispatcher.cpp:872
#20 0x0000000101600514 in ?? ()
#21 0x0000000101671895 in ?? ()
#22 0x000000010013216b in __rb_vm_bcall [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:98
#23 0x000000010013216b in vm_block_eval [inlined] () at /Users/watson/src
/macruby-trunk/dispatcher.cpp:1221
#24 0x000000010013216b in rb_vm_block_eval (b=0x200437360, argc=0,
argv=0x0) at dispatcher.cpp:1228
#25 0x000000010014bbfb in rb_vm_thread_run (thread=8594308000) at
vm.cpp:4740
#26 0x00007fff85d534f6 in _pthread_start ()
#27 0x00007fff85d533a9 in thread_start ()
(gdb)
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/1243>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list