{"action":"closed","issue":{"url":"https://api.github.com/repos/NNRUG/it52-rails/issues/25","repository_url":"https://api.github.com/repos/NNRUG/it52-rails","labels_url":"https://api.github.com/repos/NNRUG/it52-rails/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/NNRUG/it52-rails/issues/25/comments","events_url":"https://api.github.com/repos/NNRUG/it52-rails/issues/25/events","html_url":"https://github.com/NNRUG/it52-rails/issues/25","id":54713921,"number":25,"title":"omniauth_callbacks#github (NoMethodError) \"undefined method `to_url' for nil:NilClass\"","user":{"login":"kugaevsky","id":125203,"avatar_url":"https://avatars.githubusercontent.com/u/125203?v=3","gravatar_id":"","url":"https://api.github.com/users/kugaevsky","html_url":"https://github.com/kugaevsky","followers_url":"https://api.github.com/users/kugaevsky/followers","following_url":"https://api.github.com/users/kugaevsky/following{/other_user}","gists_url":"https://api.github.com/users/kugaevsky/gists{/gist_id}","starred_url":"https://api.github.com/users/kugaevsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kugaevsky/subscriptions","organizations_url":"https://api.github.com/users/kugaevsky/orgs","repos_url":"https://api.github.com/users/kugaevsky/repos","events_url":"https://api.github.com/users/kugaevsky/events{/privacy}","received_events_url":"https://api.github.com/users/kugaevsky/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NNRUG/it52-rails/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-18T23:05:43Z","updated_at":"2016-04-20T15:32:27Z","closed_at":"2016-04-20T15:32:27Z","body":"<meta name=\"exception_notification_http\">\n<h2>NoMethodError occurred in omniauth_callbacks</h2>\n<pre>\nundefined method `to_url&#39; for nil:NilClass\napp/models/user.rb:145:in `normalize_url&#39;\n</pre>\n<h2>Request</h2>\n<table class=\"table table-hover table-condensed\">\n<tr><td>URL</td><td>http://www.it52.info/oauth/github/callback?code=abe27479c70961950909&amp;state=1d31222058a4f6e79126b2b216e289085d6c60f20765848b</td></tr>\n<tr><td>IP address</td><td>95.37.193.58</td></tr>\n<tr><td>Parameters</td><td>{&quot;code&quot;=&gt;&quot;abe27479c70961950909&quot;, &quot;state&quot;=&gt;&quot;1d31222058a4f6e79126b2b216e289085d6c60f20765848b&quot;, &quot;controller&quot;=&gt;&quot;omniauth_callbacks&quot;, &quot;action&quot;=&gt;&quot;github&quot;}</td></tr>\n<tr><td>Rails root</td><td>/app</td></tr>\n<tr><td>Timestamp</td><td>2015-01-19 02:05:42 +0300</td></tr>\n</table>\n<h2>Session</h2>\n<table class=\"table table-hover table-condensed\">\n<tr><td>session id</td><td>&quot;69a90e1dee054be8f0854e3b7641e9c4&quot;</td></tr>\n<tr><td>data</td><td>#&lt;ActionDispatch::Request::Session:0x007f7c1ae60eb8 ...&gt;\n</td></tr>\n</table>\n<h2>Environment</h2>\n<table class=\"table table-hover table-condensed\">\n<tr><td>HTTP_ACCEPT</td><td>text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</td></tr>\n<tr><td>HTTP_ACCEPT_ENCODING</td><td>gzip, deflate, sdch</td></tr>\n<tr><td>HTTP_ACCEPT_LANGUAGE</td><td>ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4</td></tr>\n<tr><td>HTTP_CONNECTION</td><td>close</td></tr>\n<tr><td>HTTP_CONNECT_TIME</td><td>2</td></tr>\n<tr><td>HTTP_COOKIE</td><td>_gat=1; _dc_gtm_UA-54446007-1=1; _ga=GA1.2.1171516537.1421622253; _it52_rails_session=MDRFVXpKUHVFS0JPVnhsODlRMndCRTJiUGo4cDIrdjRPQUZYOThEcEZQdzNrOTY4TlRNRVM4QWVJVGhuYlhJVGhLcitMcVNmcUIzWEIrODM5RkJxVkZTZXlCc1JLVGkrY1RFQWsrZlA0TFllb1lRbXU4aVdvS0RDS1RpUThoZmYzTnhFN0tzVWNhL3NUWmZheHlTK291VkJ5VU1leWxNWDNKOXd2Q1lBamY1M09OZ3cyUWZqN3NORDhjaUdQZ2NvOXBickIwVEc1WXVkajhJei9yQnNkUjhhcFlhdXVMQmwyaTlGNUJLeWlWNmsyT0NrdUdYL09qUGZEd0NhU1ZSMFhPYlJNaUxJcVh5REFvNllRTkFnbDJ4cm5sdDFlTUlndG9Uc0YvT3ZwTmNUQzN2OTVKY2VIUXU5WlpzZUhYYy95WFUvVWpqajB6OGJNTi9UbHhsbm93PT0tLU9uUHBRK1lWNUwrYU14TGxkbEZvUmc9PQ%3D%3D--0c5d80e3664f334c7b1663d2c74fae67256e4c45</td></tr>\n<tr><td>HTTP_HOST</td><td>www.it52.info</td></tr>\n<tr><td>HTTP_REFERER</td><td>http://www.it52.info/login</td></tr>\n<tr><td>HTTP_TOTAL_ROUTE_TIME</td><td>0</td></tr>\n<tr><td>HTTP_USER_AGENT</td><td>Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36</td></tr>\n<tr><td>HTTP_VERSION</td><td>HTTP/1.1</td></tr>\n<tr><td>HTTP_VIA</td><td>1.1 vegur</td></tr>\n<tr><td>HTTP_X_FORWARDED_FOR</td><td>95.37.193.58</td></tr>\n<tr><td>HTTP_X_FORWARDED_PORT</td><td>80</td></tr>\n<tr><td>HTTP_X_FORWARDED_PROTO</td><td>http</td></tr>\n<tr><td>HTTP_X_REQUEST_ID</td><td>06929ba2-dd81-4034-969d-4ee3e7fdffc0</td></tr>\n<tr><td>HTTP_X_REQUEST_START</td><td>1421622340952</td></tr>\n<tr><td>ORIGINAL_FULLPATH</td><td>/oauth/github/callback?code=abe27479c70961950909&amp;state=1d31222058a4f6e79126b2b216e289085d6c60f20765848b</td></tr>\n<tr><td>ORIGINAL_SCRIPT_NAME</td><td></td></tr>\n<tr><td>PATH_INFO</td><td>/oauth/github/callback</td></tr>\n<tr><td>QUERY_STRING</td><td>code=abe27479c70961950909&amp;state=1d31222058a4f6e79126b2b216e289085d6c60f20765848b</td></tr>\n<tr><td>REMOTE_ADDR</td><td>10.33.136.8</td></tr>\n<tr><td>REQUEST_METHOD</td><td>GET</td></tr>\n<tr><td>REQUEST_PATH</td><td>/oauth/github/callback</td></tr>\n<tr><td>REQUEST_URI</td><td>/oauth/github/callback?code=abe27479c70961950909&amp;state=1d31222058a4f6e79126b2b216e289085d6c60f20765848b</td></tr>\n<tr><td>ROUTES_70085498336380_SCRIPT_NAME</td><td></td></tr>\n<tr><td>SCRIPT_NAME</td><td></td></tr>\n<tr><td>SERVER_NAME</td><td>www.it52.info</td></tr>\n<tr><td>SERVER_PORT</td><td>80</td></tr>\n<tr><td>SERVER_PROTOCOL</td><td>HTTP/1.1</td></tr>\n<tr><td>SERVER_SOFTWARE</td><td>Unicorn 4.8.3</td></tr>\n<tr><td>action_controller.instance</td><td>omniauth_callbacks#github</td></tr>\n<tr><td>action_dispatch.backtrace_cleaner</td><td>#&lt;Rails::BacktraceCleaner:0x007f7c17f71968&gt;</td></tr>\n<tr><td>action_dispatch.cookies</td><td>#&lt;ActionDispatch::Cookies::CookieJar:0x007f7c1ae75e80&gt;</td></tr>\n<tr><td>action_dispatch.cookies_serializer</td><td>json</td></tr>\n<tr><td>action_dispatch.encrypted_cookie_salt</td><td>encrypted cookie</td></tr>\n<tr><td>action_dispatch.encrypted_signed_cookie_salt</td><td>signed encrypted cookie</td></tr>\n<tr><td>action_dispatch.http_auth_salt</td><td>http authentication</td></tr>\n<tr><td>action_dispatch.key_generator</td><td>#&lt;ActiveSupport::CachingKeyGenerator:0x007f7c17f82c68&gt;</td></tr>\n<tr><td>action_dispatch.logger</td><td>#&lt;Logger:0x007f7c1a8c5d28&gt;</td></tr>\n<tr><td>action_dispatch.parameter_filter</td><td>[:password]</td></tr>\n<tr><td>action_dispatch.redirect_filter</td><td>[]</td></tr>\n<tr><td>action_dispatch.remote_ip</td><td>95.37.193.58</td></tr>\n<tr><td>action_dispatch.request.content_type</td><td></td></tr>\n<tr><td>action_dispatch.request.formats</td><td>[#&lt;Mime::Type:0x007f7c15752dd8 @synonyms=[&quot;application/xhtml+xml&quot;], @symbol=:html, @string=&quot;text/html&quot;&gt;]</td></tr>\n<tr><td>action_dispatch.request.parameters</td><td>{&quot;code&quot;=&gt;&quot;abe27479c70961950909&quot;, &quot;state&quot;=&gt;&quot;1d31222058a4f6e79126b2b216e289085d6c60f20765848b&quot;, &quot;controller&quot;=&gt;&quot;omniauth_callbacks&quot;, &quot;action&quot;=&gt;&quot;github&quot;}</td></tr>\n<tr><td>action_dispatch.request.path_parameters</td><td>{:controller=&gt;&quot;omniauth_callbacks&quot;, :action=&gt;&quot;github&quot;}</td></tr>\n<tr><td>action_dispatch.request.query_parameters</td><td>{&quot;code&quot;=&gt;&quot;abe27479c70961950909&quot;, &quot;state&quot;=&gt;&quot;1d31222058a4f6e79126b2b216e289085d6c60f20765848b&quot;}</td></tr>\n<tr><td>action_dispatch.request.request_parameters</td><td>{}</td></tr>\n<tr><td>action_dispatch.request.unsigned_session_cookie</td><td>{&quot;session_id&quot;=&gt;&quot;69a90e1dee054be8f0854e3b7641e9c4&quot;, &quot;_csrf_token&quot;=&gt;&quot;Do7lnr1Rto8Tyc2AaY3BEg/e6Ft9fs7Nbo8BAa8TtYk=&quot;, &quot;omniauth.params&quot;=&gt;{}, &quot;omniauth.origin&quot;=&gt;&quot;http://www.it52.info/login&quot;, &quot;omniauth.state&quot;=&gt;&quot;1d31222058a4f6e79126b2b216e289085d6c60f20765848b&quot;}</td></tr>\n<tr><td>action_dispatch.request_id</td><td>06929ba2-dd81-4034-969d-4ee3e7fdffc0</td></tr>\n<tr><td>action_dispatch.routes</td><td>#&lt;ActionDispatch::Routing::RouteSet:0x007f7c1a76e8f8&gt;</td></tr>\n<tr><td>action_dispatch.secret_key_base</td><td>&lt;%= ENV[&#39;secret_key_base&#39;] =&gt;</td></tr>\n<tr><td>action_dispatch.secret_token</td><td></td></tr>\n<tr><td>action_dispatch.show_detailed_exceptions</td><td>false</td></tr>\n<tr><td>action_dispatch.show_exceptions</td><td>true</td></tr>\n<tr><td>action_dispatch.signed_cookie_salt</td><td>signed cookie</td></tr>\n<tr><td>devise.mapping</td><td>#&lt;Devise::Mapping:0x007f7c154553b0&gt;</td></tr>\n<tr><td>devise.skip_timeout</td><td>true</td></tr>\n<tr><td>newrelic.agent_hooks_before_fired</td><td>true</td></tr>\n<tr><td>newrelic.captured_request</td><td>true</td></tr>\n<tr><td>omniauth.auth</td><td>{&quot;provider&quot;=&gt;&quot;github&quot;, &quot;uid&quot;=&gt;&quot;1940018&quot;, &quot;info&quot;=&gt;{&quot;nickname&quot;=&gt;&quot;theskillz&quot;, &quot;email&quot;=&gt;&quot;skillz.nexus@gmail.com&quot;, &quot;name&quot;=&gt;&quot;Yura&quot;, &quot;image&quot;=&gt;&quot;https://avatars.githubusercontent.com/u/1940018?v=3&quot;, &quot;urls&quot;=&gt;{&quot;GitHub&quot;=&gt;&quot;https://github.com/theskillz&quot;, &quot;Blog&quot;=&gt;&quot;&quot;}}, &quot;credentials&quot;=&gt;{&quot;token&quot;=&gt;&quot;e65393befaf9842a987d6b85dc3d0739308e3efe&quot;, &quot;expires&quot;=&gt;false}, &quot;extra&quot;=&gt;{&quot;raw_info&quot;=&gt;{&quot;login&quot;=&gt;&quot;theskillz&quot;, &quot;id&quot;=&gt;1940018, &quot;avatar_url&quot;=&gt;&quot;https://avatars.githubusercontent.com/u/1940018?v=3&quot;, &quot;gravatar_id&quot;=&gt;&quot;&quot;, &quot;url&quot;=&gt;&quot;https://api.github.com/users/theskillz&quot;, &quot;html_url&quot;=&gt;&quot;https://github.com/theskillz&quot;, &quot;followers_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/followers&quot;, &quot;following_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/following{/other_user}&quot;, &quot;gists_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/gists{/gist_id}&quot;, &quot;starred_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/starred{/owner}{/repo}&quot;, &quot;subscriptions_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/subscriptions&quot;, &quot;organizations_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/orgs&quot;, &quot;repos_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/repos&quot;, &quot;events_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/events{/privacy}&quot;, &quot;received_events_url&quot;=&gt;&quot;https://api.github.com/users/theskillz/received_events&quot;, &quot;type&quot;=&gt;&quot;User&quot;, &quot;site_admin&quot;=&gt;false, &quot;name&quot;=&gt;&quot;Yura&quot;, &quot;company&quot;=&gt;&quot;&quot;, &quot;blog&quot;=&gt;&quot;&quot;, &quot;location&quot;=&gt;&quot;Russia, Nizhniy Novgorod&quot;, &quot;email&quot;=&gt;&quot;&quot;, &quot;hireable&quot;=&gt;false, &quot;bio&quot;=&gt;nil, &quot;public_repos&quot;=&gt;3, &quot;public_gists&quot;=&gt;0, &quot;followers&quot;=&gt;1, &quot;following&quot;=&gt;3, &quot;created_at&quot;=&gt;&quot;2012-07-09T00:46:13Z&quot;, &quot;updated_at&quot;=&gt;&quot;2015-01-14T15:09:06Z&quot;}}}</td></tr>\n<tr><td>omniauth.origin</td><td>http://www.it52.info/login</td></tr>\n<tr><td>omniauth.params</td><td>{}</td></tr>\n<tr><td>omniauth.strategy</td><td>#&lt;OmniAuth::Strategies::GitHub:0x007f7c1ae603a0&gt;</td></tr>\n<tr><td>rack.errors</td><td>#&lt;IO:0x007f7c133adbf8&gt;</td></tr>\n<tr><td>rack.hijack</td><td>#&lt;Proc:0x007f7c1ae43458@/app/vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_request.rb:111&gt;</td></tr>\n<tr><td>rack.hijack?</td><td>true</td></tr>\n<tr><td>rack.input</td><td>#&lt;StringIO:0x007f7c14495bf0&gt;</td></tr>\n<tr><td>rack.logger</td><td>#&lt;Logger:0x007f7c1454f208&gt;</td></tr>\n<tr><td>rack.multiprocess</td><td>true</td></tr>\n<tr><td>rack.multithread</td><td>false</td></tr>\n<tr><td>rack.request.cookie_hash</td><td>{&quot;_gat&quot;=&gt;&quot;1&quot;, &quot;_dc_gtm_UA-54446007-1&quot;=&gt;&quot;1&quot;, &quot;_ga&quot;=&gt;&quot;GA1.2.1171516537.1421622253&quot;, &quot;_it52_rails_session&quot;=&gt;&quot;MDRFVXpKUHVFS0JPVnhsODlRMndCRTJiUGo4cDIrdjRPQUZYOThEcEZQdzNrOTY4TlRNRVM4QWVJVGhuYlhJVGhLcitMcVNmcUIzWEIrODM5RkJxVkZTZXlCc1JLVGkrY1RFQWsrZlA0TFllb1lRbXU4aVdvS0RDS1RpUThoZmYzTnhFN0tzVWNhL3NUWmZheHlTK291VkJ5VU1leWxNWDNKOXd2Q1lBamY1M09OZ3cyUWZqN3NORDhjaUdQZ2NvOXBickIwVEc1WXVkajhJei9yQnNkUjhhcFlhdXVMQmwyaTlGNUJLeWlWNmsyT0NrdUdYL09qUGZEd0NhU1ZSMFhPYlJNaUxJcVh5REFvNllRTkFnbDJ4cm5sdDFlTUlndG9Uc0YvT3ZwTmNUQzN2OTVKY2VIUXU5WlpzZUhYYy95WFUvVWpqajB6OGJNTi9UbHhsbm93PT0tLU9uUHBRK1lWNUwrYU14TGxkbEZvUmc9PQ==--0c5d80e3664f334c7b1663d2c74fae67256e4c45&quot;}</td></tr>\n<tr><td>rack.request.cookie_string</td><td>_gat=1; _dc_gtm_UA-54446007-1=1; _ga=GA1.2.1171516537.1421622253; _it52_rails_session=MDRFVXpKUHVFS0JPVnhsODlRMndCRTJiUGo4cDIrdjRPQUZYOThEcEZQdzNrOTY4TlRNRVM4QWVJVGhuYlhJVGhLcitMcVNmcUIzWEIrODM5RkJxVkZTZXlCc1JLVGkrY1RFQWsrZlA0TFllb1lRbXU4aVdvS0RDS1RpUThoZmYzTnhFN0tzVWNhL3NUWmZheHlTK291VkJ5VU1leWxNWDNKOXd2Q1lBamY1M09OZ3cyUWZqN3NORDhjaUdQZ2NvOXBickIwVEc1WXVkajhJei9yQnNkUjhhcFlhdXVMQmwyaTlGNUJLeWlWNmsyT0NrdUdYL09qUGZEd0NhU1ZSMFhPYlJNaUxJcVh5REFvNllRTkFnbDJ4cm5sdDFlTUlndG9Uc0YvT3ZwTmNUQzN2OTVKY2VIUXU5WlpzZUhYYy95WFUvVWpqajB6OGJNTi9UbHhsbm93PT0tLU9uUHBRK1lWNUwrYU14TGxkbEZvUmc9PQ%3D%3D--0c5d80e3664f334c7b1663d2c74fae67256e4c45</td></tr>\n<tr><td>rack.request.query_hash</td><td>{&quot;code&quot;=&gt;&quot;abe27479c70961950909&quot;, &quot;state&quot;=&gt;&quot;1d31222058a4f6e79126b2b216e289085d6c60f20765848b&quot;}</td></tr>\n<tr><td>rack.request.query_string</td><td>code=abe27479c70961950909&amp;state=1d31222058a4f6e79126b2b216e289085d6c60f20765848b</td></tr>\n<tr><td>rack.run_once</td><td>false</td></tr>\n<tr><td>rack.session</td><td>#&lt;ActionDispatch::Request::Session:0x007f7c1ae60eb8&gt;</td></tr>\n<tr><td>rack.session.options</td><td>#&lt;ActionDispatch::Request::Session::Options:0x007f7c1ae60e68&gt;</td></tr>\n<tr><td>rack.url_scheme</td><td>http</td></tr>\n<tr><td>rack.version</td><td>[1, 2]</td></tr>\n<tr><td>warden</td><td>Warden::Proxy:70085501977760 @config={:default_scope=&gt;:user, :scope_defaults=&gt;{}, :default_strategies=&gt;{:user=&gt;[:rememberable, :database_authenticatable]}, :intercept_401=&gt;false, :failure_app=&gt;#&lt;Devise::Delegator:0x007f7c1a46afa8&gt;}</td></tr>\n<tr><td>Process</td><td>8</td></tr>\n<tr><td>Server</td><td>c9714421-c0e5-40f2-99ac-6e2ad00c3811</td></tr>\n</table>\n<h2>Backtrace</h2>\n<pre>\napp/models/user.rb:145:in `normalize_url&#39;\napp/models/user.rb:108:in `from_omniauth&#39;\napp/controllers/omniauth_callbacks_controller.rb:13:in `auth_for&#39;\napp/controllers/omniauth_callbacks_controller.rb:5:in `block (2 levels) in &lt;class:OmniauthCallbacksController&gt;&#39;\n</pre>\n<br/>\n<img src='http://sparklines-bitworking.appspot.com/spark.cgi?type=impulse&height=40&upper=1&above-color=red&below-color=gray&width=5&limits=0,1&d=0,0,0,0,0,0,1' alt='{\"runtimeerror\":[\"Jan 18\",1]}' title='{\"runtimeerror\":[\"Jan 18\",1]}'/>"}}