private_pub icon indicating copy to clipboard operation
private_pub copied to clipboard

ERROR] [Faye::RackAdapter] undefined method `[]' for nil:NilClass

Open ghost opened this issue 14 years ago • 24 comments

I followed the video and read the instructions over and over and I keep getting this error when trying to use priviate_pub. I can get everything to work fine with just faye but when I try to use priviate_pub I get these nil errors. I discovered it couldn't find the 'server' variable when trying to load the chat and when I supplied it using the following

It worked, so I believe my config file is not being read for some reason. Has anyone else ran into this issue?

ghost avatar Mar 19 '12 14:03 ghost

Seem to be connected to https://github.com/faye/faye/issues/129

Supposed to be fixed for faye already in this commit: https://github.com/faye/faye/commit/91b9b1d5

but still affecting private_pub

$ rackup private_pub.ru -s thin -E production
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:9292, CTRL+C to stop
2012-03-19 19:47:52 [ERROR] [Faye::RackAdapter] undefined method `[]' for nil:NilClass
Backtrace:
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub/faye_extension.rb:20:in `authenticate_subscribe'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub/faye_extension.rb:9:in `incoming'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/protocol/extensible.rb:33:in `block in pipe_through_extensions'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/protocol/extensible.rb:38:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/protocol/extensible.rb:38:in `pipe_through_extensions'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/protocol/server.rb:62:in `block in process'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/protocol/server.rb:61:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/protocol/server.rb:61:in `process'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/adapters/rack_adapter.rb:123:in `handle_request'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/faye-0.8.1/lib/faye/adapters/rack_adapter.rb:83:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/connection.rb:80:in `block in pre_process'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/connection.rb:78:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/connection.rb:78:in `pre_process'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/connection.rb:53:in `process'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/connection.rb:38:in `receive_data'    
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb:179:in `run_machine'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb:179:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in `start'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/handler/thin.rb:13:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:265:in `start'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:137:in `start'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/bin/rackup:4:in `<top (required)>'
/usr/local/rvm/gems/ruby-1.9.3-p125/bin/rackup:19:in `load'
/usr/local/rvm/gems/ruby-1.9.3-p125/bin/rackup:19:in `<main>'
^C>> Stopping ...

pctechjon avatar Mar 19 '12 19:03 pctechjon

Yeah I built the from the source in the git and it didn't resolve my issue. My issue seems to stem from the fact that the config file is not being properly loaded. Not sure how to resolve it.

ghost avatar Mar 19 '12 21:03 ghost

Yeah It only happens twice, I believe once for the server and once for the token. If I find a solution Ill post it.

ghost avatar Mar 19 '12 22:03 ghost

I'm not exactly sure what I did to resolve this -- but it's working for me after I re-did the private_pub installation today.

pctechjon avatar Mar 21 '12 21:03 pctechjon

I will give it another try, I would love for it to magically resolve itself for me.

ghost avatar Mar 21 '12 23:03 ghost

Yeah, I tried re-downloading the gem, redoing the rails generate install and I'm still receiving this error. I even tried to specify n the gem file to use the newest one from the git by doing ,:git => 'git address'.

