[ruby-dev:47966] Net::HTTP、ZlibとFiberError

From: Masatoshi SEKI <m_seki@...>
Date: 2014-02-10 16:40:00 UTC
List: ruby-dev #47966
=E5=92=B3=E3=81=A8=E3=81=84=E3=81=84=E3=81=BE=E3=81=99=E3=80=82

=
Net::HTTP#request=E3=82=92=E3=83=96=E3=83=AD=E3=83=83=E3=82=AF=E4=BB=98=E3=
=81=8D=E3=81=A7=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=97=E3=80=81=E3=83=96=E3=83=
=AD=E3=83=83=E3=82=AF=E3=81=AE=E4=B8=AD=E3=81=A7
=
Net::HTTPResponse#read_body=E3=82=92=E3=83=96=E3=83=AD=E3=83=83=E3=82=AF=E4=
=BB=98=E3=81=8D=E3=81=A7=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=97=E3=81=A6=E3=81=
=84=E3=81=BE=E3=81=99=E3=80=82

=E4=BE=8B=E3=81=88=E3=81=B0=E3=81=93=E3=82=93=E3=81=AA=E9=9B=B0=E5=9B=B2=E6=
=B0=97=E3=80=82

    oauth.request(:GET, 'https://userstream.twitter.com/2/user.json') do =
|r|
      r.read_body do |chunk|
        json.push(chunk) #=E3=80=80=E2=86=90=E3=81=93=E3=81=93
      end
    end

=
=E5=86=85=E5=81=B4=E3=81=AE=E3=83=96=E3=83=AD=E3=83=83=E3=82=AF=E3=81=AE=E4=
=B8=AD=E3=81=A7Fiber=E3=82=92=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=82=8B=
=E3=81=A8=E6=AC=A1=E3=81=AE=E3=82=88=E3=81=86=E3=81=AAFiberError=E4=BE=8B=E5=
=A4=96=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=97=E3=81=BE=E3=81=99=E3=80=82

Exception `FiberError' at drip_tw.rb:36 - fiber called across stack =
rewinding barrier
Exception `Zlib::BufError' at =
/usr/local/lib/ruby/2.2.0/net/http/response.rb:357 - buffer error
Exception `Zlib::BufError' at /usr/local/lib/ruby/2.2.0/net/http.rb:1442 =
- buffer error
/usr/local/lib/ruby/2.2.0/net/http/response.rb:357:in `finish': buffer =
error (Zlib::BufError)
	from /usr/local/lib/ruby/2.2.0/net/http/response.rb:357:in =
`finish'
	from /usr/local/lib/ruby/2.2.0/net/http/response.rb:262:in =
`ensure in inflater'
	from /usr/local/lib/ruby/2.2.0/net/http/response.rb:262:in =
`inflater'
	from /usr/local/lib/ruby/2.2.0/net/http/response.rb:274:in =
`read_body_0'
	from /usr/local/lib/ruby/2.2.0/net/http/response.rb:201:in =
`read_body'
	from drip_tw.rb:180:in `block in drip_stream'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1415:in `block (2 =
levels) in transport_request'
	from /usr/local/lib/ruby/2.2.0/net/http/response.rb:162:in =
`reading_body'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1414:in `block in =
transport_request'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1405:in `catch'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1405:in =
`transport_request'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1378:in `request'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1371:in `block in =
request'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:853:in `start'
	from /usr/local/lib/ruby/2.2.0/net/http.rb:1369:in `request'
	from drip_tw.rb:118:in `request'
	from drip_tw.rb:179:in `drip_stream'
	from drip_tw.rb:298:in `<main>'


Ruby=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=81=AFruby =
2.2.0dev (2014-02-10 trunk 44902) [x86_64-darwin13.0]=E3=80=82
1.9=E7=B3=BB=E3=81=AE=E9=A0=83=E3=81=AF=E5=8B=95=E3=81=84=E3=81=A6=E3=81=84=
=E3=81=9F=E3=82=B9=E3=82=AF=E3=83=AA=E3=83=97=E3=83=88=E3=81=A7=E3=81=99=E3=
=80=82
=
Fiber=E3=81=A8=E5=90=8C=E6=A7=98=E3=81=AA=E5=8B=95=E4=BD=9C=E3=82=92=E3=81=
=99=E3=82=8BThread=E7=89=88=E3=82=92=E4=BD=BF=E3=81=86=E3=81=A8=E4=BE=8B=E5=
=A4=96=E3=81=AF=E7=99=BA=E7=94=9F=E3=81=97=E3=81=BE=E3=81=9B=E3=82=93=E3=80=
=82

=
Zlib=E3=81=8Crb_protect()=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E3=81=A8=E3=81=
=8D=E3=81=ABFiber=E3=82=92=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=81=A6=E3=
=81=84=E3=82=8B=E3=81=A3=E3=81=A6=E3=81=93=E3=81=A8=E3=81=A7=E3=81=97=E3=82=
=87=E3=81=86=E3=81=8B=EF=BC=9F=EF=BC=88=E5=8B=98=EF=BC=89



=
=E5=86=8D=E7=8F=BE=E3=81=95=E3=81=9B=E3=82=8B=E6=9C=80=E5=B0=8F=E3=81=AE=E3=
=82=B3=E3=83=BC=E3=83=89=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=AA=E3=81=
=84=E3=81=97=E5=AE=9F=E8=A1=8C=E3=81=AE=E6=BA=96=E5=82=99=E3=81=8C=E3=82=81=
=E3=82=93=E3=81=A9=E3=81=8F=E3=81=95=E3=81=84=E3=81=91=E3=81=A9=E3=80=81=E4=
=BB=B6=E3=81=AE=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AF=E3=81=93=E3=81=A1=E3=82=
=89=E3=81=A7=E3=81=99=E3=80=82

https://github.com/seki/Drip/blob/master/sample/drip_tw.rb
(178=E8=A1=8C=E7=9B=AE=E3=81=AEDripFiber=E3=82=92DripThread=E3=81=AB=E3=81=
=99=E3=82=8B=E3=81=A8Thread=E7=89=88=E3=81=AB=E3=81=AA=E3=82=8A=E3=81=BE=E3=
=81=99)

In This Thread

Prev Next