[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:777

From: Minero Aoki <aamine loveruby.net>
Date: Mon, 09 Jan 2006 17:06:11 +0900 (JST)
Subject: [yarv-dev:777] open> block made by Method#to_proc

青木です。

以下のプログラムで SEGV します。

  ~/c/yarv/BUGS/optparse-hash % cat main.rb
  def block
    Object.method(:new).to_proc
  end

  b = block()
  b.call

  ~/c/yarv/BUGS/optparse-hash % ../../ruby -v main.rb
  ruby 1.9.0 (2005-11-18) [x86_64-linux]
  YARVCore 0.3.3 (rev: 356) [opts: ]
  zsh: 3784 abort (core dumped)  ../../ruby -v main.rb

スタックトレースです。

(gdb) run main.rb 
Starting program: /home/aamine/c/yarv/ruby main.rb
[Thread debugging using libthread_db enabled]
[New Thread 182902579264 (LWP 3780)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 182902579264 (LWP 3780)]
lfp_set_special_cref (lfp=0x2a95ee2050, cref=182903838864) at vm.c:813
813         scref = *pv;
(gdb) bt
#0  lfp_set_special_cref (lfp=0x2a95ee2050, cref=182903838864) at vm.c:813
#1  0x0000000000478299 in th_invoke_proc (th=0x666f90, proc=0x66b930, argc=0, 
    argv=0x2a95ee2038) at vm.c:633
#2  0x000000000047c386 in call_cfunc (func=0x47e550 <proc_call>, 
    recv=182903831664, len=1, argc=-1779556272, argv=0xffffffff)
    at call_cfunc.h:24
#3  0x000000000047a40b in th_eval (th=0x666f90, initial=4294967295)
    at insns.def:1335
#4  0x000000000047c006 in th_eval_body (th=0x666f90) at vm.c:1273
#5  0x0000000000414649 in ruby_exec_internal () at eval.c:271
#6  0x0000000000414673 in ruby_exec () at eval.c:283
#7  0x00000000004146ad in ruby_run () at eval.c:300
#8  0x0000000000411729 in main (argc=2, argv=0x7fbffff5b8, envp=0x1)
    at main.c:36

lfp[-1] が 0x1 になってます。

--
青木峰郎

-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

->     777 2006-01-09 17:06 [aamine loveruby.net ] open> block made by Method#to_proc      
       779 2006-01-09 18:25 ┗[aamine loveruby.net ] Re: block made by Method#to_proc      
       784 2006-01-29 11:51  ┗[ko1 atdot.net       ] fixed> Re: block made by Method#to_proc
       798 2006-02-02 17:40   ┗[aamine loveruby.net ] close> Re: block made by Method#to_proc