ObjectBoundsExceededError: fetch is more than available bytes #244

Closed
gnufied opened this Issue Apr 2, 2010 · 2 comments

Comments

Projects
None yet
3 participants

gnufied commented Apr 2, 2010

I was trying to Benchmark rubinius(HEAD) running rails 2.3.5 on mongrel and when I have logging enabled in production mode, I get lot of:

Read error: #<ObjectBoundsExceededError: fetch is more than available bytes>
kernel/common/io.rb:152:in `shift'
kernel/common/io.rb:1164:in `read_all'
kernel/common/io.rb:1130:in `read'
/home/crriadmin/rubinius/gems/1.8/gems/rails-2.3.5/lib/rails/rack/log_tailer.rb:27:in `tail_log'
/home/crriadmin/rubinius/gems/1.8/gems/rails-2.3.5/lib/rails/rack/log_tailer.rb:18:in `call'
 /home/crriadmin/rubinius/gems/1.8/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `call'
/home/crriadmin/rubinius/gems/1.8/gems/rack-1.0.1/lib/rack/chunked.rb:15:in `call'
/home/crriadmin/rubinius/gems/1.8/gems/rack-1.0.1/lib/rack/handler       /mongrel.rb:64:in `process'
/home/crriadmin/rubinius/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in     `process_client {}'
kernel/bootstrap/array.rb:156:in `each'
/home/crriadmin/rubinius/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:204:in `process_client'
/home/crriadmin/rubinius/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run {}'

kernel/common/thread.rb:79:in `run'

The problem doesn't appear, if I disable Rails logging.

Owner

dbussink commented Apr 20, 2010

Ok, steps to reproduce:

Install Rails (2.3.5) and mongrel

./rubinius/bin/rbx -S gem install rails mongrel

Create a new app

./rubinius/bin/rbx -S rails rbxtest

Scaffold a new model

cd rbxtest
../rubinius/bin/rbx script/generate scaffold Post title:string body:text

Migrate production environment

RAILS_ENV=production ../rubinius/bin/rbx -S rake db:migrate

Run the server

gdb --args ../rubinius/bin/rbx script/server -e production

Hit it hard in another window

 ab -n 10000 -c 100 http://0.0.0.0:3000/posts

Wait for havoc...

https://gist.github.com/c3e8a1492d5e1d729493

Owner

evanphx commented Apr 21, 2010

Lock IOBuffer actions to fix multi-thread interactions. Closed by e32c863.

hosiawak referenced this issue Mar 4, 2013

Closed

IO performance #2166

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment