I was trying to connect to chef server via knife. Knife complained that it didn't have a certificate and semi-gracefully exit.
I logged on to the chef-web-server to see what caused it to crash and I have the following stack trace
merb : worker (port 4000) ~ Started request handling: Sun Jun 06 12:46:59 -0700 2010
merb : worker (port 4000) ~ Params: {"format"=>nil, "action"=>"show", "id"=>"node", "q"=>"*:*", "start"=>"0", "rows"=>"20", "controller"=>"chef_server_api/search", "sort"=>""}
merb : worker (port 4000) ~ undefined method `closed?' for nil:NilClass - (NoMethodError)
/usr/lib/ruby/1.8/net/http.rb:1060:in `request'
./config/../../chef-server-api/lib/../../chef-solr/lib/chef/solr.rb:60:in `solr_select'
./config/../../chef-server-api/lib/../../chef-solr/lib/chef/solr/query.rb:51:in `raw'
./config/../../chef-server-api/lib/../../chef-solr/lib/chef/solr/query.rb:72:in `search'
/usr/share/chef-server-api/app/controllers/search.rb:48:in `show'
/usr/lib/ruby/1.8/merb-core/controller/abstract_controller.rb:315:in `send'
/usr/lib/ruby/1.8/merb-core/controller/abstract_controller.rb:315:in `_call_action'
/usr/lib/ruby/1.8/merb-core/controller/abstract_controller.rb:289:in `_dispatch'
/usr/lib/ruby/1.8/merb-core/controller/merb_controller.rb:252:in `_dispatch'
/usr/lib/ruby/1.8/merb-core/dispatch/dispatcher.rb:102:in `dispatch_action'
/usr/lib/ruby/1.8/merb-core/dispatch/dispatcher.rb:74:in `handle'
/usr/lib/ruby/1.8/merb-core/dispatch/dispatcher.rb:36:in `handle'
/usr/lib/ruby/1.8/merb-core/rack/application.rb:17:in `call'
/usr/lib/ruby/1.8/merb-core/rack/middleware/static.rb:28:in `call'
/usr/lib/ruby/1.8/thin/connection.rb:76:in `pre_process'
/usr/lib/ruby/1.8/thin/connection.rb:74:in `catch'
/usr/lib/ruby/1.8/thin/connection.rb:74:in `pre_process'
/usr/lib/ruby/1.8/thin/connection.rb:57:in `process'
/usr/lib/ruby/1.8/thin/connection.rb:42:in `receive_data'
/usr/lib/ruby/1.8/eventmachine.rb:240:in `run_machine'
/usr/lib/ruby/1.8/eventmachine.rb:240:in `run'
/usr/lib/ruby/1.8/thin/backends/base.rb:57:in `start'
/usr/lib/ruby/1.8/thin/server.rb:156:in `start'
/usr/lib/ruby/1.8/merb-core/rack/adapter/thin.rb:30:in `start_server'
/usr/lib/ruby/1.8/merb-core/rack/adapter/abstract.rb:298:in `start_at_port'
/usr/lib/ruby/1.8/merb-core/rack/adapter/abstract.rb:128:in `start'
/usr/lib/ruby/1.8/merb-core/server.rb:174:in `bootup'
/usr/lib/ruby/1.8/merb-core/server.rb:159:in `daemonize'
/usr/lib/ruby/1.8/merb-core/server.rb:143:in `fork'
/usr/lib/ruby/1.8/merb-core/server.rb:143:in `daemonize'
/usr/lib/ruby/1.8/merb-core/server.rb:35:in `start'
/usr/lib/ruby/1.8/merb-core.rb:170:in `start'
/usr/bin/chef-server:67
merb : worker (port 4000) ~ Params: {"format"=>nil, "action"=>"show", "id"=>"node", "q"=>"*:*", "start"=>"0", "rows"=>"20", "controller"=>"chef_server_api/search", "sort"=>""}
merb : worker (port 4000) ~