Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rake fails with "Virtual timer expired"

The following is my environment:

  • OS X 10.5
  • Xcode 3.1.4
  • rvm 0.1.38
  • ruby 1.8.9-p399 (via rvm)
  • rails 2.3.8

I started getting this error when rake tries to run my tests:

bash$ rake
Virtual timer expired
bash$  # End of output!

And with tracing enabled:

bash$ rake --trace
** Invoke default (first_time)
** Invoke test (first_time)
** Execute test
** Invoke test:units (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment 
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment 
** Execute db:schema:load
Virtual timer expired
bash$
like image 715
conny Avatar asked Jun 21 '10 15:06

conny


1 Answers

It looks like there is an problem in ruby, rev23993 causes Virtual Timer Expired when forking, which in turn triggers the error inside the mysql gem.

The practical workaround seems to be to downgrade the mysql gem from 2.8.1 to version 2.7:

#environment.rb
config.gem 'mysql', :version => '2.7'
like image 166
conny Avatar answered Nov 12 '22 20:11

conny