Bug de Eclipse Helios para Mac OS X

Me ha pasado ya un par de veces que arranco el Eclipse Helios y se me acaba colgando el Mac.

Finalmente detecté lo que pasaba: se empiezan a generar montones de mensajes al log y el proceso DirectoryService se come la CPU. Lo he posteado en los foros de soporte de Apple, pero me han dado una respuesta estándar.

Mirando los logs en /var/log/system.log se comprueba que el problema es que el mDNSResponder se queda sin descriptores de ficheros, eso genera montones de mensajes de error que el DirectoryService encola y encola, y encola, hasta el infinito.

Como el log está saturado, cualquier operación como un “sudo”, abrir una ventana, etc se queda bloqueada, esperando que el log se quede libre para escribir en él.

Afortunadamente, el otro dia descubrí una solución, algo extraña, y que tengo que verificar, pero que creo que funcionará:

  1. Matar el proceso de eclipse desde la linea de comandos. Como este proceso se ejecuta con los permisos del usuario actual, no hace falta hacer sudo y se muere.
  2. Intentar matar el proceso DirectoryService, con un comando sudo killall DirectoryService. El comando se va a quedar “colgado”, esperando que el log se libere.
  3. Poner el ordenador en stand-by
  4. Tras arrancar del stand-by, los procesos colgados se liberan y se recupera el control.