Been banging my head against this problem for more then a day =(

ghost avatar Mar 21 '12 23:03 ghost

Did you try adding this to private_pub.ru

Faye::WebSocket.load_adapter('thin')

Should look like this

# private_pub.ru
require "bundler/setup"
require "yaml"
require "faye"
require "private_pub"

Faye::WebSocket.load_adapter('thin')

PrivatePub.load_config(File.expand_path("../config/private_pub.yml", __FILE__), ENV["RAILS_ENV"] || "development")
run PrivatePub.faye_app

If you didn't, it would give an error similar to https://github.com/faye/faye/issues/131

pctechjon avatar Mar 22 '12 00:03 pctechjon

Yeah unfortunately I do have that line, without the line 'Faye::Websocket.load_adapter('thin') I get the following error:

api.rb:75:in block in close': undefined methodclose_connection_after_writing' for nil:NilClass (NoMethodError)

When I add it in or use your exact config file I get this error:

2012-03-21 22:26:20 [ERROR] [Faye::RackAdapter] undefined method []' for nil:NilClass Backtrace: /usr/local/rvm/gems/ruby-1.9.3-p0/bundler/gems/private_pub-914871a67eca/lib/private_pub/faye_extension.rb:20:inauthenticate_subscribe' /usr/local/rvm/gems/ruby-1.9.3-p0/bundler/gems/private_pub-914871a67eca/lib/private_pub/faye_extension.rb:9:in incoming' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/protocol/extensible.rb:33:inblock in pipe_through_extensions' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/protocol/extensible.rb:38:in call' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/protocol/extensible.rb:38:inpipe_through_extensions' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/protocol/server.rb:62:in block in process' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/protocol/server.rb:61:ineach' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/protocol/server.rb:61:in process' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-0.8.1/lib/faye/adapters/rack_adapter.rb:149:inblock in handle_websocket' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket/api/event_target.rb:24:in call' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket/api/event_target.rb:24:indispatch_event' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket/api.rb:45:in receive' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket/hybi_parser.rb:259:inemit_frame' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket/hybi_parser.rb:124:in parse' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket.rb:172:inparse' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/websocket.rb:202:in receive' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/faye-websocket-0.4.4/lib/faye/adapters/thin.rb:46:inreceive_data' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in run_machine' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:inrun' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in start' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/thin-1.3.1/lib/thin/server.rb:159:instart' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/handler/thin.rb:13:in run' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/server.rb:265:instart' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/server.rb:137:in start' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/bin/rackup:4:in<top (required)>' /usr/local/rvm/gems/ruby-1.9.3-p0/bin/rackup:19:in load' /usr/local/rvm/gems/ruby-1.9.3-p0/bin/rackup:19:in

'

It prints this twice. The program stays open but it fails to work. Unfortunately I know this issue is with private_pub because when I setup faye without private pub it works fine. However I would really like to use the features provided by private_pub so it is very important to me to get this to work.

ghost avatar Mar 22 '12 05:03 ghost

I deleted everything and started from scratch and it worked. I don't know exactly what did it. Oddly enough I could even leave out the 'Faye::WebSocket.load_adapter('thin')' and it still worked. Im so confused but Im not gonna fight with it.

ghost avatar Mar 22 '12 06:03 ghost

I'm actually still having this issue. I start a fresh application, I install faye, thin and private pub and launch it and I get the error.

ghost avatar Mar 25 '12 02:03 ghost

You can change in private_pub.ru file: run PrivatePub.faye_app to run PrivatePub.faye_app.listen(9292) and this solve problem!

dubenko avatar Apr 25 '12 11:04 dubenko

@chemicalfire Did you manage to fix this error?

tokenvolt avatar Oct 09 '12 20:10 tokenvolt

same is for me:

rackup private_pub.ru -s thin -E production

Thin web server (v1.5.0 codename Knife) Maximum connections set to 1024 Listening on 0.0.0.0:9292, CTRL+C to stop

2012-12-03 10:44:08 [ERROR] [Faye::RackAdapter] undefined method []' for nil:NilClass Backtrace: /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:20:inauthenticate_subscribe' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:9:in incoming' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:33:inblock in pipe_through_extensions' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:38:in call' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:38:inpipe_through_extensions' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:64:in block in process' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:63:ineach' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:63:in process' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/adapters/rack_adapter.rb:143:inblock in handle_websocket' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/api/event_target.rb:24:in call' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/api/event_target.rb:24:indispatch_event' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/api.rb:45:in receive' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/hybi_parser.rb:260:inemit_frame' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/hybi_parser.rb:125:in parse' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:172:inparse' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:202:in receive' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/adapters/thin.rb:46:inreceive_data' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in run_machine' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:inrun' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/backends/base.rb:63:in start' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/server.rb:159:instart' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/handler/thin.rb:13:in run' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/server.rb:265:instart' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/server.rb:137:in start' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/bin/rackup:4:in<top (required)>' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/rackup:19:in load' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/rackup:19:in

' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in eval' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in
' 2012-12-03 10:44:08 [ERROR] [Faye::RackAdapter] undefined method []' for nil:NilClass Backtrace: /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:20:inauthenticate_subscribe' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:9:in incoming' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:33:inblock in pipe_through_extensions' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:38:in call' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:38:inpipe_through_extensions' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:64:in block in process' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:63:ineach' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:63:in process' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/adapters/rack_adapter.rb:143:inblock in handle_websocket' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/api/event_target.rb:24:in call' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/api/event_target.rb:24:indispatch_event' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/api.rb:45:in receive' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/hybi_parser.rb:260:inemit_frame' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket/hybi_parser.rb:125:in parse' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:172:inparse' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:202:in receive' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/adapters/thin.rb:46:inreceive_data' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in run_machine' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:inrun' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/backends/base.rb:63:in start' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/server.rb:159:instart' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/handler/thin.rb:13:in run' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/server.rb:265:instart' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/server.rb:137:in start' /Users/danil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/bin/rackup:4:in<top (required)>' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/rackup:19:in load' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/rackup:19:in
' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in eval' /Users/danil/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in
'

danil-z avatar Dec 03 '12 06:12 danil-z

you can reproduce it:

rails g new dummy
cd dummy
echo "gem 'private_pub' " >>  Gemfile
echo "gem 'thin' " >>  Gemfile
bundle
rackup private_pub.ru -s thin -E production

danil-z avatar Dec 03 '12 07:12 danil-z

@blackbumer I followed those commands (adding rails g private_pub:install) but am unable to reproduce the problem. What version of Rails are you using? Maybe toss that dummy app which is causing the problem on GitHub and I will see if that reproduces the problem for me.

ryanb avatar Dec 03 '12 18:12 ryanb

I'm getting the same issue after reproducing that dummy app. I'am using rails 3.2.9.

tokenvolt avatar Dec 03 '12 20:12 tokenvolt

3.2.9

danil-z avatar Dec 04 '12 04:12 danil-z

Ryan the problem has gone after reinstalling all gems and reboot. Thanks for you attention and good job :) Are are my joy in rails world.

