[Backgroundrb-devel] crashes on ask_status ?
hemant kumar
gethemant at gmail.com
Tue Mar 4 09:49:10 EST 2008
On Tue, 2008-03-04 at 13:48 +0000, Rue Turner wrote:
> IT all seems fine till I ask it to query the worker for anything
> directly. Is packet broken? should we be using a specific version with
> backgroundrb?
>
> Console:
>
> >> MiddleMan.query_all_workers
> {:type=>:all_worker_status}
> => {:street_worker=>"foo", :log_worker=>nil}
>
> that seems fine, then:
>
> >> MiddleMan.ask_status(:worker_name => :street_worker)
> {:type=>:get_status, :worker_name=>:street_worker}
> => nil
>
> and the server barfs. The project is brand new and has nothing other
> than this worker in it. The worker itself _only_ registers a status -
> nothing else, no methods.
>
> Here's the log:
>
> /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:119:in
> `process_status': You have a nil object when you didn't expect it!
> (NoMethodError)
> The error occurred while evaluating nil.to_sym
> from /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:36:in `receive_data'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_parser.rb:29:in `call'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_parser.rb:29:in `extract'
>
> from /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:31:in `receive_data'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:212:in `read_external_socket'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:204:in `handle_external_messages'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:178:in `handle_read_event'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:174:in `each'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:174:in `handle_read_event'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:130:in `start_reactor'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:124:in `loop'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:124:in `start_reactor'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:21:in `run'
>
> from /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:166:in `initialize'
> from script/backgroundrb:56:in `new'
> from script/backgroundrb:56
> /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_nbio.rb:25:in `read_data': Packet::DisconnectError (Packet::DisconnectError)
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_worker.rb:46:in `handle_internal_messages'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:176:in `handle_read_event'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:174:in `each'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:174:in `handle_read_event'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:130:in `start_reactor'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:124:in `loop'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:124:in `start_reactor'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_worker.rb:20:in `start_worker'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:133:in `fork_and_load'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:96:in `load_workers'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:91:in `each'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:91:in `load_workers'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:20:in `run'
>
> from /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:166:in `initialize'
> from script/backgroundrb:56:in `new'
> from script/backgroundrb:56
> /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_nbio.rb:25:in `read_data': Packet::DisconnectError (Packet::DisconnectError)
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_worker.rb:46:in `handle_internal_messages'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:176:in `handle_read_event'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:174:in `each'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:174:in `handle_read_event'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:130:in `start_reactor'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:124:in `loop'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_core.rb:124:in `start_reactor'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_worker.rb:20:in `start_worker'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:133:in `fork_and_load'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:108:in `start_worker'
>
> from /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:169:in `initialize'
>
> from /usr/lib/ruby/gems/1.8/gems/packet-0.1.5/lib/packet/packet_master.rb:19:in `run'
>
> from /.../vendor/plugins/backgroundrb/server/lib/master_worker.rb:166:in `initialize'
> from script/backgroundrb:56:in `new'
> from script/backgroundrb:56
>
>
>From where did you get: MiddleMan.ask_status(:worker_name
=> :street_worker) ?
It should be:
MiddleMan.ask_status(:worker => :street_worker) or
MiddleMan.worker(:street_worker).ask_status
Also, file a bug report nonetheless, since server shouldn't crash
anyways.
More information about the Backgroundrb-devel
mailing list