2010-06-21 4 views
6

Ce qui suit est mon environnement:rake échoue avec "timer virtuel a expiré"

  • OS X 10.5
  • Xcode 3.1.4
  • RVM 0.1.38
  • rubis 1.8.9-p399 (via RVM)
  • rails 2.3.8

j'ai commencé à obtenir cette erreur quand rake tente d'exécuter mes tests:

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

Et avec suivi activé:

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$ 
+0

Merci beaucoup pour fournir les spécifications de votre système! Beaucoup d'affiches oublient de le faire. – mcandre

Répondre

15

On dirait qu'il ya un problème dans le rubis, rev23993 causes Virtual Timer Expired when forking, qui à son tour déclenche l'erreur dans la mysql bijou.

La solution pratique semble être à dévalorisent la gemme de mysql 2.8.1 à la version 2.7:

#environment.rb 
config.gem 'mysql', :version => '2.7' 
+0

À partir de 2011 Q1, je recommanderais tout le monde à l'utilisateur Bundler (http://gembundler.com/) de préférence à 'config.gem'. – conny