danil-z avatar Dec 04 '12 04:12 danil-z

Hi ryan, there are some news about this issue? I don't know how to solve it. I paste you my stack trace, hoping it helps

2013-02-07 16:28:42 [ERROR] [Faye::RackAdapter] undefined method `[]' for nil:NilClass
Backtrace:
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:32:in `authenticate_publish'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:11:in `incoming'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/protocol/extensible.rb:33:in `block in pipe_through_extensions'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/protocol/extensible.rb:38:in `call'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/protocol/extensible.rb:38:in `pipe_through_extensions'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/protocol/server.rb:66:in `block in process'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/protocol/server.rb:65:in `each'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/protocol/server.rb:65:in `process'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/adapters/rack_adapter.rb:115:in `handle_request'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.8/lib/faye/adapters/rack_adapter.rb:91:in `call'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/connection.rb:81:in `block in pre_process'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/connection.rb:79:in `catch'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/connection.rb:79:in `pre_process'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/connection.rb:54:in `process'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/adapters/thin.rb:41:in `process'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/connection.rb:39:in `receive_data'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/adapters/thin.rb:45:in `receive_data'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/backends/base.rb:63:in `start'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/thin-1.5.0/lib/thin/server.rb:159:in `start'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.4/lib/rack/handler/thin.rb:13:in `run'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.4/lib/rack/server.rb:268:in `start'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.4/lib/rack/server.rb:137:in `start'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.4/bin/rackup:4:in `<top (required)>'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/bin/rackup:23:in `load'
/Users/dome/.rvm/gems/ruby-1.9.3-p194/bin/rackup:23:in `<main>'

mimmo avatar Feb 07 '13 15:02 mimmo

Now it's working. The issue is generated from the old faye javascript included in the page. Leaving the page opened in a browser the js still send message subscription to the faye server, even if it was changed. Now it's fully working. I have added in the private_pub.ru file this lines for verbose logging, maybe useful for someone.

Faye::Logging.log_level = :debug
Faye.logger = lambda { |m| puts m }

bye

mimmo avatar Feb 08 '13 14:02 mimmo

How solved this problem with /usr/local/lib/ruby/gems/2.0.0/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:20:in authenticate_subscribe': undefined method[]' for nil:NilClass (NoMethodError) ? Thanks!

Neodelf avatar Dec 04 '13 12:12 Neodelf

@ryanb I am still facing this problem for few days now and I can't figure it out

Thin web server (v1.6.2 codename Doc Brown)
Maximum connections set to 1024
Listening on 0.0.0.0:9292, CTRL+C to stop
/Library/Ruby/Gems/2.0.0/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:20:in `authenticate_subscribe': undefined method `[]' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/2.0.0/gems/private_pub-1.0.3/lib/private_pub/faye_extension.rb:9:in `incoming'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/protocol/extensible.rb:38:in `block in pipe_through_extensions'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/protocol/extensible.rb:41:in `call'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/protocol/extensible.rb:41:in `pipe_through_extensions'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/protocol/server.rb:66:in `block in process'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/protocol/server.rb:65:in `each'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/protocol/server.rb:65:in `process'
        from /Library/Ruby/Gems/2.0.0/gems/faye-1.0.3/lib/faye/adapters/rack_adapter.rb:113:in `block in handle_request'
        from /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:959:in `call'
        from /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:959:in `block in run_deferred_callbacks'
        from /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:956:in `times'
        from /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:956:in `run_deferred_callbacks'
        from /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
        from /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
        from /Library/Ruby/Gems/2.0.0/gems/thin-1.6.2/lib/thin/backends/base.rb:73:in `start'
        from /Library/Ruby/Gems/2.0.0/gems/thin-1.6.2/lib/thin/server.rb:162:in `start'
        from /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/handler/thin.rb:16:in `run'
        from /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:264:in `start'
        from /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:141:in `start'
        from /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/bin/rackup:4:in `<top (required)>'
        from /usr/bin/rackup:23:in `load'
        from /usr/bin/rackup:23:in `<main>'

ahmedmelhady7 avatar Aug 11 '14 15:08 ahmedmelhady7

Hey has anyone figured out how to fix this issue? I'm getting this error on Ruby 2/Rails 4. It was working fine but then something happened and I can't seem to get it to run anymore. Also getting the 'authenticate_subscribe' nomethoderror.

liangtfm avatar Oct 27 '14 19:10 liangtfm

I am also getting same error. Tried different versions of private_pub with rails 4.2 and rails 5.0.2 and ruby version 2.2.2. With all of this I got same error

zia-mking avatar May 28 '19 07:05 zia-mking