Segv when Fiber#pass twice

e$B$3$s$P$s$O!"e(Bsheepman e$B$G$9!#e(B

trunk e$B$G!"=*N;$7$?e(B Fiber e$B$Ke(B pass e$B$r8F$V$He(B segv
e$B$7$^$9!#e(B

$ cat f.rb
fbr = Fiber.new do
end
fbr.pass
fbr.pass

$ ruby-1.9 -v f.rb
ruby 1.9.0 (2007-06-01 patchlevel 0) [i686-linux]
: – stack frame ------------
0000 (0x8171eb0): 00000000 <- lfp <- dfp
– control frame ----------
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------

– backtrace of native function call (Use addr2line) –
0x80c1a9c
0x80d506d
0x80c63c7
0x805953c
0x8059554
0x805958f
0x8056dd4
0x400dcc1f
0x8056d19

[BUG] rb_fiber_start: unreachable
ruby 1.9.0 (2007-06-01) [i686-linux]

zsh: abort ruby-1.9 -v f.rb

[email protected]$G$9!#e(B

sheepman e$B$5$s$O=q$-$^$7$?e(B:

trunk e$B$G!"=*N;$7$?e(B Fiber e$B$Ke(B pass e$B$r8F$V$He(B segv e$B$7$^$9!#e(B

e$B!!e(BFiberError e$B$rJV$9$h$&$K$7$^$7$?!#e(B

e$B!!$J$*!"e(B#pass e$B$Oe(B #yield
e$B$KJQ99$7$^$7$?!#$3$l$O!"e(BProc#yield e$B?7e(B
[email protected]_$r<u$1$F$NJQ99$G$9!#e(B

e$B!!e(BFiber.new{|x| p x}.yield(:ok) #=> :ok

e$B!!e(BProc e$B$K$7$F$b0UL#$,DL$k$H$3$m$H$+!#e(B

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs