Error with large number of flickr images

Hi All,

When I create a page which references more than 4 or 5 flickr images
I get the error “Application error
Typo failed to start properly”. I’m using Apache 2 and mod_fcgid,
when I start typo in development mode with lighttpd it does work.

This is now in my log file:
[Sat Jul 29 14:03:28 2006] [error] [client 86.80.117.89] Premature
end of script headers: dispatch.fcgi
[Sat Jul 29 14:03:28 2006] [notice] mod_fcgid: process /home/virtual/
degrunt.nl/www/public/dispatch.fcgi(10006) exit(communication error),
get stop signal 9
[Sat Jul 29 14:03:28 2006] [notice] mod_fcgid: process /home/virtual/
degrunt.nl/www/public/dispatch.fcgi(9996) exit(communication error),
get stop signal 9
[Sat Jul 29 14:03:34 2006] [warn] mod_fcgid: process 10008 graceful
kill fail, sending SIGKILL

These are my settings:

AddHandler fcgid-script .fcgi
SocketPath /var/lib/apache2/fcgid/sock
DefaultInitEnv RAILS_ENV production
IdleTimeout 600
ProcessLifeTime 3600
MaxProcessCount 16

DefaultMinClassProcessCount 3

DefaultMaxClassProcessCount 16
IPCConnectTimeout 10
IPCCommTimeout 300

I’ve probably misconfigured something, but I cannot pinpoint it, any
suggestions?

Thanks,
Tom

Some more info on the subject, here’s the production log…

Processing ArticlesController#view_page (for 86.80.117.89 at
2006-07-30 13:57:16) [GET]
Parameters: {“name”=>[“geneva2006”], “action”=>“view_page”,
“controller”=>“articles”}
Rendering within …/…/themes/degruntnl/layouts/default
Rendering articles/view_page

ActionView::TemplateError (exit) on line #2 of app/views/articles/
view_page.rhtml:
1:


2: <%= @page.full_html %>
3:

 /usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb:

