strange mysql/webrick issue with rails 3.2.8 and ruby 1.8.7

got a strange issue on my development local machine, webrick idle http://0.0.0.0:3000 at …/statuses url link of rails welcome aboard page, and I can’t see rails logo, seems a mysql2 connection fault, from my local machine I hit a remote mysql database, but I verified mysql remote access to my remote server, it’s ok, verified socket, ok, no firewall blocks, etc.

and when I try to close webrick can’t shutdown with ctrl-C, I have to hit ctrl-C and ctrl-Z to shutdown correctly.

OS independent, same issue, same setup - Aptana Studio 3, rails 3.2.8, ruby 1.8.7 - on CentOS 6.5 and Ubuntu 12.04

BUT NO ISSUE with a different setup - rails 3.2.8 and ruby 1.9.2 (or 2.x) -

what’s up?

I need my project working with ruby 1.8.7 because of phusion passenger dependencies on my RHEL server

I think you need to give us some clues. I don't understand what you mean by 'can't see rails logo'. Are there any errors in the server terminal window or the rails log?

Colin

Hi Colin

rails server

=> Booting WEBrick => Rails 3.2.8 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2014-02-27 03:37:20] INFO WEBrick 1.3.1 [2014-02-27 03:37:20] INFO ruby 1.8.7 (2011-06-30) [i686-linux] [2014-02-27 03:37:25] INFO WEBrick::HTTPServer#start: pid=12143 port=3000

development.log is

Started GET “/assets/rails.png” for 127.0.0.1 at Thu Feb 27 03:44:29 +0100 2014 Connecting to database specified by database.yml

database.yml fragment is

development: adapter: mysql2 host: port: 3306 encoding: utf8 reconnect: false database: rails32801blog_development pool: 5 username: password: socket: /var/lib/mysql/mysql.sock

browser idle at http://0.0.0.0:3000/

can’t see rails logo (can’t load assets) of welcome aboard page

can’t hit url http://0.0.0.0:3000/rails/info/properties

plus - can’t properly shutdown webrick with ctrl-C

setup is ruby 1.8.7 and rails 3.2.8

same app with different setup (ruby 1.9.2 and rails 3.2.8) is fully working, so I think issue is related to ruby 1.8.7 + rails 3.2.8 setup

Hi Colin

rails server

=> Booting WEBrick => Rails 3.2.8 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2014-02-27 03:37:20] INFO WEBrick 1.3.1 [2014-02-27 03:37:20] INFO ruby 1.8.7 (2011-06-30) [i686-linux] [2014-02-27 03:37:25] INFO WEBrick::HTTPServer#start: pid=12143 port=3000

development.log is

Started GET "/assets/rails.png" for 127.0.0.1 at Thu Feb 27 03:44:29 +0100 2014 Connecting to database specified by database.yml

Please don't top post it makes it difficult to follow the thread, post your reply inline at appropriate points, thanks.

If there is nothing else after that then I suggest it is hanging trying to access the mysql server. Have you tried leaving it for some minutes to see if something eventually times out and gives you some more clues? Are there any mysql logs on the server that might be useful?

You said, I think, that it works ok with a later version of ruby. Perhaps the mysql2 adaptor you are using is ruby version specific.

Colin

It would be unusual to provide both a socket and a host. Perhaps the connection is blocked (firewall etc) and ruby is waiting in vain for the connection to open?

Fred

Don’t know, Fred, it’s a rebus, I can connect correctly with a different setup (ruby 1.9.2 + rails 3.2.8), can’t connect with ruby 1.8.7 + rails 3.2.8, so I think it’s not a mysql/firewall misconfiguration, it’s an issue related to ruby version

waited for some minutes, no way, browser is hanging indefinetely,

mysql error log report

140224 01:19:52 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 140224 01:19:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 140224 1:19:53 InnoDB: Initializing buffer pool, size = 8.0M 140224 1:19:53 InnoDB: Completed initialization of buffer pool 140224 1:19:53 InnoDB: Started; log sequence number 0 255851 140224 1:19:53 [Note] Event Scheduler: Loaded 0 events 140224 1:19:53 [Note] /usr/libexec/mysqld: ready for connections. Version: ‘5.1.73’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 Source distribution 140224 1:59:26 [Note] /usr/libexec/mysqld: Normal shutdown

so no errors, nothing strange

mysql2 gem version on my local development machine is 0.3.11

You could try with the latest version of mysql, or drop back to 0.2. Perhaps there were issues with 0.3.11 and ruby 1.8.7. Possibly a long shot but worth a try.

Colin

progress, thank you Colin

installed gem mysql2 version 0.2

now I can hit http://0.0.0.0:3000/rails/info/properties

I get an error ActiveRecord::ConnectionNotEstablished

activerecord gem version is 3.2.8

development.log reports

