usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/bin/bbmbd:35: warning: already initialized constant BBMB::VERSION /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/version.rb:5: warning: previous definition of VERSION was here D, [2016-06-01T16:20:00.401939 #23857] DEBUG -- updater: sleeping 23999.60 seconds D, [2016-06-01T16:20:00.402154 #23857] DEBUG -- invoicer: sleeping 2533199.60 seconds I, [2016-06-01T16:20:00.402390 #23857] INFO -- start: starting bbmb-server on druby://localhost:12004 Ignoring byebug-8.2.4 because its extensions are not built. Try: gem pristine byebug --version 8.2.4 Ignoring ffi-1.9.10 because its extensions are not built. Try: gem pristine ffi --version 1.9.10 From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 19 BBMB::Html::State::Login#login: 17: def login 18: require 'pry'; binding.pry => 19: reconsider_permissions(@session.login) 20: trigger(:home) 21: rescue Yus::UnknownEntityError 22: @errors.store(:email, create_error(:e_authentication_error, :email, nil)) 23: self 24: rescue Yus::AuthenticationError 25: @errors.store(:pass, create_error(:e_authentication_error, :pass, nil)) 26: self 27: end [1] pry(#)> caller => ["/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `evaluate_ruby'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:323:in `handle_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `block in eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:77:in `block in repl'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:67:in `loop'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:67:in `repl'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:38:in `block in start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/input_lock.rb:61:in `__with_ownership'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/input_lock.rb:79:in `with_ownership'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:38:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:15:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_class.rb:169:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:107:in `block in resume_pry'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:28:in `block in run'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:27:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:27:in `run'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:103:in `resume_pry'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:55:in `at_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/byebug-8.2.4/lib/byebug/context.rb:96:in `at_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb:19:in `login'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb:203:in `_trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb:192:in `trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:362:in `process'", "/usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/util/session.rb:44:in `process'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:172:in `block in drb_process'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:171:in `synchronize'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:171:in `drb_process'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1624:in `perform_without_block'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1584:in `perform'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1657:in `block (2 levels) in main_loop'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1653:in `loop'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1653:in `block in main_loop'"] [2] pry(#)> continue D, [2016-06-01T16:20:25.612886 #23857] DEBUG -- User: admin@sandoz.ch: allowed?(login, ch.bbmb.sandoz.Admin) -> true D, [2016-06-01T16:20:25.614870 #23857] DEBUG -- User: admin@sandoz.ch: allowed?(login, ch.bbmb.sandoz.Customer) -> false D, [2016-06-01T16:20:25.904675 #23857] DEBUG -- State: Customers#init: loaded 1661 customers in 0.28880s From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 19 BBMB::Html::State::Login#login: 17: def login 18: require 'pry'; binding.pry => 19: reconsider_permissions(@session.login) 20: trigger(:home) 21: rescue Yus::UnknownEntityError 22: @errors.store(:email, create_error(:e_authentication_error, :email, nil)) 23: self 24: rescue Yus::AuthenticationError 25: @errors.store(:pass, create_error(:e_authentication_error, :pass, nil)) 26: self 27: end [1] pry(#)> caller => ["/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `evaluate_ruby'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:323:in `handle_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `block in eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:77:in `block in repl'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:67:in `loop'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:67:in `repl'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:38:in `block in start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/input_lock.rb:61:in `__with_ownership'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/input_lock.rb:79:in `with_ownership'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:38:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:15:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_class.rb:169:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:107:in `block in resume_pry'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:28:in `block in run'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:27:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:27:in `run'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:103:in `resume_pry'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:55:in `at_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/byebug-8.2.4/lib/byebug/context.rb:96:in `at_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb:19:in `login'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb:203:in `_trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb:192:in `trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb:36:in `trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:362:in `process'", "/usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/util/session.rb:44:in `process'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:172:in `block in drb_process'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:171:in `synchronize'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:171:in `drb_process'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1624:in `perform_without_block'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1584:in `perform'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1657:in `block (2 levels) in main_loop'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1653:in `loop'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1653:in `block in main_loop'"] [2] pry(#)> continue D, [2016-06-01T16:20:35.858770 #23857] DEBUG -- User: admin@sandoz.ch: allowed?(login, ch.bbmb.sandoz.Admin) -> true D, [2016-06-01T16:20:35.860870 #23857] DEBUG -- User: admin@sandoz.ch: allowed?(login, ch.bbmb.sandoz.Customer) -> false D, [2016-06-01T16:20:36.156616 #23857] DEBUG -- State: Customers#init: loaded 1661 customers in 0.29465s From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 19 BBMB::Html::State::Login#login: 17: def login 18: require 'pry'; binding.pry => 19: reconsider_permissions(@session.login) 20: trigger(:home) 21: rescue Yus::UnknownEntityError 22: @errors.store(:email, create_error(:e_authentication_error, :email, nil)) 23: self 24: rescue Yus::AuthenticationError 25: @errors.store(:pass, create_error(:e_authentication_error, :pass, nil)) 26: self 27: end [1] pry(#)> caller => ["/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `evaluate_ruby'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:323:in `handle_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `block in eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `eval'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:77:in `block in repl'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:67:in `loop'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:67:in `repl'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:38:in `block in start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/input_lock.rb:61:in `__with_ownership'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/input_lock.rb:79:in `with_ownership'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:38:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/repl.rb:15:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-0.10.3/lib/pry/pry_class.rb:169:in `start'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:107:in `block in resume_pry'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:28:in `block in run'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:27:in `catch'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:27:in `run'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:103:in `resume_pry'", "/usr/local/lib/ruby/gems/2.3.0/gems/pry-byebug-3.3.0/lib/byebug/processors/pry_processor.rb:55:in `at_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/byebug-8.2.4/lib/byebug/context.rb:96:in `at_line'", "/usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb:19:in `login'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb:203:in `_trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb:192:in `trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb:36:in `trigger'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:362:in `process'", "/usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/util/session.rb:44:in `process'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:172:in `block in drb_process'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:171:in `synchronize'", "/usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb:171:in `drb_process'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1624:in `perform_without_block'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1584:in `perform'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1657:in `block (2 levels) in main_loop'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1653:in `loop'", "/usr/local/lib/ruby/2.3.0/drb/drb.rb:1653:in `block in main_loop'"] [2] pry(#)> step From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/util/session.rb @ line 20 BBMB::Html::Util::Session#login: 19: def login => 20: @user = @app.login(user_input(:email), user_input(:pass)) 21: @user.session = self if(@user.respond_to?(:session=)) 22: @user 23: end [2] pry(#)> @user => #> [3] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/util/session.rb @ line 21 BBMB::Html::Util::Session#login: 19: def login 20: @user = @app.login(user_input(:email), user_input(:pass)) => 21: @user.session = self if(@user.respond_to?(:session=)) 22: @user 23: end [3] pry(#)> @user => #> [4] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/util/session.rb @ line 22 BBMB::Html::Util::Session#login: 19: def login 20: @user = @app.login(user_input(:email), user_input(:pass)) 21: @user.session = self if(@user.respond_to?(:session=)) => 22: @user 23: end [4] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 60 BBMB::Html::State::Login#reconsider_permissions: 59: def reconsider_permissions(user) => 60: viral_modules(user) { |mod| 61: self.extend(mod) 62: } 63: end [4] pry(#)> user => #> [5] pry(#)> step From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 68 BBMB::Html::State::Login#viral_modules: 64: def viral_modules(user) 65: [ 66: ['.Admin', State::Viral::Admin], 67: ['.Customer', State::Viral::Customer], => 68: ].each { |key, mod| 69: if(user.allowed?("login", BBMB.config.auth_domain + key)) 70: yield mod 71: end 72: } 73: end [5] pry(#)> next D, [2016-06-01T16:23:20.601564 #23857] DEBUG -- User: admin@sandoz.ch: allowed?(login, ch.bbmb.sandoz.Admin) -> true D, [2016-06-01T16:23:20.607282 #23857] DEBUG -- User: admin@sandoz.ch: allowed?(login, ch.bbmb.sandoz.Customer) -> false From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 20 BBMB::Html::State::Login#login: 17: def login 18: require 'pry'; binding.pry 19: reconsider_permissions(@session.login) => 20: trigger(:home) 21: rescue Yus::UnknownEntityError 22: @errors.store(:email, create_error(:e_authentication_error, :email, nil)) 23: self 24: rescue Yus::AuthenticationError 25: @errors.store(:pass, create_error(:e_authentication_error, :pass, nil)) 26: self 27: end [5] pry(#)> step From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 36 SBSM::ViralState#trigger: 35: def trigger(event) => 36: newstate = super 37: if(event==:logout) 38: @session.logout 39: else 40: infect(newstate) 41: end 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [5] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 37 SBSM::ViralState#trigger: 35: def trigger(event) 36: newstate = super => 37: if(event==:logout) 38: @session.logout 39: else 40: infect(newstate) 41: end 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [5] pry(#)> event => :home [6] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 40 SBSM::ViralState#trigger: 35: def trigger(event) 36: newstate = super 37: if(event==:logout) 38: @session.logout 39: else => 40: infect(newstate) 41: end 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [6] pry(#)> newstate => #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @infos=[], @model=#, @mtime=2016-06-01 16:23:42 +0200, @previous= #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @http_headers= {"Content-Type"=>"text/html; charset=utf-8", "Cache-Control"=>"private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0", "Pragma"=>"no-cache", "Expires"=>"Wed, 01 Jun 2016 14:19:59 GMT", "P3P"=>"CP='OTI NID CUR OUR STP ONL UNI PRE'", "Refresh"=>"3600; URL=http://sandoz.bbmb.ngiger.ch/de/logout/"}, @infos=[], @model=#, @mtime=2016-06-01 16:20:05 +0200, @next=#, @previous=nil, @redirected=false, @request_path="/", @session=BBMB::Persistence::ODBA, @viral_modules=[BBMB::Html::State::Viral::Admin, BBMB::Html::State::Viral::Admin, BBMB::Html::State::Viral::Admin], @warnings=[]>, @session=BBMB::Persistence::ODBA, @viral_modules=[BBMB::Html::State::Viral::Admin], @warnings=[]> [7] pry(#)> res = infect(newstate) => #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @infos=[], @model=#, @mtime=2016-06-01 16:23:42 +0200, @previous= #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @http_headers= {"Content-Type"=>"text/html; charset=utf-8", "Cache-Control"=>"private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0", "Pragma"=>"no-cache", "Expires"=>"Wed, 01 Jun 2016 14:19:59 GMT", "P3P"=>"CP='OTI NID CUR OUR STP ONL UNI PRE'", "Refresh"=>"3600; URL=http://sandoz.bbmb.ngiger.ch/de/logout/"}, @infos=[], @model=#, @mtime=2016-06-01 16:20:05 +0200, @next=#, @previous=nil, @redirected=false, @request_path="/", @session=BBMB::Persistence::ODBA, @viral_modules=[BBMB::Html::State::Viral::Admin, BBMB::Html::State::Viral::Admin, BBMB::Html::State::Viral::Admin], @warnings=[]>, @session=BBMB::Persistence::ODBA, @viral_modules=[BBMB::Html::State::Viral::Admin], @warnings=[]> [8] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 42 SBSM::ViralState#trigger: 35: def trigger(event) 36: newstate = super 37: if(event==:logout) 38: @session.logout 39: else 40: infect(newstate) 41: end => 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [8] pry(#)> step From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb @ line 196 SBSM::State#trigger: 183: def trigger(event) 184: if(@redirected) 185: @redirected = false 186: else 187: @errors = {} 188: @infos = [] 189: @warnings = [] 190: end 191: state = if(event && !event.to_s.empty? && self.respond_to?(event)) 192: _trigger(event) 193: elsif(klass = @events[event]) 194: klass.new(@session, @model) 195: end => 196: state ||= self.default 197: if(state.respond_to?(:previous=)) 198: state.previous = self 199: end 200: state 201: end [8] pry(#)> state.class => BBMB::Html::State::Customers [9] pry(#)> self.default => #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @http_headers= {"Content-Type"=>"text/html; charset=utf-8", "Cache-Control"=>"private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0", "Pragma"=>"no-cache", "Expires"=>"Wed, 01 Jun 2016 14:19:59 GMT", "P3P"=>"CP='OTI NID CUR OUR STP ONL UNI PRE'", "Refresh"=>"3600; URL=http://sandoz.bbmb.ngiger.ch/de/logout/"}, @infos=[], @model=#, @mtime=2016-06-01 16:20:05 +0200, @next= #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @infos=[], @model=#, @mtime=2016-06-01 16:23:42 +0200, @previous=#, @session=BBMB::Persistence::ODBA, @viral_modules=[BBMB::Html::State::Viral::Admin], @warnings=[]>, @previous=nil, @redirected=false, @request_path="/", @session=BBMB::Persistence::ODBA, @viral_modules=[BBMB::Html::State::Viral::Admin, BBMB::Html::State::Viral::Admin, BBMB::Html::State::Viral::Admin], @warnings=[]> [10] pry(#)> state.respond_to?(:previous=) => true [11] pry(#)> step From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb @ line 197 SBSM::State#trigger: 183: def trigger(event) 184: if(@redirected) 185: @redirected = false 186: else 187: @errors = {} 188: @infos = [] 189: @warnings = [] 190: end 191: state = if(event && !event.to_s.empty? && self.respond_to?(event)) 192: _trigger(event) 193: elsif(klass = @events[event]) 194: klass.new(@session, @model) 195: end 196: state ||= self.default => 197: if(state.respond_to?(:previous=)) 198: state.previous = self 199: end 200: state 201: end [11] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb @ line 198 SBSM::State#trigger: 183: def trigger(event) 184: if(@redirected) 185: @redirected = false 186: else 187: @errors = {} 188: @infos = [] 189: @warnings = [] 190: end 191: state = if(event && !event.to_s.empty? && self.respond_to?(event)) 192: _trigger(event) 193: elsif(klass = @events[event]) 194: klass.new(@session, @model) 195: end 196: state ||= self.default 197: if(state.respond_to?(:previous=)) => 198: state.previous = self 199: end 200: state 201: end [11] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/state.rb @ line 200 SBSM::State#trigger: 183: def trigger(event) 184: if(@redirected) 185: @redirected = false 186: else 187: @errors = {} 188: @infos = [] 189: @warnings = [] 190: end 191: state = if(event && !event.to_s.empty? && self.respond_to?(event)) 192: _trigger(event) 193: elsif(klass = @events[event]) 194: klass.new(@session, @model) 195: end 196: state ||= self.default 197: if(state.respond_to?(:previous=)) 198: state.previous = self 199: end => 200: state 201: end [11] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 37 SBSM::ViralState#trigger: 35: def trigger(event) 36: newstate = super => 37: if(event==:logout) 38: @session.logout 39: else 40: infect(newstate) 41: end 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [11] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 40 SBSM::ViralState#trigger: 35: def trigger(event) 36: newstate = super 37: if(event==:logout) 38: @session.logout 39: else => 40: infect(newstate) 41: end 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [11] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/viralstate.rb @ line 42 SBSM::ViralState#trigger: 35: def trigger(event) 36: newstate = super 37: if(event==:logout) 38: @session.logout 39: else 40: infect(newstate) 41: end => 42: newstate 43: rescue DRb::DRbError, RangeError 44: @session.logout 45: home 46: end [11] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 366 SBSM::Session#process: 361: import_cookies(request) 362: @state = active_state.trigger(event()) 363: #FIXME: is there a better way to distinguish returning states? 364: # ... we could simply refuse to init if event == :sort, but that 365: # would not solve the problem cleanly, I think. => 366: unless(@state.request_path) 367: @state.request_path = @request_path 368: @state.init 369: end 370: unless @state.volatile? 371: @active_state = @state [11] pry(#)> @state.request_path => nil [12] pry(#)> @request_path => "/de/customers/" [13] pry(#)> step From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 367 SBSM::Session#process: 362: @state = active_state.trigger(event()) 363: #FIXME: is there a better way to distinguish returning states? 364: # ... we could simply refuse to init if event == :sort, but that 365: # would not solve the problem cleanly, I think. 366: unless(@state.request_path) => 367: @state.request_path = @request_path 368: @state.init 369: end 370: unless @state.volatile? 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) [13] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 368 SBSM::Session#process: 363: #FIXME: is there a better way to distinguish returning states? 364: # ... we could simply refuse to init if event == :sort, but that 365: # would not solve the problem cleanly, I think. 366: unless(@state.request_path) 367: @state.request_path = @request_path => 368: @state.init 369: end 370: unless @state.volatile? 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) 373: end [13] pry(#)> next D, [2016-06-01T16:27:51.666780 #23857] DEBUG -- State: Customers#init: loaded 1661 customers in 1.00125s From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 370 SBSM::Session#process: 365: # would not solve the problem cleanly, I think. 366: unless(@state.request_path) 367: @state.request_path = @request_path 368: @state.init 369: end => 370: unless @state.volatile? 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) 373: end 374: @zone = @active_state.zone 375: @active_state.touch [13] pry(#)> @state.volatile? => false [14] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 371 SBSM::Session#process: 366: unless(@state.request_path) 367: @state.request_path = @request_path 368: @state.init 369: end 370: unless @state.volatile? => 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) 373: end 374: @zone = @active_state.zone 375: @active_state.touch 376: cap_max_states [14] pry(#)> @active_state => #BBMB::Html::State::Customers, :customer=>BBMB::Html::State::Customer, :history=>BBMB::Html::State::History, :orders=>BBMB::Html::State::Orders}, @filter=#, @infos=[], @model= [#, @city="Gossau SG", @current_order=#, @customer_id="4100611109", @ean13="7601000268686", @email=nil, @favorites=#, @fax="071 385 76 90", @firstname="Nico", @lastname="Egger", @odba_id=82384, @odba_observers=[], @odba_persistent=true, @organisation="FMH Gyn\xC3\xA4kologie und Geburtshilfe", @phone_business="071 385 76 85", @plz="9200", @protected={}, @quotas=#, @title="Herr Dr. med.">, #, @city="Morges", @current_order=#, @customer_id="4100615725", @ean13="7601000018915", @email=nil, @favorites=#, @fax="021 803 27 79", @firstname="Luc", @lastname="Odier", @odba_id=64913, @odba_observers=[], @odba_persistent=true, @organisation="FMH M\xC3\xA9decine interne g\xC3\xA9n\xC3\xA9rale", @phone_business="021 801 16 25", @plz="1110", @protected={}, @quotas=#, @title="Docteur">, #, @city="Gen\xC3\xA8ve", @current_order=#, @customer_id="4100612429", @ean13="7601000024312", @email=nil, @favorites=#, @fax="022 347 64 33", @firstname="Nicolas", @lastname="Guanella", @odba_id=350866, @odba_observers=[], [15] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 372 SBSM::Session#process: 367: @state.request_path = @request_path 368: @state.init 369: end 370: unless @state.volatile? 371: @active_state = @state => 372: @attended_states.store(@state.object_id, @state) 373: end 374: @zone = @active_state.zone 375: @active_state.touch 376: cap_max_states 377: rescue DRb::DRbConnError [15] pry(#)> @state.object_id => 70076494324780 [16] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 374 SBSM::Session#process: 369: end 370: unless @state.volatile? 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) 373: end => 374: @zone = @active_state.zone 375: @active_state.touch 376: cap_max_states 377: rescue DRb::DRbConnError 378: raise 379: rescue StandardError => err [16] pry(#)> @active_state.zone => nil [17] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 375 SBSM::Session#process: 370: unless @state.volatile? 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) 373: end 374: @zone = @active_state.zone => 375: @active_state.touch 376: cap_max_states 377: rescue DRb::DRbConnError 378: raise 379: rescue StandardError => err 380: #@state = @state.previous [17] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 376 SBSM::Session#process: 371: @active_state = @state 372: @attended_states.store(@state.object_id, @state) 373: end 374: @zone = @active_state.zone 375: @active_state.touch => 376: cap_max_states 377: rescue DRb::DRbConnError 378: raise 379: rescue StandardError => err 380: #@state = @state.previous 381: puts "error in SBSM::Session#process: #@request_path" [17] pry(#)> cap_max_states => nil [18] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 386 SBSM::Session#process: 381: puts "error in SBSM::Session#process: #@request_path" 382: puts err.class, err.message 383: puts err.backtrace[0,5] 384: $stdout.flush 385: ensure => 386: @user_input_imported = false 387: end 388: '' 389: end 390: def reset 391: =begin [18] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 388 SBSM::Session#process: 383: puts err.backtrace[0,5] 384: $stdout.flush 385: ensure 386: @user_input_imported = false 387: end => 388: '' 389: end 390: def reset 391: =begin 392: if(@active_thread \ 393: && @active_thread.alive? \ [18] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 173 SBSM::Session#drb_process: 169: def drb_process(request) 170: start = Time.now 171: html = @mutex.synchronize do 172: process(request) => 173: to_html 174: end 175: (@@stats[@request_path] ||= []).push(Time.now - start) 176: html 177: end [18] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 175 SBSM::Session#drb_process: 169: def drb_process(request) 170: start = Time.now 171: html = @mutex.synchronize do 172: process(request) 173: to_html 174: end => 175: (@@stats[@request_path] ||= []).push(Time.now - start) 176: html 177: end [18] pry(#)> @@stats[@request_path] => [10.222069726] [19] pry(#)> Time.now - start) SyntaxError: unexpected ')', expecting end-of-input [19] pry(#)> Time.now - start => 531.79902156 [20] pry(#)> html => "" [21] pry(#)> next From: /usr/local/lib/ruby/gems/2.3.0/gems/sbsm-1.2.7/lib/sbsm/session.rb @ line 176 SBSM::Session#drb_process: 169: def drb_process(request) 170: start = Time.now 171: html = @mutex.synchronize do 172: process(request) 173: to_html 174: end 175: (@@stats[@request_path] ||= []).push(Time.now - start) => 176: html 177: end [21] pry(#)> next From: /usr/local/lib/ruby/2.3.0/drb/drb.rb @ line 1587 DRb::DRbServer::InvokeMethod#perform: 1582: @result = perform_with_block 1583: else 1584: @result = perform_without_block 1585: end 1586: end => 1587: @succ = true 1588: if @msg_id == :to_ary && @result.class == Array 1589: @result = DRbArray.new(@result) 1590: end 1591: return @succ, @result 1592: rescue StandardError, ScriptError, Interrupt [21] pry(#)> next From: /usr/local/lib/ruby/2.3.0/drb/drb.rb @ line 1588 DRb::DRbServer::InvokeMethod#perform: 1583: else 1584: @result = perform_without_block 1585: end 1586: end 1587: @succ = true => 1588: if @msg_id == :to_ary && @result.class == Array 1589: @result = DRbArray.new(@result) 1590: end 1591: return @succ, @result 1592: rescue StandardError, ScriptError, Interrupt 1593: @result = $! [21] pry(#)> @result.class => String [22] pry(#)> @result.lenght NoMethodError: undefined method `lenght' for "":String Did you mean? length from (pry):24:in `perform' [23] pry(#)> @result.length => 0 [24] pry(#)> continue From: /usr/local/lib/ruby/gems/2.3.0/gems/bbmb-2.0.1/lib/bbmb/html/state/login.rb @ line 19 BBMB::Html::State::Login#login: 17: def login 18: require 'pry'; binding.pry => 19: reconsider_permissions(@session.login) 20: trigger(:home) 21: rescue Yus::UnknownEntityError 22: @errors.store(:email, create_error(:e_authentication_error, :email, nil)) 23: self 24: rescue Yus::AuthenticationError 25: @errors.store(:pass, create_error(:e_authentication_error, :pass, nil)) 26: self 27: end [1] pry(#)>