126:in exit' /usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb: 126:in exit_now_handler’
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
to_proc' /usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb: 114:in call’
/usr/lib/ruby/1.8/net/protocol.rb:197:in sysread' /usr/lib/ruby/1.8/net/protocol.rb:197:in rbuf_fill’
/usr/lib/ruby/1.8/net/protocol.rb:196:in timeout' /usr/lib/ruby/1.8/timeout.rb:62:in timeout’
/usr/lib/ruby/1.8/net/protocol.rb:196:in rbuf_fill' /usr/lib/ruby/1.8/net/protocol.rb:160:in readuntil’
/usr/lib/ruby/1.8/net/protocol.rb:171:in readline' /usr/lib/ruby/1.8/net/http.rb:1614:in read_status_line’
/usr/lib/ruby/1.8/net/http.rb:1603:in read_new' /usr/lib/ruby/1.8/net/http.rb:832:in request’
/usr/lib/ruby/1.8/net/http.rb:296:in get_by_uri' /usr/lib/ruby/1.8/net/http.rb:295:in start’
/usr/lib/ruby/1.8/net/http.rb:295:in get_by_uri' /usr/lib/ruby/1.8/net/http.rb:281:in get_response’
#{RAILS_ROOT}/vendor/flickr/flickr.rb:81:in http_get' #{RAILS_ROOT}/vendor/flickr/flickr.rb:65:in request’
#{RAILS_ROOT}/vendor/flickr/flickr.rb:141:in method_missing' #{RAILS_ROOT}/vendor/flickr/flickr.rb:349:in sizes’
#{RAILS_ROOT}/components/plugins/textfilters/
lightbox_controller.rb:77:in macrofilter' #{RAILS_ROOT}/lib/text_filter_plugin.rb:79:in filtertext’
#{RAILS_ROOT}/lib/text_filter_plugin.rb:78:in gsub' #{RAILS_ROOT}/lib/text_filter_plugin.rb:78:in filtertext’
#{RAILS_ROOT}/components/plugins/textfilters/
macropost_controller.rb:10:in filtertext' #{RAILS_ROOT}/components/plugins/textfilters/ macropost_controller.rb:9:in inject’
#{RAILS_ROOT}/components/plugins/textfilters/
macropost_controller.rb:9:in each' #{RAILS_ROOT}/components/plugins/textfilters/ macropost_controller.rb:9:in inject’
#{RAILS_ROOT}/components/plugins/textfilters/
macropost_controller.rb:9:in filtertext' #{RAILS_ROOT}/app/models/text_filter.rb:52:in filter_text’
#{RAILS_ROOT}/app/models/text_filter.rb:47:in each' #{RAILS_ROOT}/app/models/text_filter.rb:47:in filter_text’
#{RAILS_ROOT}/app/models/text_filter.rb:67:in
filter_text_for_controller' #{RAILS_ROOT}/app/models/content.rb:130:in populate_html_fields’
#{RAILS_ROOT}/app/models/content.rb:128:in each' #{RAILS_ROOT}/app/models/content.rb:128:in populate_html_fields’
#{RAILS_ROOT}/app/models/content.rb:138:in html' #{RAILS_ROOT}/app/models/content.rb:124:in full_html’
#{RAILS_ROOT}/app/views/articles/view_page.rhtml:2:in
_run_rhtml_articles_view_page' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/action_view/ base.rb:314:in send’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/action_view/
base.rb:314:in compile_and_render_template' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/action_view/ base.rb:290:in render_template’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/action_view/
base.rb:249:in render_file' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/base.rb:699:in render_file’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/base.rb:621:in render_with_no_layout' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/layout.rb:243:in render_without_benchmark’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/benchmarking.rb:53:in render' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/benchmarking.rb:53:in measure’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/benchmarking.rb:53:in render' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/base.rb:911:in perform_action_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/filters.rb:368:in perform_action_without_benchmark' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/benchmarking.rb:69:in perform_action_without_rescue’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/benchmarking.rb:69:in measure' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/benchmarking.rb:69:in perform_action_without_rescue’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/rescue.rb:82:in perform_action' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/base.rb:381:in send’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/base.rb:381:in process_without_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/ action_controller/filters.rb:377:in process_without_session_management_support’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.3/lib/
action_controller/session_management.rb:117:in process' /usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/dispatcher.rb:38:in dispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb:
150:in process_request' /usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb: 54:in process!’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb:
53:in each_cgi' /usr/lib/ruby/1.8/fcgi.rb:597:in each’
/usr/lib/ruby/1.8/fcgi.rb:597:in each_cgi' /usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb: 53:in process!’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/fcgi_handler.rb:
23:in `process!’
/home/virtual/degrunt.nl/www/public/dispatch.fcgi:24

Rendering layoutfalseactionerror within …/…/themes/degruntnl/
layouts/default
Rendering articles/error
Start rendering component
({:controller=>SidebarController, :action=>“display_plugins”}):

Processing SidebarController#display_plugins (for 86.80.117.89 at
2006-07-30 13:57:22)
Rendering sidebar/display_plugins
Start rendering component
({:layout=>false, :controller=>Plugins::Sidebars::StaticController, :act
ion=>“index”}):

Processing StaticController#index (for 86.80.117.89 at 2006-07-30
13:57:22)
Rendering plugins/sidebars/static/content
Completed in 0.00518 (193 reqs/sec) | Rendering: 0.00202 (38%) | DB:
0.00023 (4%) | 200 OK [http://www.degrunt.nl/pages/geneva2006]

End of component rendering
BENCHMARK: display_plugins: static (0.00719)
Start rendering component
({:layout=>false, :controller=>Plugins::Sidebars::CategoryController, :a
ction=>“index”}):

Processing CategoryController#index (for 86.80.117.89 at 2006-07-30
13:57:22)
Rendering plugins/sidebars/category/content
Completed in 0.01235 (80 reqs/sec) | Rendering: 0.00473 (38%) | DB:
0.00240 (19%) | 200 OK [http://www.degrunt.nl/pages/geneva2006]

End of component rendering
BENCHMARK: display_plugins: category (0.01395)
Start rendering component
({:layout=>false, :controller=>Plugins::Sidebars::ArchivesController, :a
ction=>“index”}):

Processing ArchivesController#index (for 86.80.117.89 at 2006-07-30
13:57:22)
Rendering plugins/sidebars/archives/content
Completed in 0.06759 (14 reqs/sec) | Rendering: 0.00303 (4%) | DB:
0.00108 (1%) | 200 OK [http://www.degrunt.nl/pages/geneva2006]

End of component rendering
BENCHMARK: display_plugins: archives (0.06908)
Start rendering component
({:layout=>false, :controller=>Plugins::Sidebars::FlickrController, :act
ion=>“index”}):

Processing FlickrController#index (for 86.80.117.89 at 2006-07-30
13:57:22)
SimpleCache: will store items for 3600s
SimpleCache: miss on
FlickrAggregation_bc1f6fa6d697eb750b407dd3bf36632f6289c8f3
SimpleCache: store on
FlickrAggregation_bc1f6fa6d697eb750b407dd3bf36632f6289c8f3
Rendering plugins/sidebars/flickr/content
Completed in 1.91453 (0 reqs/sec) | Rendering: 0.00364 (0%) | DB:
0.00024 (0%) | 200 OK [http://www.degrunt.nl/pages/geneva2006]

End of component rendering
BENCHMARK: display_plugins: flickr (1.91635)
Start rendering component
({:layout=>false, :controller=>Plugins::Sidebars::StaticController, :act
ion=>“index”}):

Processing StaticController#index (for 86.80.117.89 at 2006-07-30
13:57:24)
Rendering plugins/sidebars/static/content
Completed in 0.00356 (280 reqs/sec) | Rendering: 0.00124 (34%) | DB:
0.00039 (10%) | 200 OK [http://www.degrunt.nl/pages/geneva2006]

Sounds like it takes more than 60 seconds to process the http get.

In the #{RAILS_ROOT}/vendor/flickr/flickr.rb:81:in `http_get’ you will
need
to increase the timeout

url = URI.parse(urlStr)
http = Net::HTTP.new(url.host, url.port)

http.read_timeout=time_out

etc, etc

-Linda