Started GET “/assets/rails.png” for 127.0.0.1 at Fri Feb 28 18:39:40 +0100 2014 Connecting to database specified by database.yml

ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished): activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:404:in retrieve_connection' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_specification.rb:170:in retrieve_connection’ activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_specification.rb:144:in connection' activerecord (3.2.8) lib/active_record/query_cache.rb:67:in call’ activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in call' actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in call’ activesupport (3.2.8) lib/active_support/callbacks.rb:405:in _run__72693120__call__4__callbacks' activesupport (3.2.8) lib/active_support/callbacks.rb:405:in send’ activesupport (3.2.8) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.8) lib/active_support/callbacks.rb:385:in _run_call_callbacks’ activesupport (3.2.8) lib/active_support/callbacks.rb:81:in send' activesupport (3.2.8) lib/active_support/callbacks.rb:81:in run_callbacks’ actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in call' actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:65:in call’ actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in call' actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in call’ actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in call' railties (3.2.8) lib/rails/rack/logger.rb:26:in call_app’ railties (3.2.8) lib/rails/rack/logger.rb:16:in call' actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in call’ rack (1.4.1) lib/rack/methodoverride.rb:21:in call' rack (1.4.1) lib/rack/runtime.rb:17:in call’ activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in call' rack (1.4.1) lib/rack/lock.rb:15:in call’ actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in call' railties (3.2.8) lib/rails/engine.rb:479:in call’ railties (3.2.8) lib/rails/application.rb:223:in call' rack (1.4.1) lib/rack/content_length.rb:14:in call’ railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in call' rack (1.4.1) lib/rack/handler/webrick.rb:59:in service’ /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in run’ /usr/lib/ruby/1.8/webrick/server.rb:173:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in start’ /usr/lib/ruby/1.8/webrick/server.rb:162:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in start’ /usr/lib/ruby/1.8/webrick/server.rb:92:in each' /usr/lib/ruby/1.8/webrick/server.rb:92:in start’ /usr/lib/ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:in start’ rack (1.4.1) lib/rack/handler/webrick.rb:13:in run' rack (1.4.1) lib/rack/server.rb:265:in start’ railties (3.2.8) lib/rails/commands/server.rb:70:in start' railties (3.2.8) lib/rails/commands.rb:55 railties (3.2.8) lib/rails/commands.rb:50:in tap’ railties (3.2.8) lib/rails/commands.rb:50 script/rails:6:in `require’ script/rails:6

Rendered /var/lib/gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.5ms)

Rendered /var/lib/gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.7ms) Rendered /var/lib/gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (12.5ms)

Started GET “/rails/info/properties” for 127.0.0.1 at Fri Feb 28 18:39:42 +0100 2014

ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished): activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:404:in retrieve_connection' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_specification.rb:170:in retrieve_connection’ activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_specification.rb:144:in connection' activerecord (3.2.8) lib/active_record/query_cache.rb:67:in call’ activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in call' actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in call’ activesupport (3.2.8) lib/active_support/callbacks.rb:405:in _run__72693120__call__4__callbacks' activesupport (3.2.8) lib/active_support/callbacks.rb:405:in send’ activesupport (3.2.8) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.8) lib/active_support/callbacks.rb:385:in _run_call_callbacks’ activesupport (3.2.8) lib/active_support/callbacks.rb:81:in send' activesupport (3.2.8) lib/active_support/callbacks.rb:81:in run_callbacks’ actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in call' actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:65:in call’ actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in call' actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in call’ actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in call' railties (3.2.8) lib/rails/rack/logger.rb:26:in call_app’ railties (3.2.8) lib/rails/rack/logger.rb:16:in call' actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in call’ rack (1.4.1) lib/rack/methodoverride.rb:21:in call' rack (1.4.1) lib/rack/runtime.rb:17:in call’ activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in call' rack (1.4.1) lib/rack/lock.rb:15:in call’ actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in call' railties (3.2.8) lib/rails/engine.rb:479:in call’ railties (3.2.8) lib/rails/application.rb:223:in call' rack (1.4.1) lib/rack/content_length.rb:14:in call’ railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in call' rack (1.4.1) lib/rack/handler/webrick.rb:59:in service’ /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in run’ /usr/lib/ruby/1.8/webrick/server.rb:173:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in start’ /usr/lib/ruby/1.8/webrick/server.rb:162:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in start’ /usr/lib/ruby/1.8/webrick/server.rb:92:in each' /usr/lib/ruby/1.8/webrick/server.rb:92:in start’ /usr/lib/ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:in start’ rack (1.4.1) lib/rack/handler/webrick.rb:13:in run' rack (1.4.1) lib/rack/server.rb:265:in start’ railties (3.2.8) lib/rails/commands/server.rb:70:in start' railties (3.2.8) lib/rails/commands.rb:55 railties (3.2.8) lib/rails/commands.rb:50:in tap’ railties (3.2.8) lib/rails/commands.rb:50 script/rails:6:in `require’ script/rails:6

Rendered /var/lib/gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.5ms)

Rendered /var/lib/gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms) Rendered /var/lib/gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (10.7ms)

It’s been a while since I last struggled with the 1.8.7 / 1.9 ruby transition with rails 3 and mysql but I’m wondering. Is it possible you have a version issue in the ‘gem install…’ sequence that’s causing your rails app not to connect to mysql?